aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Dvorak <dvorakz@suse.cz>2005-09-02 17:04:42 +0000
committerZdenek Dvorak <dvorakz@suse.cz>2005-09-02 17:04:42 +0000
commit74ab3f8a30a959b938acbd2d911fb7a69e68302f (patch)
tree506a64bb3e01bc2af7a098199077d5a91491e84b
parent68790ffde25eb6be9e0e691b466cf5276f3cfc99 (diff)
Merge from mainline (killloop-merge-20050902).
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/killloop-branch@103787 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--ChangeLog69
-rw-r--r--MAINTAINERS8
-rw-r--r--Makefile.def2
-rw-r--r--Makefile.in109
-rw-r--r--Makefile.tpl106
-rw-r--r--config/ChangeLog11
-rw-r--r--config/acx.m488
-rw-r--r--config/mt-gnu2
-rwxr-xr-xconfigure1507
-rw-r--r--configure.in186
-rw-r--r--contrib/ChangeLog8
-rwxr-xr-xcontrib/analyze_brprob4
-rwxr-xr-xcontrib/gcc_build4
-rwxr-xr-xcontrib/gcc_update2
-rwxr-xr-xcontrib/gennews4
-rwxr-xr-xcontrib/reghunt/reg_periodic4
-rwxr-xr-xcontrib/reghunt/reg_search4
-rwxr-xr-xcontrib/regression/btest-gcc.sh2
-rwxr-xr-xcontrib/regression/objs-gcc.sh2
-rwxr-xr-xcontrib/texi2pod.pl4
-rw-r--r--fixincludes/ChangeLog4
-rw-r--r--fixincludes/Makefile.in4
-rw-r--r--fixincludes/fixfixes.c4
-rwxr-xr-xfixincludes/fixinc.in4
-rw-r--r--fixincludes/fixincl.c4
-rw-r--r--fixincludes/fixincl.x4
-rw-r--r--fixincludes/fixlib.c4
-rw-r--r--fixincludes/fixlib.h4
-rw-r--r--fixincludes/fixopts.c4
-rw-r--r--fixincludes/fixtests.c4
-rwxr-xr-xfixincludes/genfixes4
-rw-r--r--fixincludes/mkheaders.in4
-rw-r--r--fixincludes/procopen.c4
-rw-r--r--fixincludes/server.c4
-rw-r--r--fixincludes/server.h4
-rw-r--r--fixincludes/system.h4
-rw-r--r--fixincludes/tests/base/math.h5
-rw-r--r--fixincludes/tests/base/string.h2
-rw-r--r--gcc/ChangeLog2738
-rw-r--r--gcc/ChangeLog.killloop4
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/Makefile.in90
-rw-r--r--gcc/aclocal.m421
-rw-r--r--gcc/ada/ChangeLog59
-rw-r--r--gcc/ada/adaint.c4
-rw-r--r--gcc/ada/decl.c20
-rw-r--r--gcc/ada/fe.h2
-rw-r--r--gcc/ada/init.c143
-rw-r--r--gcc/ada/initialize.c2
-rw-r--r--gcc/ada/s-stalib.adb15
-rw-r--r--gcc/ada/system-linux-alpha.ads2
-rw-r--r--gcc/ada/trans.c26
-rw-r--r--gcc/ada/utils.c4
-rw-r--r--gcc/bb-reorder.c12
-rw-r--r--gcc/bitmap.c6
-rw-r--r--gcc/builtins.c267
-rw-r--r--gcc/c-common.c138
-rw-r--r--gcc/c-cppbuiltin.c4
-rw-r--r--gcc/c-decl.c47
-rw-r--r--gcc/c-parser.c1
-rw-r--r--gcc/c-typeck.c115
-rw-r--r--gcc/calls.c5
-rw-r--r--gcc/cfg.c53
-rw-r--r--gcc/cfgcleanup.c2
-rw-r--r--gcc/cfgexpand.c4
-rw-r--r--gcc/cfghooks.c7
-rw-r--r--gcc/cfghooks.h2
-rw-r--r--gcc/cfglayout.c14
-rw-r--r--gcc/cfglayout.h3
-rw-r--r--gcc/cfgloop.h4
-rw-r--r--gcc/cfgloopmanip.c93
-rw-r--r--gcc/cfgrtl.c12
-rw-r--r--gcc/cgraph.c23
-rw-r--r--gcc/cgraph.h11
-rw-r--r--gcc/cgraphunit.c139
-rw-r--r--gcc/collect2.c20
-rw-r--r--gcc/combine.c81
-rw-r--r--gcc/common.opt26
-rw-r--r--gcc/config.gcc63
-rw-r--r--gcc/config.in12
-rw-r--r--gcc/config/alpha/alpha.c16
-rw-r--r--gcc/config/alpha/alpha.h7
-rw-r--r--gcc/config/alpha/linux.h2
-rw-r--r--gcc/config/alpha/predicates.md5
-rw-r--r--gcc/config/arc/arc.h2
-rw-r--r--gcc/config/arm/arm-protos.h7
-rw-r--r--gcc/config/arm/arm.c182
-rw-r--r--gcc/config/arm/arm.h32
-rw-r--r--gcc/config/arm/arm.md410
-rw-r--r--gcc/config/arm/freebsd.h1
-rw-r--r--gcc/config/arm/ieee754-df.S2
-rw-r--r--gcc/config/arm/ieee754-sf.S2
-rw-r--r--gcc/config/arm/lib1funcs.asm6
-rw-r--r--gcc/config/arm/libgcc-bpabi.ver6
-rw-r--r--gcc/config/arm/linux-elf.h2
-rw-r--r--gcc/config/arm/t-bpabi3
-rw-r--r--gcc/config/avr/avr.c6
-rw-r--r--gcc/config/bfin/bfin.c12
-rw-r--r--gcc/config/bfin/bfin.h2
-rw-r--r--gcc/config/bfin/elf.h2
-rw-r--r--gcc/config/bfin/uclinux.h2
-rw-r--r--gcc/config/c4x/c4x.h2
-rw-r--r--gcc/config/crx/crx-protos.h12
-rw-r--r--gcc/config/crx/crx.c739
-rw-r--r--gcc/config/crx/crx.h28
-rw-r--r--gcc/config/crx/crx.md120
-rw-r--r--gcc/config/crx/crx.opt7
-rw-r--r--gcc/config/darwin.c68
-rw-r--r--gcc/config/darwin.h23
-rw-r--r--gcc/config/fr30/fr30.h2
-rw-r--r--gcc/config/frv/frv.c458
-rw-r--r--gcc/config/frv/frv.h11
-rw-r--r--gcc/config/frv/frv.md44
-rw-r--r--gcc/config/frv/frv.opt4
-rw-r--r--gcc/config/h8300/h8300.h2
-rw-r--r--gcc/config/host-linux.c9
-rw-r--r--gcc/config/i386/cygming.h7
-rw-r--r--gcc/config/i386/freebsd.h1
-rw-r--r--gcc/config/i386/freebsd64.h1
-rw-r--r--gcc/config/i386/i386-interix.h1
-rw-r--r--gcc/config/i386/i386-protos.h5
-rw-r--r--gcc/config/i386/i386.c391
-rw-r--r--gcc/config/i386/i386.h18
-rw-r--r--gcc/config/i386/i386.md55
-rw-r--r--gcc/config/i386/i386.opt4
-rw-r--r--gcc/config/i386/linux.h6
-rw-r--r--gcc/config/i386/linux64.h6
-rw-r--r--gcc/config/i386/netware.h2
-rw-r--r--gcc/config/i386/predicates.md37
-rw-r--r--gcc/config/i386/sco5.h2
-rw-r--r--gcc/config/i386/sse.md8
-rw-r--r--gcc/config/i386/t-linux643
-rw-r--r--gcc/config/i386/t-mingw323
-rw-r--r--gcc/config/i386/t-vxworks10
-rw-r--r--gcc/config/i386/vxworks.h105
-rw-r--r--gcc/config/i386/x-cygwin2
-rw-r--r--gcc/config/i386/x86-64.h13
-rw-r--r--gcc/config/ia64/freebsd.h1
-rw-r--r--gcc/config/ia64/hpux.h10
-rw-r--r--gcc/config/ia64/ia64-protos.h1
-rw-r--r--gcc/config/ia64/ia64.c57
-rw-r--r--gcc/config/ia64/ia64.h33
-rw-r--r--gcc/config/ia64/ia64.md279
-rw-r--r--gcc/config/ia64/itanium1.md8
-rw-r--r--gcc/config/ia64/itanium2.md10
-rw-r--r--gcc/config/ia64/lib1funcs.asm24
-rw-r--r--gcc/config/iq2000/iq2000.c4
-rw-r--r--gcc/config/linux.h2
-rw-r--r--gcc/config/m32c/m32c.c32
-rw-r--r--gcc/config/m32c/mov.md8
-rw-r--r--gcc/config/m32r/m32r.c2
-rw-r--r--gcc/config/m68hc11/m68hc11.h2
-rw-r--r--gcc/config/mcore/mcore.h10
-rw-r--r--gcc/config/mips/cross64.h34
-rw-r--r--gcc/config/mips/mips.c75
-rw-r--r--gcc/config/mips/mips.h10
-rw-r--r--gcc/config/mips/mips.md3
-rw-r--r--gcc/config/mips/openbsd.h2
-rw-r--r--gcc/config/mips/predicates.md6
-rw-r--r--gcc/config/mips/t-cross6412
-rw-r--r--gcc/config/mn10300/mn10300.h2
-rw-r--r--gcc/config/pa/linux-unwind.h6
-rw-r--r--gcc/config/pa/pa.c2
-rw-r--r--gcc/config/pa/pa.h2
-rw-r--r--gcc/config/pa/pa64-regs.h2
-rw-r--r--gcc/config/pdp11/pdp11.h2
-rw-r--r--gcc/config/ptx4.h2
-rw-r--r--gcc/config/rs6000/aix52.h2
-rw-r--r--gcc/config/rs6000/altivec.md624
-rw-r--r--gcc/config/rs6000/darwin.h1
-rw-r--r--gcc/config/rs6000/linux-unwind.h2
-rw-r--r--gcc/config/rs6000/predicates.md158
-rw-r--r--gcc/config/rs6000/rs6000-protos.h5
-rw-r--r--gcc/config/rs6000/rs6000.c619
-rw-r--r--gcc/config/rs6000/rs6000.h38
-rw-r--r--gcc/config/rs6000/rs6000.md1282
-rw-r--r--gcc/config/rs6000/sysv4.h1
-rw-r--r--gcc/config/rs6000/sysv4.opt2
-rw-r--r--gcc/config/rs6000/t-vxworks15
-rw-r--r--gcc/config/rs6000/vxworks.h191
-rw-r--r--gcc/config/s390/2084.md56
-rw-r--r--gcc/config/s390/linux.h6
-rw-r--r--gcc/config/s390/predicates.md56
-rw-r--r--gcc/config/s390/s390-protos.h1
-rw-r--r--gcc/config/s390/s390.c267
-rw-r--r--gcc/config/s390/s390.h15
-rw-r--r--gcc/config/s390/s390.md731
-rw-r--r--gcc/config/sh/sh.c176
-rw-r--r--gcc/config/sh/sh.h2
-rw-r--r--gcc/config/sol2.h2
-rw-r--r--gcc/config/sparc/freebsd.h3
-rw-r--r--gcc/config/sparc/linux.h2
-rw-r--r--gcc/config/sparc/linux64.h2
-rw-r--r--gcc/config/sparc/sparc.h2
-rw-r--r--gcc/config/stormy16/stormy16-lib2.c49
-rw-r--r--gcc/config/stormy16/stormy16-protos.h1
-rw-r--r--gcc/config/stormy16/stormy16.c114
-rw-r--r--gcc/config/stormy16/stormy16.h10
-rw-r--r--gcc/config/t-vxworks11
-rw-r--r--gcc/config/v850/lib1funcs.asm543
-rw-r--r--gcc/config/v850/v850.c9
-rw-r--r--gcc/config/v850/v850.h16
-rw-r--r--gcc/config/v850/v850.md128
-rw-r--r--gcc/config/vax/vax.h2
-rw-r--r--gcc/config/vxlib.c195
-rw-r--r--gcc/config/vxworks.h131
-rwxr-xr-xgcc/configure86
-rw-r--r--gcc/configure.ac27
-rw-r--r--gcc/convert.c6
-rw-r--r--gcc/coverage.c26
-rw-r--r--gcc/coverage.h2
-rw-r--r--gcc/cp/ChangeLog217
-rw-r--r--gcc/cp/call.c10
-rw-r--r--gcc/cp/class.c9
-rw-r--r--gcc/cp/cp-tree.h7
-rw-r--r--gcc/cp/decl.c42
-rw-r--r--gcc/cp/decl2.c19
-rw-r--r--gcc/cp/init.c122
-rw-r--r--gcc/cp/method.c3
-rw-r--r--gcc/cp/name-lookup.c241
-rw-r--r--gcc/cp/parser.c19
-rw-r--r--gcc/cp/pt.c152
-rw-r--r--gcc/cp/ptree.c8
-rw-r--r--gcc/cp/semantics.c4
-rw-r--r--gcc/cp/typeck.c16
-rw-r--r--gcc/cp/typeck2.c2
-rw-r--r--gcc/cse.c65
-rw-r--r--gcc/cselib.c15
-rw-r--r--gcc/defaults.h11
-rw-r--r--gcc/df.c1
-rw-r--r--gcc/doc/contrib.texi3
-rw-r--r--gcc/doc/cpp.texi9
-rw-r--r--gcc/doc/extend.texi14
-rw-r--r--gcc/doc/fragments.texi6
-rw-r--r--gcc/doc/gcov.texi2
-rw-r--r--gcc/doc/install.texi53
-rw-r--r--gcc/doc/invoke.texi253
-rw-r--r--gcc/doc/md.texi99
-rw-r--r--gcc/doc/rtl.texi6
-rw-r--r--gcc/doc/tm.texi19
-rw-r--r--gcc/dwarf2out.c97
-rw-r--r--gcc/emit-rtl.c52
-rw-r--r--gcc/except.c4
-rw-r--r--gcc/explow.c12
-rw-r--r--gcc/expr.c112
-rw-r--r--gcc/final.c4
-rw-r--r--gcc/flow.c30
-rw-r--r--gcc/fold-const.c203
-rw-r--r--gcc/fortran/ChangeLog247
-rw-r--r--gcc/fortran/array.c2
-rw-r--r--gcc/fortran/check.c32
-rw-r--r--gcc/fortran/decl.c34
-rw-r--r--gcc/fortran/dump-parse-tree.c8
-rw-r--r--gcc/fortran/expr.c26
-rw-r--r--gcc/fortran/f95-lang.c14
-rw-r--r--gcc/fortran/gfortran.h53
-rw-r--r--gcc/fortran/gfortran.texi11
-rw-r--r--gcc/fortran/intrinsic.c23
-rw-r--r--gcc/fortran/intrinsic.h4
-rw-r--r--gcc/fortran/intrinsic.texi137
-rw-r--r--gcc/fortran/invoke.texi29
-rw-r--r--gcc/fortran/io.c40
-rw-r--r--gcc/fortran/iresolve.c92
-rw-r--r--gcc/fortran/lang.opt20
-rw-r--r--gcc/fortran/match.c1
-rw-r--r--gcc/fortran/match.h1
-rw-r--r--gcc/fortran/module.c22
-rw-r--r--gcc/fortran/options.c114
-rw-r--r--gcc/fortran/parse.c20
-rw-r--r--gcc/fortran/primary.c34
-rw-r--r--gcc/fortran/resolve.c135
-rw-r--r--gcc/fortran/scanner.c131
-rw-r--r--gcc/fortran/st.c1
-rw-r--r--gcc/fortran/trans-array.c6
-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-decl.c40
-rw-r--r--gcc/fortran/trans-expr.c19
-rw-r--r--gcc/fortran/trans-intrinsic.c1
-rw-r--r--gcc/fortran/trans-io.c24
-rw-r--r--gcc/fortran/trans-stmt.c51
-rw-r--r--gcc/fortran/trans-stmt.h1
-rw-r--r--gcc/fortran/trans-types.c3
-rw-r--r--gcc/fortran/trans-types.h2
-rw-r--r--gcc/fortran/trans.c12
-rw-r--r--gcc/fortran/trans.h16
-rw-r--r--gcc/function.c20
-rw-r--r--gcc/function.h5
-rw-r--r--gcc/gcc.c63
-rw-r--r--gcc/genattrtab.c68
-rw-r--r--gcc/genautomata.c2
-rw-r--r--gcc/genrecog.c65
-rw-r--r--gcc/gimple-low.c3
-rw-r--r--gcc/gimplify.c101
-rw-r--r--gcc/global.c9
-rw-r--r--gcc/hwint.h2
-rw-r--r--gcc/integrate.c80
-rw-r--r--gcc/ipa-inline.c149
-rw-r--r--gcc/ipa-pure-const.c15
-rw-r--r--gcc/ipa-type-escape.c2
-rw-r--r--gcc/java/ChangeLog93
-rw-r--r--gcc/java/Make-lang.in5
-rw-r--r--gcc/java/class.c20
-rw-r--r--gcc/java/expr.c136
-rw-r--r--gcc/java/java-gimplify.c16
-rw-r--r--gcc/java/java-tree.h51
-rw-r--r--gcc/java/lang.c9
-rw-r--r--gcc/java/lex.c29
-rw-r--r--gcc/java/parse.y158
-rw-r--r--gcc/java/verify.c1574
-rw-r--r--gcc/jump.c9
-rw-r--r--gcc/lambda-code.c21
-rw-r--r--gcc/lambda.h21
-rw-r--r--gcc/local-alloc.c13
-rw-r--r--gcc/loop-init.c58
-rw-r--r--gcc/loop-invariant.c2
-rw-r--r--gcc/loop-iv.c2
-rw-r--r--gcc/loop-unroll.c15
-rw-r--r--gcc/loop.c358
-rw-r--r--gcc/mips-tfile.c20
-rw-r--r--gcc/mode-switching.c4
-rw-r--r--gcc/modulo-sched.c3
-rw-r--r--gcc/objc/ChangeLog19
-rw-r--r--gcc/objc/objc-act.c73
-rw-r--r--gcc/optabs.c76
-rw-r--r--gcc/optabs.h44
-rw-r--r--gcc/opts.c23
-rw-r--r--gcc/output.h39
-rw-r--r--gcc/params.def34
-rw-r--r--gcc/params.h2
-rw-r--r--gcc/passes.c50
-rw-r--r--gcc/postreload-gcse.c10
-rw-r--r--gcc/predict.c4
-rw-r--r--gcc/predict.def2
-rw-r--r--gcc/pretty-print.h2
-rw-r--r--gcc/print-rtl.c4
-rw-r--r--gcc/print-tree.c10
-rw-r--r--gcc/profile.c103
-rw-r--r--gcc/read-rtl.c2
-rw-r--r--gcc/real.c8
-rw-r--r--gcc/real.h2
-rw-r--r--gcc/recog.c24
-rw-r--r--gcc/recog.h1
-rw-r--r--gcc/reg-stack.c2
-rw-r--r--gcc/regmove.c8
-rw-r--r--gcc/regs.h7
-rw-r--r--gcc/reload.c29
-rw-r--r--gcc/reload1.c146
-rw-r--r--gcc/reorg.c2
-rw-r--r--gcc/rtl.c15
-rw-r--r--gcc/rtl.h31
-rw-r--r--gcc/rtlanal.c1
-rw-r--r--gcc/sched-deps.c118
-rw-r--r--gcc/sched-ebb.c3
-rw-r--r--gcc/sched-int.h1
-rw-r--r--gcc/sched-rgn.c65
-rw-r--r--gcc/simplify-rtx.c40
-rw-r--r--gcc/stmt.c35
-rw-r--r--gcc/stor-layout.c22
-rw-r--r--gcc/system.h15
-rw-r--r--gcc/target-def.h14
-rw-r--r--gcc/testsuite/ChangeLog944
-rw-r--r--gcc/testsuite/g++.dg/bprob/bprob.exp4
-rw-r--r--gcc/testsuite/g++.dg/expr/anew1.C3
-rw-r--r--gcc/testsuite/g++.dg/expr/anew2.C3
-rw-r--r--gcc/testsuite/g++.dg/expr/anew3.C3
-rw-r--r--gcc/testsuite/g++.dg/ext/packed8.C4
-rw-r--r--gcc/testsuite/g++.dg/gcov/gcov-1.C2
-rw-r--r--gcc/testsuite/g++.dg/init/array16.C4
-rw-r--r--gcc/testsuite/g++.dg/init/member1.C5
-rw-r--r--gcc/testsuite/g++.dg/other/crash-4.C7
-rw-r--r--gcc/testsuite/g++.dg/tc1/dr101.C4
-rw-r--r--gcc/testsuite/g++.dg/template/ttp5.C2
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/pr14814.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/13908.C2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp5
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/stdarg-2.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/pr18299-1.c12
-rw-r--r--gcc/testsuite/gcc.dg/20020103-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/20020926-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/20030711-1.c5
-rw-r--r--gcc/testsuite/gcc.dg/altivec-nomfcr.c10
-rw-r--r--gcc/testsuite/gcc.dg/arm-eabi1.c42
-rw-r--r--gcc/testsuite/gcc.dg/builtin-stringop-chk-1.c1
-rw-r--r--gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die1.c2
-rw-r--r--gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die2.c2
-rw-r--r--gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die3.c2
-rw-r--r--gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die5.c2
-rw-r--r--gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die6.c2
-rw-r--r--gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die7.c2
-rw-r--r--gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-uninit.c2
-rw-r--r--gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-macro.c2
-rw-r--r--gcc/testsuite/gcc.dg/intmax_t-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/special/weak-1.c3
-rw-r--r--gcc/testsuite/gcc.dg/torture/builtin-wctype-1.c49
-rw-r--r--gcc/testsuite/gcc.dg/tree-prof/inliner-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp6
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/loop-1.c6
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/vrp17.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-105.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-22.c27
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-35.c16
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-40.c6
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-41.c6
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-42.c10
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-43.c10
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-44.c9
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-46.c6
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-47.c6
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-48.c6
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-52.c6
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-53.c6
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-54.c6
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-55.c6
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-56.c6
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-57.c6
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-58.c6
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-59.c6
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-60.c6
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-61.c6
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-67.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-74.c10
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-75.c6
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-76.c6
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-77.c6
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-78.c6
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-80.c11
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-85.c4
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-87.c4
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-88.c4
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-92.c29
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-93.c5
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect.exp9
-rw-r--r--gcc/testsuite/gcc.misc-tests/bprob.exp4
-rw-r--r--gcc/testsuite/gcc.misc-tests/gcov-4b.c2
-rw-r--r--gcc/testsuite/gcc.target/frv/all-builtin-read16.c11
-rw-r--r--gcc/testsuite/gcc.target/frv/all-builtin-read32.c12
-rw-r--r--gcc/testsuite/gcc.target/frv/all-builtin-read64.c11
-rw-r--r--gcc/testsuite/gcc.target/frv/all-builtin-read8.c11
-rw-r--r--gcc/testsuite/gcc.target/frv/all-builtin-write16.c12
-rw-r--r--gcc/testsuite/gcc.target/frv/all-builtin-write32.c12
-rw-r--r--gcc/testsuite/gcc.target/frv/all-builtin-write64.c12
-rw-r--r--gcc/testsuite/gcc.target/frv/all-builtin-write8.c12
-rw-r--r--gcc/testsuite/gcc.target/mips/mips32-dsp-type.c2
-rw-r--r--gcc/testsuite/gcc.target/mips/mips32-dsp.c2
-rw-r--r--gcc/testsuite/gfortran.dg/comma_format_extension_4.f2
-rw-r--r--gcc/testsuite/gfortran.dg/der_array_io_1.f904
-rw-r--r--gcc/testsuite/gfortran.dg/der_array_io_2.f904
-rw-r--r--gcc/testsuite/gfortran.dg/der_array_io_3.f904
-rw-r--r--gcc/testsuite/gfortran.dg/eoshift.f902
-rw-r--r--gcc/testsuite/gfortran.dg/matmul_1.f902
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/execute/character_passing.f905
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_count.f902
-rw-r--r--gcc/testsuite/lib/obj-c++.exp52
-rw-r--r--gcc/testsuite/lib/objc-torture.exp47
-rw-r--r--gcc/testsuite/lib/objc.exp4
-rw-r--r--gcc/testsuite/objc.dg/image-info.m2
-rw-r--r--gcc/testsuite/objc.dg/nested-func-1.m38
-rw-r--r--gcc/testsuite/objc.dg/stubify-2.m2
-rw-r--r--gcc/testsuite/objc.dg/try-catch-11.m42
-rw-r--r--gcc/testsuite/objc.dg/try-catch-2.m79
-rw-r--r--gcc/testsuite/objc.dg/try-catch-8.m65
-rw-r--r--gcc/testsuite/treelang/ChangeLog15
-rw-r--r--gcc/testsuite/treelang/a01gcci01.c44
-rw-r--r--gcc/testsuite/treelang/a01gcci01.tree60
-rw-r--r--gcc/testsuite/treelang/a01gcco01runpgm8
-rw-r--r--gcc/testsuite/treelang/treetests.exp307
-rw-r--r--gcc/timevar.def1
-rw-r--r--gcc/toplev.c23
-rw-r--r--gcc/toplev.h1
-rw-r--r--gcc/tracer.c2
-rw-r--r--gcc/tree-cfg.c135
-rw-r--r--gcc/tree-cfgcleanup.c55
-rw-r--r--gcc/tree-chrec.c39
-rw-r--r--gcc/tree-complex.c2
-rw-r--r--gcc/tree-data-ref.c139
-rw-r--r--gcc/tree-data-ref.h1
-rw-r--r--gcc/tree-dfa.c2
-rw-r--r--gcc/tree-dump.c2
-rw-r--r--gcc/tree-flow-inline.h12
-rw-r--r--gcc/tree-flow.h5
-rw-r--r--gcc/tree-if-conv.c20
-rw-r--r--gcc/tree-inline.c366
-rw-r--r--gcc/tree-inline.h7
-rw-r--r--gcc/tree-into-ssa.c4
-rw-r--r--gcc/tree-nested.c73
-rw-r--r--gcc/tree-optimize.c6
-rw-r--r--gcc/tree-outof-ssa.c181
-rw-r--r--gcc/tree-pass.h3
-rw-r--r--gcc/tree-pretty-print.c10
-rw-r--r--gcc/tree-profile.c11
-rw-r--r--gcc/tree-scalar-evolution.c83
-rw-r--r--gcc/tree-sra.c20
-rw-r--r--gcc/tree-ssa-alias.c2
-rw-r--r--gcc/tree-ssa-ccp.c30
-rw-r--r--gcc/tree-ssa-copy.c4
-rw-r--r--gcc/tree-ssa-dce.c2
-rw-r--r--gcc/tree-ssa-dom.c14
-rw-r--r--gcc/tree-ssa-live.c25
-rw-r--r--gcc/tree-ssa-live.h1
-rw-r--r--gcc/tree-ssa-loop-ch.c2
-rw-r--r--gcc/tree-ssa-loop-im.c109
-rw-r--r--gcc/tree-ssa-loop-ivcanon.c64
-rw-r--r--gcc/tree-ssa-loop-ivopts.c41
-rw-r--r--gcc/tree-ssa-loop-niter.c302
-rw-r--r--gcc/tree-ssa-loop-unswitch.c2
-rw-r--r--gcc/tree-ssa-loop.c5
-rw-r--r--gcc/tree-ssa-math-opts.c68
-rw-r--r--gcc/tree-ssa-operands.c8
-rw-r--r--gcc/tree-ssa-structalias.c22
-rw-r--r--gcc/tree-ssa-threadupdate.c4
-rw-r--r--gcc/tree-tailcall.c2
-rw-r--r--gcc/tree-vect-analyze.c19
-rw-r--r--gcc/tree-vect-generic.c18
-rw-r--r--gcc/tree-vect-transform.c87
-rw-r--r--gcc/tree-vectorizer.c28
-rw-r--r--gcc/tree-vectorizer.h3
-rw-r--r--gcc/tree-vrp.c290
-rw-r--r--gcc/tree.c11
-rw-r--r--gcc/tree.def2
-rw-r--r--gcc/tree.h16
-rw-r--r--gcc/treelang/ChangeLog10
-rw-r--r--gcc/treelang/Make-lang.in2
-rw-r--r--gcc/treelang/tree-convert.c6
-rw-r--r--gcc/value-prof.c1078
-rw-r--r--gcc/value-prof.h25
-rw-r--r--gcc/varasm.c94
-rw-r--r--gcc/vec.h2
-rw-r--r--include/ChangeLog11
-rw-r--r--include/floatformat.h11
-rw-r--r--libcpp/ChangeLog7
-rw-r--r--libcpp/files.c76
-rw-r--r--libffi/ChangeLog37
-rwxr-xr-xlibffi/configure35
-rw-r--r--libffi/configure.ac33
-rw-r--r--libffi/fficonfig.h.in19
-rw-r--r--libffi/src/powerpc/ffi.c30
-rw-r--r--libffi/src/powerpc/linux64_closure.S3
-rw-r--r--libffi/src/powerpc/ppc_closure.S4
-rw-r--r--libffi/src/powerpc/sysv.S4
-rw-r--r--libffi/src/x86/ffi.c110
-rw-r--r--libffi/src/x86/sysv.S196
-rw-r--r--libffi/src/x86/win32.S114
-rw-r--r--libgfortran/ChangeLog142
-rw-r--r--libgfortran/Makefile.am6
-rw-r--r--libgfortran/Makefile.in40
-rw-r--r--libgfortran/acinclude.m435
-rw-r--r--libgfortran/aclocal.m4334
-rw-r--r--libgfortran/c99_protos.h4
-rw-r--r--libgfortran/config.h.in3
-rwxr-xr-xlibgfortran/configure383
-rw-r--r--libgfortran/configure.ac3
-rw-r--r--libgfortran/generated/_abs_c4.f904
-rw-r--r--libgfortran/generated/_abs_c8.f904
-rw-r--r--libgfortran/generated/_abs_i4.f904
-rw-r--r--libgfortran/generated/_abs_i8.f904
-rw-r--r--libgfortran/generated/_abs_r4.f904
-rw-r--r--libgfortran/generated/_abs_r8.f904
-rw-r--r--libgfortran/generated/_acos_r4.f904
-rw-r--r--libgfortran/generated/_acos_r8.f904
-rw-r--r--libgfortran/generated/_aint_r4.f904
-rw-r--r--libgfortran/generated/_aint_r8.f904
-rw-r--r--libgfortran/generated/_anint_r4.f904
-rw-r--r--libgfortran/generated/_anint_r8.f904
-rw-r--r--libgfortran/generated/_asin_r4.f904
-rw-r--r--libgfortran/generated/_asin_r8.f904
-rw-r--r--libgfortran/generated/_atan2_r4.f904
-rw-r--r--libgfortran/generated/_atan2_r8.f904
-rw-r--r--libgfortran/generated/_atan_r4.f904
-rw-r--r--libgfortran/generated/_atan_r8.f904
-rw-r--r--libgfortran/generated/_conjg_c4.f904
-rw-r--r--libgfortran/generated/_conjg_c8.f904
-rw-r--r--libgfortran/generated/_cos_c4.f904
-rw-r--r--libgfortran/generated/_cos_c8.f904
-rw-r--r--libgfortran/generated/_cos_r4.f904
-rw-r--r--libgfortran/generated/_cos_r8.f904
-rw-r--r--libgfortran/generated/_cosh_r4.f904
-rw-r--r--libgfortran/generated/_cosh_r8.f904
-rw-r--r--libgfortran/generated/_dim_i4.f904
-rw-r--r--libgfortran/generated/_dim_i8.f904
-rw-r--r--libgfortran/generated/_dim_r4.f904
-rw-r--r--libgfortran/generated/_dim_r8.f904
-rw-r--r--libgfortran/generated/_exp_c4.f904
-rw-r--r--libgfortran/generated/_exp_c8.f904
-rw-r--r--libgfortran/generated/_exp_r4.f904
-rw-r--r--libgfortran/generated/_exp_r8.f904
-rw-r--r--libgfortran/generated/_log10_r4.f904
-rw-r--r--libgfortran/generated/_log10_r8.f904
-rw-r--r--libgfortran/generated/_log_c4.f904
-rw-r--r--libgfortran/generated/_log_c8.f904
-rw-r--r--libgfortran/generated/_log_r4.f904
-rw-r--r--libgfortran/generated/_log_r8.f904
-rw-r--r--libgfortran/generated/_mod_i4.f904
-rw-r--r--libgfortran/generated/_mod_i8.f904
-rw-r--r--libgfortran/generated/_mod_r4.f904
-rw-r--r--libgfortran/generated/_mod_r8.f904
-rw-r--r--libgfortran/generated/_sign_i4.f904
-rw-r--r--libgfortran/generated/_sign_i8.f904
-rw-r--r--libgfortran/generated/_sign_r4.f904
-rw-r--r--libgfortran/generated/_sign_r8.f904
-rw-r--r--libgfortran/generated/_sin_c4.f904
-rw-r--r--libgfortran/generated/_sin_c8.f904
-rw-r--r--libgfortran/generated/_sin_r4.f904
-rw-r--r--libgfortran/generated/_sin_r8.f904
-rw-r--r--libgfortran/generated/_sinh_r4.f904
-rw-r--r--libgfortran/generated/_sinh_r8.f904
-rw-r--r--libgfortran/generated/_sqrt_c4.f904
-rw-r--r--libgfortran/generated/_sqrt_c8.f904
-rw-r--r--libgfortran/generated/_sqrt_r4.f904
-rw-r--r--libgfortran/generated/_sqrt_r8.f904
-rw-r--r--libgfortran/generated/_tan_r4.f904
-rw-r--r--libgfortran/generated/_tan_r8.f904
-rw-r--r--libgfortran/generated/_tanh_r4.f904
-rw-r--r--libgfortran/generated/_tanh_r8.f904
-rw-r--r--libgfortran/generated/all_l4.c4
-rw-r--r--libgfortran/generated/all_l8.c4
-rw-r--r--libgfortran/generated/any_l4.c4
-rw-r--r--libgfortran/generated/any_l8.c4
-rw-r--r--libgfortran/generated/count_4_l4.c4
-rw-r--r--libgfortran/generated/count_4_l8.c4
-rw-r--r--libgfortran/generated/count_8_l4.c4
-rw-r--r--libgfortran/generated/count_8_l8.c4
-rw-r--r--libgfortran/generated/cshift1_4.c4
-rw-r--r--libgfortran/generated/cshift1_8.c4
-rw-r--r--libgfortran/generated/dotprod_c4.c4
-rw-r--r--libgfortran/generated/dotprod_c8.c4
-rw-r--r--libgfortran/generated/dotprod_i4.c4
-rw-r--r--libgfortran/generated/dotprod_i8.c4
-rw-r--r--libgfortran/generated/dotprod_l4.c4
-rw-r--r--libgfortran/generated/dotprod_l8.c4
-rw-r--r--libgfortran/generated/dotprod_r4.c4
-rw-r--r--libgfortran/generated/dotprod_r8.c4
-rw-r--r--libgfortran/generated/eoshift1_4.c4
-rw-r--r--libgfortran/generated/eoshift1_8.c4
-rw-r--r--libgfortran/generated/eoshift3_4.c4
-rw-r--r--libgfortran/generated/eoshift3_8.c4
-rw-r--r--libgfortran/generated/exp_c4.c4
-rw-r--r--libgfortran/generated/exp_c8.c4
-rw-r--r--libgfortran/generated/exponent_r4.c4
-rw-r--r--libgfortran/generated/exponent_r8.c4
-rw-r--r--libgfortran/generated/fraction_r4.c4
-rw-r--r--libgfortran/generated/fraction_r8.c4
-rw-r--r--libgfortran/generated/hyp_c4.c4
-rw-r--r--libgfortran/generated/hyp_c8.c4
-rw-r--r--libgfortran/generated/in_pack_c4.c4
-rw-r--r--libgfortran/generated/in_pack_c8.c4
-rw-r--r--libgfortran/generated/in_pack_i4.c4
-rw-r--r--libgfortran/generated/in_pack_i8.c4
-rw-r--r--libgfortran/generated/in_unpack_c4.c4
-rw-r--r--libgfortran/generated/in_unpack_c8.c4
-rw-r--r--libgfortran/generated/in_unpack_i4.c4
-rw-r--r--libgfortran/generated/in_unpack_i8.c4
-rw-r--r--libgfortran/generated/matmul_c4.c4
-rw-r--r--libgfortran/generated/matmul_c8.c4
-rw-r--r--libgfortran/generated/matmul_i4.c4
-rw-r--r--libgfortran/generated/matmul_i8.c4
-rw-r--r--libgfortran/generated/matmul_l4.c4
-rw-r--r--libgfortran/generated/matmul_l8.c4
-rw-r--r--libgfortran/generated/matmul_r4.c4
-rw-r--r--libgfortran/generated/matmul_r8.c4
-rw-r--r--libgfortran/generated/maxloc0_4_i4.c4
-rw-r--r--libgfortran/generated/maxloc0_4_i8.c4
-rw-r--r--libgfortran/generated/maxloc0_4_r4.c4
-rw-r--r--libgfortran/generated/maxloc0_4_r8.c4
-rw-r--r--libgfortran/generated/maxloc0_8_i4.c4
-rw-r--r--libgfortran/generated/maxloc0_8_i8.c4
-rw-r--r--libgfortran/generated/maxloc0_8_r4.c4
-rw-r--r--libgfortran/generated/maxloc0_8_r8.c4
-rw-r--r--libgfortran/generated/maxloc1_4_i4.c4
-rw-r--r--libgfortran/generated/maxloc1_4_i8.c4
-rw-r--r--libgfortran/generated/maxloc1_4_r4.c4
-rw-r--r--libgfortran/generated/maxloc1_4_r8.c4
-rw-r--r--libgfortran/generated/maxloc1_8_i4.c4
-rw-r--r--libgfortran/generated/maxloc1_8_i8.c4
-rw-r--r--libgfortran/generated/maxloc1_8_r4.c4
-rw-r--r--libgfortran/generated/maxloc1_8_r8.c4
-rw-r--r--libgfortran/generated/maxval_i4.c4
-rw-r--r--libgfortran/generated/maxval_i8.c4
-rw-r--r--libgfortran/generated/maxval_r4.c4
-rw-r--r--libgfortran/generated/maxval_r8.c4
-rw-r--r--libgfortran/generated/minloc0_4_i4.c4
-rw-r--r--libgfortran/generated/minloc0_4_i8.c4
-rw-r--r--libgfortran/generated/minloc0_4_r4.c4
-rw-r--r--libgfortran/generated/minloc0_4_r8.c4
-rw-r--r--libgfortran/generated/minloc0_8_i4.c4
-rw-r--r--libgfortran/generated/minloc0_8_i8.c4
-rw-r--r--libgfortran/generated/minloc0_8_r4.c4
-rw-r--r--libgfortran/generated/minloc0_8_r8.c4
-rw-r--r--libgfortran/generated/minloc1_4_i4.c4
-rw-r--r--libgfortran/generated/minloc1_4_i8.c4
-rw-r--r--libgfortran/generated/minloc1_4_r4.c4
-rw-r--r--libgfortran/generated/minloc1_4_r8.c4
-rw-r--r--libgfortran/generated/minloc1_8_i4.c4
-rw-r--r--libgfortran/generated/minloc1_8_i8.c4
-rw-r--r--libgfortran/generated/minloc1_8_r4.c4
-rw-r--r--libgfortran/generated/minloc1_8_r8.c4
-rw-r--r--libgfortran/generated/minval_i4.c4
-rw-r--r--libgfortran/generated/minval_i8.c4
-rw-r--r--libgfortran/generated/minval_r4.c4
-rw-r--r--libgfortran/generated/minval_r8.c4
-rw-r--r--libgfortran/generated/nearest_r4.c4
-rw-r--r--libgfortran/generated/nearest_r8.c4
-rw-r--r--libgfortran/generated/pow_c4_i4.c4
-rw-r--r--libgfortran/generated/pow_c4_i8.c4
-rw-r--r--libgfortran/generated/pow_c8_i4.c4
-rw-r--r--libgfortran/generated/pow_c8_i8.c4
-rw-r--r--libgfortran/generated/pow_i4_i4.c4
-rw-r--r--libgfortran/generated/pow_i4_i8.c4
-rw-r--r--libgfortran/generated/pow_i8_i4.c4
-rw-r--r--libgfortran/generated/pow_i8_i8.c4
-rw-r--r--libgfortran/generated/pow_r4_i4.c4
-rw-r--r--libgfortran/generated/pow_r4_i8.c4
-rw-r--r--libgfortran/generated/pow_r8_i4.c4
-rw-r--r--libgfortran/generated/pow_r8_i8.c4
-rw-r--r--libgfortran/generated/product_c4.c4
-rw-r--r--libgfortran/generated/product_c8.c4
-rw-r--r--libgfortran/generated/product_i4.c4
-rw-r--r--libgfortran/generated/product_i8.c4
-rw-r--r--libgfortran/generated/product_r4.c4
-rw-r--r--libgfortran/generated/product_r8.c4
-rw-r--r--libgfortran/generated/reshape_c4.c4
-rw-r--r--libgfortran/generated/reshape_c8.c4
-rw-r--r--libgfortran/generated/reshape_i4.c4
-rw-r--r--libgfortran/generated/reshape_i8.c4
-rw-r--r--libgfortran/generated/set_exponent_r4.c4
-rw-r--r--libgfortran/generated/set_exponent_r8.c4
-rw-r--r--libgfortran/generated/shape_i4.c4
-rw-r--r--libgfortran/generated/shape_i8.c4
-rw-r--r--libgfortran/generated/sum_c4.c4
-rw-r--r--libgfortran/generated/sum_c8.c4
-rw-r--r--libgfortran/generated/sum_i4.c4
-rw-r--r--libgfortran/generated/sum_i8.c4
-rw-r--r--libgfortran/generated/sum_r4.c4
-rw-r--r--libgfortran/generated/sum_r8.c4
-rw-r--r--libgfortran/generated/transpose_c4.c4
-rw-r--r--libgfortran/generated/transpose_c8.c4
-rw-r--r--libgfortran/generated/transpose_i4.c4
-rw-r--r--libgfortran/generated/transpose_i8.c4
-rw-r--r--libgfortran/generated/trig_c4.c4
-rw-r--r--libgfortran/generated/trig_c8.c4
-rw-r--r--libgfortran/intrinsics/abort.c7
-rw-r--r--libgfortran/intrinsics/args.c4
-rw-r--r--libgfortran/intrinsics/associated.c4
-rw-r--r--libgfortran/intrinsics/bessel.c4
-rw-r--r--libgfortran/intrinsics/c99_functions.c4
-rw-r--r--libgfortran/intrinsics/chdir.c4
-rw-r--r--libgfortran/intrinsics/cpu_time.c4
-rw-r--r--libgfortran/intrinsics/cshift0.c4
-rw-r--r--libgfortran/intrinsics/date_and_time.c4
-rw-r--r--libgfortran/intrinsics/dprod_r8.f904
-rw-r--r--libgfortran/intrinsics/env.c4
-rw-r--r--libgfortran/intrinsics/eoshift0.c4
-rw-r--r--libgfortran/intrinsics/eoshift2.c4
-rw-r--r--libgfortran/intrinsics/erf.c4
-rw-r--r--libgfortran/intrinsics/etime.c4
-rw-r--r--libgfortran/intrinsics/exit.c4
-rw-r--r--libgfortran/intrinsics/f2c_specifics.F904
-rw-r--r--libgfortran/intrinsics/flush.c29
-rw-r--r--libgfortran/intrinsics/fnum.c4
-rw-r--r--libgfortran/intrinsics/gerror.c4
-rw-r--r--libgfortran/intrinsics/getXid.c4
-rw-r--r--libgfortran/intrinsics/getcwd.c4
-rw-r--r--libgfortran/intrinsics/getlog.c4
-rw-r--r--libgfortran/intrinsics/hostnm.c4
-rw-r--r--libgfortran/intrinsics/hyper.c4
-rw-r--r--libgfortran/intrinsics/ierrno.c4
-rw-r--r--libgfortran/intrinsics/ishftc.c4
-rw-r--r--libgfortran/intrinsics/kill.c4
-rw-r--r--libgfortran/intrinsics/link.c4
-rw-r--r--libgfortran/intrinsics/mvbits.c4
-rw-r--r--libgfortran/intrinsics/pack_generic.c4
-rw-r--r--libgfortran/intrinsics/perror.c4
-rw-r--r--libgfortran/intrinsics/rand.c4
-rw-r--r--libgfortran/intrinsics/random.c4
-rw-r--r--libgfortran/intrinsics/rename.c4
-rw-r--r--libgfortran/intrinsics/reshape_generic.c4
-rw-r--r--libgfortran/intrinsics/reshape_packed.c4
-rw-r--r--libgfortran/intrinsics/selected_int_kind.f904
-rw-r--r--libgfortran/intrinsics/selected_real_kind.f904
-rw-r--r--libgfortran/intrinsics/size.c4
-rw-r--r--libgfortran/intrinsics/sleep.c4
-rw-r--r--libgfortran/intrinsics/spread_generic.c4
-rw-r--r--libgfortran/intrinsics/stat.c4
-rw-r--r--libgfortran/intrinsics/string_intrinsics.c4
-rw-r--r--libgfortran/intrinsics/symlnk.c4
-rw-r--r--libgfortran/intrinsics/system.c4
-rw-r--r--libgfortran/intrinsics/system_clock.c4
-rw-r--r--libgfortran/intrinsics/time.c4
-rw-r--r--libgfortran/intrinsics/transpose_generic.c4
-rw-r--r--libgfortran/intrinsics/umask.c4
-rw-r--r--libgfortran/intrinsics/unlink.c4
-rw-r--r--libgfortran/intrinsics/unpack_generic.c4
-rw-r--r--libgfortran/io/backspace.c182
-rw-r--r--libgfortran/io/close.c28
-rw-r--r--libgfortran/io/endfile.c59
-rw-r--r--libgfortran/io/format.c5
-rw-r--r--libgfortran/io/inquire.c4
-rw-r--r--libgfortran/io/io.h19
-rw-r--r--libgfortran/io/list_read.c4
-rw-r--r--libgfortran/io/lock.c6
-rw-r--r--libgfortran/io/open.c4
-rw-r--r--libgfortran/io/read.c53
-rw-r--r--libgfortran/io/rewind.c78
-rw-r--r--libgfortran/io/transfer.c62
-rw-r--r--libgfortran/io/unit.c4
-rw-r--r--libgfortran/io/unix.c25
-rw-r--r--libgfortran/io/write.c29
-rw-r--r--libgfortran/libgfortran.h45
-rw-r--r--libgfortran/m4/all.m44
-rw-r--r--libgfortran/m4/any.m44
-rw-r--r--libgfortran/m4/cexp.m44
-rw-r--r--libgfortran/m4/chyp.m44
-rw-r--r--libgfortran/m4/count.m44
-rw-r--r--libgfortran/m4/cshift1.m44
-rw-r--r--libgfortran/m4/ctrig.m44
-rw-r--r--libgfortran/m4/dotprod.m44
-rw-r--r--libgfortran/m4/dotprodc.m44
-rw-r--r--libgfortran/m4/dotprodl.m44
-rw-r--r--libgfortran/m4/eoshift1.m44
-rw-r--r--libgfortran/m4/eoshift3.m44
-rw-r--r--libgfortran/m4/exponent.m44
-rw-r--r--libgfortran/m4/fraction.m44
-rw-r--r--libgfortran/m4/head.m44
-rw-r--r--libgfortran/m4/in_pack.m44
-rw-r--r--libgfortran/m4/in_unpack.m44
-rw-r--r--libgfortran/m4/matmul.m44
-rw-r--r--libgfortran/m4/matmull.m44
-rw-r--r--libgfortran/m4/maxloc0.m44
-rw-r--r--libgfortran/m4/maxloc1.m44
-rw-r--r--libgfortran/m4/maxval.m44
-rw-r--r--libgfortran/m4/minloc0.m44
-rw-r--r--libgfortran/m4/minloc1.m44
-rw-r--r--libgfortran/m4/minval.m44
-rw-r--r--libgfortran/m4/nearest.m44
-rw-r--r--libgfortran/m4/pow.m44
-rw-r--r--libgfortran/m4/product.m44
-rw-r--r--libgfortran/m4/reshape.m44
-rw-r--r--libgfortran/m4/set_exponent.m44
-rw-r--r--libgfortran/m4/shape.m44
-rw-r--r--libgfortran/m4/sum.m44
-rw-r--r--libgfortran/m4/transpose.m44
-rw-r--r--libgfortran/runtime/environ.c4
-rw-r--r--libgfortran/runtime/error.c30
-rw-r--r--libgfortran/runtime/in_pack_generic.c4
-rw-r--r--libgfortran/runtime/in_unpack_generic.c4
-rw-r--r--libgfortran/runtime/main.c5
-rw-r--r--libgfortran/runtime/memory.c4
-rw-r--r--libgfortran/runtime/normalize.c4
-rw-r--r--libgfortran/runtime/pause.c4
-rw-r--r--libgfortran/runtime/select.c4
-rw-r--r--libgfortran/runtime/stop.c4
-rw-r--r--libgfortran/runtime/string.c4
-rw-r--r--libiberty/ChangeLog20
-rw-r--r--libiberty/floatformat.c34
-rw-r--r--libiberty/strverscmp.c4
-rw-r--r--libiberty/testsuite/Makefile.in4
-rw-r--r--libiberty/testsuite/test-demangle.c2
-rw-r--r--libiberty/testsuite/test-pexecute.c2
-rw-r--r--libjava/ChangeLog112
-rw-r--r--libjava/HACKING24
-rw-r--r--libjava/Makefile.am20
-rw-r--r--libjava/Makefile.in31
-rw-r--r--libjava/acinclude.m437
-rw-r--r--libjava/aclocal.m44
-rw-r--r--libjava/classpath/ChangeLog.gcj27
-rw-r--r--libjava/classpath/Makefile.am2
-rw-r--r--libjava/classpath/Makefile.in1
-rwxr-xr-xlibjava/classpath/configure2
-rw-r--r--libjava/classpath/configure.ac2
-rw-r--r--libjava/classpath/doc/Makefile.am15
-rw-r--r--libjava/classpath/doc/Makefile.in200
-rwxr-xr-xlibjava/classpath/lib/split-for-gcj.sh10
-rwxr-xr-xlibjava/configure29
-rw-r--r--libjava/configure.ac26
-rw-r--r--libjava/configure.host6
-rw-r--r--libjava/gcj/Makefile.in9
-rw-r--r--libjava/gij.cc14
-rw-r--r--libjava/gnu/xml/xpath/XPathParser.y782
-rw-r--r--libjava/include/Makefile.in9
-rw-r--r--libjava/include/jvm.h9
-rw-r--r--libjava/java/lang/Character.java167
-rw-r--r--libjava/java/lang/Class.h2
-rw-r--r--libjava/java/lang/natObject.cc7
-rw-r--r--libjava/link.cc3
-rw-r--r--libjava/stacktrace.cc4
-rw-r--r--libjava/testsuite/Makefile.in9
-rw-r--r--libjava/testsuite/libjava.jacks/jacks.xfail6
-rw-r--r--libmudflap/ChangeLog43
-rw-r--r--libmudflap/config.h.in3
-rwxr-xr-xlibmudflap/configure70
-rw-r--r--libmudflap/configure.ac15
-rw-r--r--libmudflap/mf-heuristics.c13
-rw-r--r--libmudflap/mf-hooks1.c22
-rw-r--r--libmudflap/mf-hooks2.c10
-rw-r--r--libmudflap/mf-hooks3.c59
-rw-r--r--libmudflap/mf-impl.h28
-rw-r--r--libmudflap/mf-runtime.c10
-rw-r--r--libmudflap/mf-runtime.h4
-rw-r--r--libmudflap/testsuite/lib/libmudflap.exp2
-rw-r--r--libmudflap/testsuite/lib/mfdg.exp2
-rw-r--r--libmudflap/testsuite/libmudflap.c/pass-stratcliff.c4
-rw-r--r--libmudflap/testsuite/libmudflap.cth/pass37-frag.c2
-rw-r--r--libmudflap/testsuite/libmudflap.cth/pass39-frag.c2
-rw-r--r--libobjc/ChangeLog20
-rw-r--r--libobjc/Makefile.in10
-rw-r--r--libobjc/NXConstStr.m4
-rw-r--r--libobjc/Object.m4
-rw-r--r--libobjc/Protocol.m4
-rw-r--r--libobjc/aclocal.m416
-rw-r--r--libobjc/archive.c4
-rw-r--r--libobjc/class.c2
-rwxr-xr-xlibobjc/configure16
-rw-r--r--libobjc/configure.ac13
-rw-r--r--libobjc/encoding.c4
-rw-r--r--libobjc/exception.c16
-rw-r--r--libobjc/gc.c4
-rw-r--r--libobjc/hash.c4
-rw-r--r--libobjc/hash_compat.c4
-rw-r--r--libobjc/init.c2
-rw-r--r--libobjc/libobjc.def4
-rw-r--r--libobjc/libobjc_entry.c4
-rw-r--r--libobjc/linking.m10
-rw-r--r--libobjc/makefile.dos4
-rw-r--r--libobjc/misc.c4
-rw-r--r--libobjc/nil_method.c4
-rw-r--r--libobjc/objc/NXConstStr.h4
-rw-r--r--libobjc/objc/Object.h4
-rw-r--r--libobjc/objc/Protocol.h4
-rw-r--r--libobjc/objc/encoding.h4
-rw-r--r--libobjc/objc/hash.h4
-rw-r--r--libobjc/objc/objc-api.h4
-rw-r--r--libobjc/objc/objc-decls.h4
-rw-r--r--libobjc/objc/objc-list.h4
-rw-r--r--libobjc/objc/objc.h4
-rw-r--r--libobjc/objc/runtime.h2
-rw-r--r--libobjc/objc/sarray.h4
-rw-r--r--libobjc/objc/thr.h4
-rw-r--r--libobjc/objc/typedstream.h4
-rw-r--r--libobjc/objects.c4
-rw-r--r--libobjc/sarray.c4
-rw-r--r--libobjc/selector.c2
-rw-r--r--libobjc/sendmsg.c4
-rw-r--r--libobjc/thr-dce.c4
-rw-r--r--libobjc/thr-decosf1.c4
-rw-r--r--libobjc/thr-irix.c4
-rw-r--r--libobjc/thr-mach.c4
-rw-r--r--libobjc/thr-objc.c4
-rw-r--r--libobjc/thr-os2.c4
-rw-r--r--libobjc/thr-posix.c4
-rw-r--r--libobjc/thr-pthreads.c4
-rw-r--r--libobjc/thr-rtems.c4
-rw-r--r--libobjc/thr-single.c4
-rw-r--r--libobjc/thr-solaris.c4
-rw-r--r--libobjc/thr-vxworks.c4
-rw-r--r--libobjc/thr-win32.c4
-rw-r--r--libobjc/thr.c4
-rw-r--r--libssp/ChangeLog4
-rw-r--r--libssp/gets-chk.c4
-rw-r--r--libssp/memcpy-chk.c4
-rw-r--r--libssp/memmove-chk.c4
-rw-r--r--libssp/mempcpy-chk.c4
-rw-r--r--libssp/memset-chk.c4
-rw-r--r--libssp/snprintf-chk.c4
-rw-r--r--libssp/sprintf-chk.c4
-rw-r--r--libssp/ssp-local.c4
-rw-r--r--libssp/ssp.c4
-rw-r--r--libssp/ssp/ssp.h.in4
-rw-r--r--libssp/ssp/stdio.h4
-rw-r--r--libssp/ssp/string.h4
-rw-r--r--libssp/ssp/unistd.h4
-rw-r--r--libssp/stpcpy-chk.c4
-rw-r--r--libssp/strcat-chk.c4
-rw-r--r--libssp/strcpy-chk.c4
-rw-r--r--libssp/strncat-chk.c4
-rw-r--r--libssp/strncpy-chk.c4
-rw-r--r--libssp/vsnprintf-chk.c4
-rw-r--r--libssp/vsprintf-chk.c4
-rw-r--r--libstdc++-v3/ChangeLog201
-rw-r--r--libstdc++-v3/Makefile.am2
-rw-r--r--libstdc++-v3/Makefile.in28
-rw-r--r--libstdc++-v3/acinclude.m4130
-rw-r--r--libstdc++-v3/aclocal.m450
-rw-r--r--libstdc++-v3/config/abi/compatibility.h2
-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/alpha/atomic_word.h2
-rw-r--r--libstdc++-v3/config/cpu/alpha/atomicity.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.h2
-rw-r--r--libstdc++-v3/config/cpu/generic/cxxabi_tweaks.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/ia64/atomic_word.h2
-rw-r--r--libstdc++-v3/config/cpu/ia64/atomicity.h2
-rw-r--r--libstdc++-v3/config/cpu/m68k/atomicity.h2
-rw-r--r--libstdc++-v3/config/cpu/mips/atomicity.h2
-rw-r--r--libstdc++-v3/config/cpu/powerpc/atomic_word.h2
-rw-r--r--libstdc++-v3/config/cpu/powerpc/atomicity.h2
-rw-r--r--libstdc++-v3/config/cpu/s390/atomicity.h2
-rw-r--r--libstdc++-v3/config/cpu/sh/atomicity.h74
-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/linker-map.gnu3
-rw-r--r--libstdc++-v3/config/locale/darwin/ctype_members.cc2
-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/os/aix/atomic_word.h2
-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_inline.h2
-rw-r--r--libstdc++-v3/config/os/aix/ctype_noninline.h2
-rw-r--r--libstdc++-v3/config/os/aix/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_inline.h2
-rw-r--r--libstdc++-v3/config/os/bsd/darwin/ctype_noninline.h2
-rw-r--r--libstdc++-v3/config/os/bsd/darwin/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_inline.h2
-rw-r--r--libstdc++-v3/config/os/bsd/freebsd/ctype_noninline.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_inline.h2
-rw-r--r--libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h2
-rw-r--r--libstdc++-v3/config/os/bsd/netbsd/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/djgpp/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/djgpp/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/djgpp/ctype_noninline.h2
-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_inline.h2
-rw-r--r--libstdc++-v3/config/os/generic/ctype_noninline.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_inline.h2
-rw-r--r--libstdc++-v3/config/os/gnu-linux/ctype_noninline.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_inline.h2
-rw-r--r--libstdc++-v3/config/os/hpux/ctype_noninline.h2
-rw-r--r--libstdc++-v3/config/os/hpux/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/irix/atomic_word.h2
-rw-r--r--libstdc++-v3/config/os/irix/atomicity.h2
-rw-r--r--libstdc++-v3/config/os/irix/irix5.2/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/irix/irix5.2/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/irix/irix5.2/ctype_noninline.h2
-rw-r--r--libstdc++-v3/config/os/irix/irix5.2/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/irix/irix6.5/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/irix/irix6.5/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/irix/irix6.5/ctype_noninline.h2
-rw-r--r--libstdc++-v3/config/os/irix/irix6.5/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/mingw32/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/mingw32/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/mingw32/ctype_noninline.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_inline.h2
-rw-r--r--libstdc++-v3/config/os/newlib/ctype_noninline.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_inline.h2
-rw-r--r--libstdc++-v3/config/os/qnx/qnx6.1/ctype_noninline.h2
-rw-r--r--libstdc++-v3/config/os/qnx/qnx6.1/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/solaris/solaris2.5/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/solaris/solaris2.5/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/solaris/solaris2.5/ctype_noninline.h2
-rw-r--r--libstdc++-v3/config/os/solaris/solaris2.5/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/solaris/solaris2.6/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/solaris/solaris2.6/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/solaris/solaris2.6/ctype_noninline.h2
-rw-r--r--libstdc++-v3/config/os/solaris/solaris2.6/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/solaris/solaris2.7/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/solaris/solaris2.7/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/solaris/solaris2.7/ctype_noninline.h2
-rw-r--r--libstdc++-v3/config/os/solaris/solaris2.7/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/tpf/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/tpf/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/tpf/ctype_noninline.h2
-rw-r--r--libstdc++-v3/config/os/tpf/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/vxworks/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/vxworks/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/vxworks/ctype_noninline.h2
-rw-r--r--libstdc++-v3/config/os/vxworks/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/windiss/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/windiss/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/windiss/ctype_noninline.h2
-rw-r--r--libstdc++-v3/config/os/windiss/os_defines.h2
-rwxr-xr-xlibstdc++-v3/configure288
-rw-r--r--libstdc++-v3/configure.ac19
-rw-r--r--libstdc++-v3/docs/html/17_intro/COPYING4
-rw-r--r--libstdc++-v3/docs/html/17_intro/COPYING.DOC2
-rw-r--r--libstdc++-v3/docs/html/17_intro/headers_cc.txt2
-rw-r--r--libstdc++-v3/docs/html/17_intro/porting.html2
-rw-r--r--libstdc++-v3/docs/html/ext/howto.html7
-rw-r--r--libstdc++-v3/docs/html/ext/mt_allocator.html27
-rw-r--r--libstdc++-v3/include/Makefile.am2
-rw-r--r--libstdc++-v3/include/Makefile.in8
-rw-r--r--libstdc++-v3/include/backward/algo.h2
-rw-r--r--libstdc++-v3/include/backward/algobase.h2
-rw-r--r--libstdc++-v3/include/backward/alloc.h2
-rw-r--r--libstdc++-v3/include/backward/backward_warning.h2
-rw-r--r--libstdc++-v3/include/backward/bvector.h2
-rw-r--r--libstdc++-v3/include/backward/complex.h2
-rw-r--r--libstdc++-v3/include/backward/defalloc.h2
-rw-r--r--libstdc++-v3/include/backward/deque.h2
-rw-r--r--libstdc++-v3/include/backward/fstream.h2
-rw-r--r--libstdc++-v3/include/backward/function.h2
-rw-r--r--libstdc++-v3/include/backward/hash_map.h2
-rw-r--r--libstdc++-v3/include/backward/hash_set.h2
-rw-r--r--libstdc++-v3/include/backward/hashtable.h2
-rw-r--r--libstdc++-v3/include/backward/heap.h2
-rw-r--r--libstdc++-v3/include/backward/iomanip.h2
-rw-r--r--libstdc++-v3/include/backward/iostream.h2
-rw-r--r--libstdc++-v3/include/backward/istream.h2
-rw-r--r--libstdc++-v3/include/backward/iterator.h2
-rw-r--r--libstdc++-v3/include/backward/list.h2
-rw-r--r--libstdc++-v3/include/backward/map.h2
-rw-r--r--libstdc++-v3/include/backward/multimap.h2
-rw-r--r--libstdc++-v3/include/backward/multiset.h2
-rw-r--r--libstdc++-v3/include/backward/new.h4
-rw-r--r--libstdc++-v3/include/backward/ostream.h2
-rw-r--r--libstdc++-v3/include/backward/pair.h2
-rw-r--r--libstdc++-v3/include/backward/queue.h2
-rw-r--r--libstdc++-v3/include/backward/rope.h2
-rw-r--r--libstdc++-v3/include/backward/set.h2
-rw-r--r--libstdc++-v3/include/backward/slist.h2
-rw-r--r--libstdc++-v3/include/backward/stack.h2
-rw-r--r--libstdc++-v3/include/backward/stream.h2
-rw-r--r--libstdc++-v3/include/backward/streambuf.h2
-rw-r--r--libstdc++-v3/include/backward/strstream2
-rw-r--r--libstdc++-v3/include/backward/tempbuf.h2
-rw-r--r--libstdc++-v3/include/backward/tree.h2
-rw-r--r--libstdc++-v3/include/backward/vector.h2
-rw-r--r--libstdc++-v3/include/bits/allocator.h2
-rw-r--r--libstdc++-v3/include/bits/atomicity.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.h2
-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++config2
-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/concurrence.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/fstream.tcc2
-rw-r--r--libstdc++-v3/include/bits/functexcept.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/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_facets.h2
-rw-r--r--libstdc++-v3/include/bits/locale_facets.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/ostream.tcc2
-rw-r--r--libstdc++-v3/include/bits/postypes.h2
-rw-r--r--libstdc++-v3/include/bits/slice_array.h2
-rw-r--r--libstdc++-v3/include/bits/sstream.tcc2
-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.h14
-rw-r--r--libstdc++-v3/include/bits/stl_construct.h4
-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.h2
-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.h30
-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.h17
-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/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/std_cassert.h2
-rw-r--r--libstdc++-v3/include/c/std_cctype.h2
-rw-r--r--libstdc++-v3/include/c/std_cerrno.h2
-rw-r--r--libstdc++-v3/include/c/std_cfloat.h2
-rw-r--r--libstdc++-v3/include/c/std_ciso646.h2
-rw-r--r--libstdc++-v3/include/c/std_climits.h2
-rw-r--r--libstdc++-v3/include/c/std_clocale.h2
-rw-r--r--libstdc++-v3/include/c/std_cmath.h2
-rw-r--r--libstdc++-v3/include/c/std_csetjmp.h2
-rw-r--r--libstdc++-v3/include/c/std_csignal.h2
-rw-r--r--libstdc++-v3/include/c/std_cstdarg.h2
-rw-r--r--libstdc++-v3/include/c/std_cstddef.h2
-rw-r--r--libstdc++-v3/include/c/std_cstdio.h2
-rw-r--r--libstdc++-v3/include/c/std_cstdlib.h2
-rw-r--r--libstdc++-v3/include/c/std_cstring.h2
-rw-r--r--libstdc++-v3/include/c/std_ctime.h2
-rw-r--r--libstdc++-v3/include/c/std_cwchar.h2
-rw-r--r--libstdc++-v3/include/c/std_cwctype.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/assert.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/float.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.h2
-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/stddef.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/stdio.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/stdlib.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/string.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/time.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_std/cmath.tcc2
-rw-r--r--libstdc++-v3/include/c_std/std_cassert.h2
-rw-r--r--libstdc++-v3/include/c_std/std_cctype.h2
-rw-r--r--libstdc++-v3/include/c_std/std_cerrno.h2
-rw-r--r--libstdc++-v3/include/c_std/std_cfloat.h2
-rw-r--r--libstdc++-v3/include/c_std/std_ciso646.h2
-rw-r--r--libstdc++-v3/include/c_std/std_climits.h2
-rw-r--r--libstdc++-v3/include/c_std/std_clocale.h2
-rw-r--r--libstdc++-v3/include/c_std/std_cmath.h68
-rw-r--r--libstdc++-v3/include/c_std/std_csetjmp.h2
-rw-r--r--libstdc++-v3/include/c_std/std_csignal.h2
-rw-r--r--libstdc++-v3/include/c_std/std_cstdarg.h2
-rw-r--r--libstdc++-v3/include/c_std/std_cstddef.h2
-rw-r--r--libstdc++-v3/include/c_std/std_cstdio.h2
-rw-r--r--libstdc++-v3/include/c_std/std_cstdlib.h2
-rw-r--r--libstdc++-v3/include/c_std/std_cstring.h2
-rw-r--r--libstdc++-v3/include/c_std/std_ctime.h2
-rw-r--r--libstdc++-v3/include/c_std/std_cwchar.h2
-rw-r--r--libstdc++-v3/include/c_std/std_cwctype.h2
-rw-r--r--libstdc++-v3/include/debug/bitset2
-rw-r--r--libstdc++-v3/include/debug/debug.h32
-rw-r--r--libstdc++-v3/include/debug/deque2
-rw-r--r--libstdc++-v3/include/debug/formatter.h2
-rw-r--r--libstdc++-v3/include/debug/functions.h2
-rw-r--r--libstdc++-v3/include/debug/hash_map2
-rw-r--r--libstdc++-v3/include/debug/hash_map.h2
-rw-r--r--libstdc++-v3/include/debug/hash_multimap.h2
-rw-r--r--libstdc++-v3/include/debug/hash_multiset.h2
-rw-r--r--libstdc++-v3/include/debug/hash_set2
-rw-r--r--libstdc++-v3/include/debug/hash_set.h2
-rw-r--r--libstdc++-v3/include/debug/list2
-rw-r--r--libstdc++-v3/include/debug/macros.h12
-rw-r--r--libstdc++-v3/include/debug/map2
-rw-r--r--libstdc++-v3/include/debug/map.h6
-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_iterator.h2
-rw-r--r--libstdc++-v3/include/debug/safe_iterator.tcc2
-rw-r--r--libstdc++-v3/include/debug/safe_sequence.h2
-rw-r--r--libstdc++-v3/include/debug/set2
-rw-r--r--libstdc++-v3/include/debug/set.h2
-rw-r--r--libstdc++-v3/include/debug/string2
-rw-r--r--libstdc++-v3/include/debug/vector6
-rw-r--r--libstdc++-v3/include/ext/algorithm2
-rw-r--r--libstdc++-v3/include/ext/array_allocator.h2
-rw-r--r--libstdc++-v3/include/ext/bitmap_allocator.h2
-rw-r--r--libstdc++-v3/include/ext/codecvt_specializations.h2
-rw-r--r--libstdc++-v3/include/ext/debug_allocator.h2
-rw-r--r--libstdc++-v3/include/ext/functional2
-rw-r--r--libstdc++-v3/include/ext/hash_fun.h2
-rw-r--r--libstdc++-v3/include/ext/hash_map2
-rw-r--r--libstdc++-v3/include/ext/hash_set2
-rw-r--r--libstdc++-v3/include/ext/hashtable.h2
-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/pb_assoc/assoc_cntnr.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/data_type.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/assoc_cntnr_base.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/constructor_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/constructors_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/d_extract_key.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/d_find_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/d_insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/extract_key.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/iterators_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/constructors_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/resize_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/constructor_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/constructors_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/node_iteration_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/policy_access_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/r_erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/r_range_iteration_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/range_iteration_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/split_join_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/bin_search_tree_.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/cond_dtor_entry_dealtor.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/cond_key_dtor_entry_dealtor.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/debug_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/find_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/find_iterators.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/iterators_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/node_iterators.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/r_erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/rotate_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/split_join_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/cc_ht_map_.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/cmp_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/cond_key_dtor_entry_dealtor.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/constructor_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/constructor_destructor_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/constructor_destructor_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/debug_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/debug_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/debug_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/entry_list_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/erase_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/erase_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/find_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/find_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/find_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/insert_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/insert_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/iterators_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/policy_access_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/resize_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/resize_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/resize_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/size_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/standard_policies.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/cond_dealtor.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/constructors_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/ds_trait_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/eq_fn/eq_by_less.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/eq_fn/hash_eq_fn.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/gp_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/debug_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/debug_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/debug_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/erase_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/erase_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/find_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/find_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/find_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/gp_ht_map_.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/insert_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/insert_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/iterator_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/policy_access_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/resize_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/resize_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/resize_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/direct_mask_range_hashing_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/direct_mod_range_hashing_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/linear_probe_fn_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/mask_based_range_hashing.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/mod_based_range_hashing.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/probe_fn_base.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/quadratic_probe_fn_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/ranged_hash_fn.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/ranged_probe_fn.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/hash_types_traits.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/lu_assoc_cntnr/constructor_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/lu_assoc_cntnr/policy_access_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/constructor_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/debug_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/find_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/iterators_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/lu_map_.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/policy_access_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/lu_policy/counter_lu_metadata_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/lu_policy/counter_lu_policy_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/lu_policy/mtf_lu_policy_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/map_debug_base.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/mapping_level_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/ms_category_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/ms_trait_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/order_statistics_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/cond_dtor.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/debug_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/find_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/iterators_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/node_iterators.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/ov_tree_map_.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/split_join_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/debug_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/find_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/node.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/rb_tree_.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/split_join_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/cc_hash_max_collision_resize_trigger_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/hash_exponential_size_policy_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/hash_prime_size_policy_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/hash_standard_resize_policy_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/ht_prime_size_policy_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/size_base.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/constructors_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/debug_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/find_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/node.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/splay_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/splay_tree_.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/split_join_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/standard_policies.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/standard_sizes.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/tree_assoc_cntnr/constructor_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/tree_policy/null_node_updator_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/tree_policy/order_statistics_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/type_utils.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/typelist.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_append.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_apply.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_at_index.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_contains.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_filter.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_transform.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_typelist_append.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/types_traits.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/unordered_iterator/const_find_iterator.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/unordered_iterator/const_iterator.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/unordered_iterator/find_iterator.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/unordered_iterator/iterator.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/constructor_destructor_and_related.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/erase_if_pred.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/find_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/invalidation_guarantee_selector.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/it_value_type_traits.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/iterator.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/iterator_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/ref_pair.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/value_type_adapter.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/value_type_traits.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/ds_trait.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/exception.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/hash_policy.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/lu_policy.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/ms_trait.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/tree_policy.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/trivial_iterator_def.hpp2
-rw-r--r--libstdc++-v3/include/ext/pod_char_traits.h2
-rw-r--r--libstdc++-v3/include/ext/pool_allocator.h2
-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/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/std/std_algorithm.h2
-rw-r--r--libstdc++-v3/include/std/std_bitset.h2
-rw-r--r--libstdc++-v3/include/std/std_complex.h2
-rw-r--r--libstdc++-v3/include/std/std_deque.h2
-rw-r--r--libstdc++-v3/include/std/std_fstream.h2
-rw-r--r--libstdc++-v3/include/std/std_functional.h2
-rw-r--r--libstdc++-v3/include/std/std_iomanip.h2
-rw-r--r--libstdc++-v3/include/std/std_ios.h2
-rw-r--r--libstdc++-v3/include/std/std_iosfwd.h2
-rw-r--r--libstdc++-v3/include/std/std_iostream.h2
-rw-r--r--libstdc++-v3/include/std/std_istream.h2
-rw-r--r--libstdc++-v3/include/std/std_iterator.h2
-rw-r--r--libstdc++-v3/include/std/std_limits.h2
-rw-r--r--libstdc++-v3/include/std/std_list.h2
-rw-r--r--libstdc++-v3/include/std/std_locale.h2
-rw-r--r--libstdc++-v3/include/std/std_map.h2
-rw-r--r--libstdc++-v3/include/std/std_memory.h2
-rw-r--r--libstdc++-v3/include/std/std_numeric.h2
-rw-r--r--libstdc++-v3/include/std/std_ostream.h2
-rw-r--r--libstdc++-v3/include/std/std_queue.h2
-rw-r--r--libstdc++-v3/include/std/std_set.h2
-rw-r--r--libstdc++-v3/include/std/std_sstream.h2
-rw-r--r--libstdc++-v3/include/std/std_stack.h2
-rw-r--r--libstdc++-v3/include/std/std_stdexcept.h2
-rw-r--r--libstdc++-v3/include/std/std_streambuf.h2
-rw-r--r--libstdc++-v3/include/std/std_string.h2
-rw-r--r--libstdc++-v3/include/std/std_utility.h2
-rw-r--r--libstdc++-v3/include/std/std_valarray.h36
-rw-r--r--libstdc++-v3/include/std/std_vector.h2
-rw-r--r--libstdc++-v3/include/stdc++.h2
-rw-r--r--libstdc++-v3/include/tr1/array147
-rw-r--r--libstdc++-v3/include/tr1/bind_iterate.h2
-rw-r--r--libstdc++-v3/include/tr1/bind_repeat.h2
-rw-r--r--libstdc++-v3/include/tr1/boost_shared_ptr.h2
-rw-r--r--libstdc++-v3/include/tr1/functional2
-rw-r--r--libstdc++-v3/include/tr1/functional_iterate.h2
-rw-r--r--libstdc++-v3/include/tr1/hashtable39
-rw-r--r--libstdc++-v3/include/tr1/memory2
-rw-r--r--libstdc++-v3/include/tr1/mu_iterate.h2
-rw-r--r--libstdc++-v3/include/tr1/ref_fwd.h2
-rw-r--r--libstdc++-v3/include/tr1/ref_wrap_iterate.h2
-rw-r--r--libstdc++-v3/include/tr1/repeat.h2
-rw-r--r--libstdc++-v3/include/tr1/tuple2
-rw-r--r--libstdc++-v3/include/tr1/tuple_iterate.h2
-rw-r--r--libstdc++-v3/include/tr1/type_traits2
-rw-r--r--libstdc++-v3/include/tr1/type_traits_fwd.h2
-rw-r--r--libstdc++-v3/include/tr1/unordered_map2
-rw-r--r--libstdc++-v3/include/tr1/unordered_set2
-rw-r--r--libstdc++-v3/include/tr1/utility2
-rw-r--r--libstdc++-v3/libmath/Makefile.am2
-rw-r--r--libstdc++-v3/libmath/Makefile.in8
-rw-r--r--libstdc++-v3/libmath/copysignf.c2
-rw-r--r--libstdc++-v3/libmath/mathconf.h2
-rw-r--r--libstdc++-v3/libmath/signbit.c2
-rw-r--r--libstdc++-v3/libmath/signbitf.c2
-rw-r--r--libstdc++-v3/libmath/signbitl.c2
-rw-r--r--libstdc++-v3/libmath/stubs.c2
-rw-r--r--libstdc++-v3/libsupc++/Makefile.am4
-rw-r--r--libstdc++-v3/libsupc++/Makefile.in8
-rw-r--r--libstdc++-v3/libsupc++/cxxabi.h4
-rw-r--r--libstdc++-v3/libsupc++/del_op.cc4
-rw-r--r--libstdc++-v3/libsupc++/del_opnt.cc4
-rw-r--r--libstdc++-v3/libsupc++/del_opv.cc4
-rw-r--r--libstdc++-v3/libsupc++/del_opvnt.cc4
-rw-r--r--libstdc++-v3/libsupc++/eh_alloc.cc4
-rw-r--r--libstdc++-v3/libsupc++/eh_arm.cc4
-rw-r--r--libstdc++-v3/libsupc++/eh_aux_runtime.cc4
-rw-r--r--libstdc++-v3/libsupc++/eh_call.cc4
-rw-r--r--libstdc++-v3/libsupc++/eh_catch.cc4
-rw-r--r--libstdc++-v3/libsupc++/eh_exception.cc4
-rw-r--r--libstdc++-v3/libsupc++/eh_globals.cc4
-rw-r--r--libstdc++-v3/libsupc++/eh_personality.cc6
-rw-r--r--libstdc++-v3/libsupc++/eh_term_handler.cc4
-rw-r--r--libstdc++-v3/libsupc++/eh_terminate.cc4
-rw-r--r--libstdc++-v3/libsupc++/eh_throw.cc4
-rw-r--r--libstdc++-v3/libsupc++/eh_type.cc4
-rw-r--r--libstdc++-v3/libsupc++/eh_unex_handler.cc4
-rw-r--r--libstdc++-v3/libsupc++/exception4
-rw-r--r--libstdc++-v3/libsupc++/exception_defines.h2
-rw-r--r--libstdc++-v3/libsupc++/guard.cc4
-rw-r--r--libstdc++-v3/libsupc++/new4
-rw-r--r--libstdc++-v3/libsupc++/new_handler.cc4
-rw-r--r--libstdc++-v3/libsupc++/new_op.cc4
-rw-r--r--libstdc++-v3/libsupc++/new_opnt.cc4
-rw-r--r--libstdc++-v3/libsupc++/new_opv.cc4
-rw-r--r--libstdc++-v3/libsupc++/new_opvnt.cc4
-rw-r--r--libstdc++-v3/libsupc++/pure.cc4
-rw-r--r--libstdc++-v3/libsupc++/tinfo.cc4
-rw-r--r--libstdc++-v3/libsupc++/tinfo.h4
-rw-r--r--libstdc++-v3/libsupc++/tinfo2.cc4
-rw-r--r--libstdc++-v3/libsupc++/typeinfo4
-rw-r--r--libstdc++-v3/libsupc++/unwind-cxx.h4
-rw-r--r--libstdc++-v3/libsupc++/vec.cc4
-rw-r--r--libstdc++-v3/libsupc++/vterminate.cc2
-rw-r--r--libstdc++-v3/po/Makefile.am2
-rw-r--r--libstdc++-v3/po/Makefile.in8
-rw-r--r--libstdc++-v3/po/POTFILES.in2
-rw-r--r--libstdc++-v3/po/string_literals.cc2
-rwxr-xr-xlibstdc++-v3/scripts/check_compile8
-rwxr-xr-xlibstdc++-v3/scripts/extract_symvers2
-rw-r--r--libstdc++-v3/src/Makefile.am18
-rw-r--r--libstdc++-v3/src/Makefile.in43
-rw-r--r--libstdc++-v3/src/allocator-inst.cc2
-rw-r--r--libstdc++-v3/src/bitmap_allocator.cc2
-rw-r--r--libstdc++-v3/src/codecvt.cc2
-rw-r--r--libstdc++-v3/src/compatibility.cc2
-rw-r--r--libstdc++-v3/src/complex_io.cc2
-rw-r--r--libstdc++-v3/src/concept-inst.cc2
-rw-r--r--libstdc++-v3/src/ctype.cc2
-rw-r--r--libstdc++-v3/src/debug.cc13
-rw-r--r--libstdc++-v3/src/debug_list.cc2
-rw-r--r--libstdc++-v3/src/ext-inst.cc2
-rw-r--r--libstdc++-v3/src/fstream-inst.cc2
-rw-r--r--libstdc++-v3/src/functexcept.cc2
-rw-r--r--libstdc++-v3/src/globals_io.cc2
-rw-r--r--libstdc++-v3/src/globals_locale.cc2
-rw-r--r--libstdc++-v3/src/io-inst.cc2
-rw-r--r--libstdc++-v3/src/ios.cc2
-rw-r--r--libstdc++-v3/src/ios_failure.cc2
-rw-r--r--libstdc++-v3/src/ios_init.cc2
-rw-r--r--libstdc++-v3/src/ios_locale.cc2
-rw-r--r--libstdc++-v3/src/istream-inst.cc2
-rw-r--r--libstdc++-v3/src/istream.cc2
-rw-r--r--libstdc++-v3/src/limits.cc2
-rw-r--r--libstdc++-v3/src/list.cc2
-rw-r--r--libstdc++-v3/src/locale-inst.cc2
-rw-r--r--libstdc++-v3/src/locale-misc-inst.cc2
-rw-r--r--libstdc++-v3/src/locale.cc2
-rw-r--r--libstdc++-v3/src/locale_facets.cc2
-rw-r--r--libstdc++-v3/src/locale_init.cc2
-rw-r--r--libstdc++-v3/src/localename.cc2
-rw-r--r--libstdc++-v3/src/misc-inst.cc2
-rw-r--r--libstdc++-v3/src/mt_allocator.cc2
-rw-r--r--libstdc++-v3/src/ostream-inst.cc2
-rw-r--r--libstdc++-v3/src/pool_allocator.cc2
-rw-r--r--libstdc++-v3/src/sstream-inst.cc2
-rw-r--r--libstdc++-v3/src/stdexcept.cc2
-rw-r--r--libstdc++-v3/src/streambuf-inst.cc2
-rw-r--r--libstdc++-v3/src/streambuf.cc2
-rw-r--r--libstdc++-v3/src/string-inst.cc2
-rw-r--r--libstdc++-v3/src/strstream.cc2
-rw-r--r--libstdc++-v3/src/tree.cc2
-rw-r--r--libstdc++-v3/src/valarray-inst.cc2
-rw-r--r--libstdc++-v3/src/wlocale-inst.cc2
-rw-r--r--libstdc++-v3/src/wstring-inst.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/header_cassert.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/header_cerrno.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/header_csetjmp.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/header_cstdarg.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/header_cstddef.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/header_cstdio.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/header_cstdlib.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/header_cstring.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/header_ctime.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/header_cwchar.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/header_cwctype.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/header_fstream.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/header_iomanip.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/header_ios.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/header_iosfwd.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/header_iostream.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/header_istream.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/header_ostream.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/header_sstream.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/header_streambuf.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers_c++.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers_c.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/no_assert_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/new_delete_placement.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/stdexceptions.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/functional/binders/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/functional/binders/3113.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/functional/comparisons.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/memory/16505.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/memory/allocator/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/memory/allocator/10378.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/memory/allocator/14176.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/memory/allocator/8230.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/memory/auto_ptr/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/memory/auto_ptr/2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/memory/auto_ptr/3.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/memory/auto_ptr/3946.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/memory/auto_ptr/4.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/memory/auto_ptr/5.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/memory/auto_ptr/6.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/memory/auto_ptr/7.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/memory/auto_ptr/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/memory/raw_storage_iterator.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/memory/temporary_buffer.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/utility/pair/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/utility/pair/2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/utility/pair/3.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/utility/pair/4.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/utility/rel_ops.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/append/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/append/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/append/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/assign/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/assign/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/assign/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/assign/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/assign/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/assign/wchar_t/3.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/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/compare/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/compare/char/13650.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/compare/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/compare/wchar_t/13650.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/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/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/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/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/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/empty.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/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/empty.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/find/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/find/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/find/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/find/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/find/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/find/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/insert/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/insert/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/insert/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/insert/wchar_t/2.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/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/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/operations/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operations/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/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/replace/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/replace/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/replace/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/replace/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/replace/char/5.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/replace/char/6.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/6.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/rfind/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/rfind/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/rfind/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/rfind/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/rfind/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/rfind/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/substr/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/substr/wchar_t/1.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/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/char_traits/requirements/char/1.cc19
-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.cc19
-rw-r--r--libstdc++-v3/testsuite/21_strings/char_traits/typedefs/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/2.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/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/unicode/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/unicode/char.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/unicode/wchar_t.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_byname/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/2.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/transform/char/2.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/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/ctype/1.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/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/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/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype_base/11844.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype_byname/1.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/global_templates/1.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/4.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/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/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/messages/2.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_byname/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/messages_byname/named_equivalence.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/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/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/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_put/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/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/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/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/moneypunct/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/3.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_byname/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct_byname/named_equivalence.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/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/3.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/3.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_put/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/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/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/3.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/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/3.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/numpunct/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/2.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_byname/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct_byname/named_equivalence.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/2.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_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/3.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/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/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/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/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/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/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/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/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/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/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_put/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/2.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/23_containers/bitset/18604.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/6282.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/count/6124.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/ext/15361.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/input/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/invalidation/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/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_ulong/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/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/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/clear_allocator.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/explicit_instantiation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/invalidation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/invalidation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/invalidation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/invalidation/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/modifiers/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/operators/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/1.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/capacity/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/check_construct_destroy.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/5.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/6.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/7.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/8.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/9.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/clear_allocator.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/explicit_instantiation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/invalidation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/invalidation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/invalidation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/invalidation/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operators/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operators/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operators/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operators/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/1.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/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/explicit_instantiation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/insert/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/insert/16813.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/invalidation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/invalidation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/modifiers/swap.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/multimap/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/14340.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/explicit_instantiation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/invalidation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/invalidation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/14340.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/explicit_instantiation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/insert/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/insert/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/invalidation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/invalidation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/priority_queue/members/7161.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/queue/members/7157.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/1.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/check_construct_destroy.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/explicit_instantiation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/insert/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/invalidation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/invalidation/2.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/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/stack/members/7158.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/14340.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/18604.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/6886.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/clear_allocator.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/8230.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/6513.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/cons/clear_allocator.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/element_access/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/explicit_instantiation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/invalidation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/invalidation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/invalidation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/invalidation/4.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/insert/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/modifiers/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/resize/1.cc5
-rw-r--r--libstdc++-v3/testsuite/24_iterators/back_insert_iterator.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/front_insert_iterator.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/insert_iterator.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/istream_iterator.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/1.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/iterator.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/ostream_iterator.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/1.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/2.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/reverse_iterator/1.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/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/binary_search.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/binary_search/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/binary_search/check_type.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/4.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_if/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/count_if/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/equal/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/equal/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/equal/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/equal_range/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/equal_range/check_type.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/find/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find/17441.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find/check_type.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_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_if/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find_if/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/heap/heap.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/inplace_merge/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/inplace_merge/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/iter_swap/20577.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/lower_bound/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/lower_bound/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/lower_bound/lower_bound.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/merge/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/merge/check_type.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_max.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/mismatch/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/mismatch/check_type.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/nth_element/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/nth_element/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partial_sort/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partial_sort/check_type.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/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partition/partition.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/remove/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/remove/check_type.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/replace/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/replace/check_type.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_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_if/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/replace_if/check_type.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/rotate.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_n/11400.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/set_difference/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/set_difference/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/set_intersection/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/set_intersection/check_type.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_union/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/set_union/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/sort.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/stable_sort/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/stable_sort/check_type.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/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_copy/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/unique_copy/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/upper_bound/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/upper_bound/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/cmath/19322.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c++.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c.cc6
-rw-r--r--libstdc++-v3/testsuite/26_numerics/cmath/c_math.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/cmath/c_math_dynamic.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/cmath/fabs_inline.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/cmath/powi.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/13450.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/buggy_complex.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/complex_inserters_extractors.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/complex_value.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/cstdlib/13943.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/numeric/sum_diff.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/slice.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/slice_array_assignment.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/valarray.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/valarray_const_bracket.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/valarray_name_lookup.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/valarray_operators.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/valarray_subset_assignment.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/4.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/char/1.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/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/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/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/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/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/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/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/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/1.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/sync/wchar_t/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/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/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/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_fstream/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_fstream/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_fstream/4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_fstream/rdbuf/char/2832.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ifstream/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ifstream/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ifstream/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ifstream/4.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/open/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/4.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/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/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_iostream/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_iostream/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_iostream/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_iostream/4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/4.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/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/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/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/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/seekg/char/2.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/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/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/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/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istringstream/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istringstream/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istringstream/4.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/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/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ofstream/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ofstream/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ofstream/4.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/open/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/4.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/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/3.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/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/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/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/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_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_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/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/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostringstream/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostringstream/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostringstream/4.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/wchar_t/3.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/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/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/3.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/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/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/5.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/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/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/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/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/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/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringstream/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringstream/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringstream/4.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/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/1.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/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/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.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/storage/2.cc5
-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.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/case_label.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/types/iostate/case_label.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/types/openmode/case_label.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/types/seekdir/case_label.cc4
-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/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/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/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/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/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/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/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/Makefile.am2
-rw-r--r--libstdc++-v3/testsuite/Makefile.in8
-rw-r--r--libstdc++-v3/testsuite/backward/11460.cc2
-rw-r--r--libstdc++-v3/testsuite/backward/header_deque_h.cc2
-rw-r--r--libstdc++-v3/testsuite/backward/header_hash_map_h.cc2
-rw-r--r--libstdc++-v3/testsuite/backward/header_hash_set_h.cc2
-rw-r--r--libstdc++-v3/testsuite/backward/header_hashtable_h.cc2
-rw-r--r--libstdc++-v3/testsuite/backward/header_iterator_h.cc2
-rw-r--r--libstdc++-v3/testsuite/backward/header_rope_h.cc2
-rw-r--r--libstdc++-v3/testsuite/backward/header_slist_h.cc2
-rw-r--r--libstdc++-v3/testsuite/backward/header_tempbuf_h.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/data/filebuf_virtuals-1.tst2
-rw-r--r--libstdc++-v3/testsuite/data/filebuf_virtuals-1.txt2
-rw-r--r--libstdc++-v3/testsuite/data/istream_extractor_other-1.tst2
-rw-r--r--libstdc++-v3/testsuite/data/istream_extractor_other-1.txt2
-rw-r--r--libstdc++-v3/testsuite/data/istream_extractor_other-2.tst2
-rw-r--r--libstdc++-v3/testsuite/data/ostream_inserter_other-1.tst2
-rw-r--r--libstdc++-v3/testsuite/data/ostream_inserter_other-2.tst2
-rw-r--r--libstdc++-v3/testsuite/data/wistream_extractor_other-1.tst2
-rw-r--r--libstdc++-v3/testsuite/data/wistream_extractor_other-1.txt2
-rw-r--r--libstdc++-v3/testsuite/data/wistream_extractor_other-2.tst2
-rw-r--r--libstdc++-v3/testsuite/data/wostream_inserter_other-1.tst2
-rw-r--r--libstdc++-v3/testsuite/data/wostream_inserter_other-2.tst2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/01.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/02.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/03.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/04.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/05.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/06.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/07.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/08.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/09.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/10.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/11.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/12.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/13.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/14.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/15.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/16.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/17.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/18.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/19.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/20.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/21.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/22.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/23.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/24.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/25.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_examples/26.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_text/01.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_text/02.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_text/03.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_text/04.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_text/05.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_text/06.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_text/07.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_text/08.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_text/09.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_text/10.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_text/11.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_text/12.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_text/13.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/abi_text/14.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/3111-1.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/3111-2.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/7986-01.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/7986-02.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/7986-03.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/7986-04.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/7986-05.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/7986-06.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/7986-07.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/7986-08.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/7986-09.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/7986-10.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/7986-11.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/7986-12.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/7986.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/8897.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/cw-01.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/cw-02.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/cw-03.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/cw-04.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/cw-05.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/cw-06.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/cw-07.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/cw-08.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/cw-09.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/cw-10.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/cw-11.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/cw-12.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/cw-13.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/cw-14.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/cw-15.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/cw-16.cc2
-rw-r--r--libstdc++-v3/testsuite/demangle/regression/old.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/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/bitmap_allocator/check_allocate_max_size.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/bitmap_allocator/check_deallocate_null.cc2
-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/concept_checks.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/instantiate.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/hash_map/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/hash_map/14648.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/hash_map/instantiate.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/hash_set/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/hash_set/check_construct_destroy.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/hash_set/instantiate.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/headers.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/is_heap/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/is_heap/check_type.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/instantiate.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/median.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.cc20
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global-4.cc20
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global_thread-1.cc20
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global_thread-3.cc20
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-2.cc25
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-4.cc25
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-1.cc25
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-3.cc25
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/instantiate.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/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.cc14
-rw-r--r--libstdc++-v3/testsuite/ext/new_allocator/deallocate_local.cc37
-rw-r--r--libstdc++-v3/testsuite/ext/new_allocator/instantiate.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_assoc/example/basic_map.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_assoc/example/basic_multimap.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_assoc/example/basic_set.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_assoc/example/ds_traits.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_assoc/example/erase_if.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_assoc/example/extract_key.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_assoc/example/hash_find_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_assoc/example/hash_illegal_resize.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_assoc/example/hash_initial_size.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_assoc/example/hash_load_set_change.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_assoc/example/hash_mod.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_assoc/example/hash_resize.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_assoc/example/hash_resize_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_assoc/example/hash_shift_mask.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_assoc/example/mapping_level.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_assoc/example/mapping_level_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_assoc/example/ms_traits.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_assoc/example/ranged_hash.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_assoc/example/store_hash.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_assoc/example/tree_intervals.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_assoc/example/tree_join.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_assoc/example/tree_order_statistics.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_assoc/example/tree_order_statistics_join.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_assoc/example/tree_split.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/instantiate.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/4.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/slist/check_construct_destroy.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/slist/instantiate.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_filebuf/char/1.cc2
-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_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/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/vstring/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/lib/dg-options.exp11
-rw-r--r--libstdc++-v3/testsuite/lib/libstdc++.exp86
-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/normal.exp2
-rw-r--r--libstdc++-v3/testsuite/performance/21_strings/string_append.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/21_strings/string_append_2.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/21_strings/string_cons_input_iterator.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/21_strings/string_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/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/associative.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/insert/sequence.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/sort_search/list.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/25_algorithms/search_n.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/26_numerics/complex_norm.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/testsuite_abi.cc4
-rw-r--r--libstdc++-v3/testsuite/testsuite_abi.h4
-rw-r--r--libstdc++-v3/testsuite/testsuite_abi_check.cc4
-rw-r--r--libstdc++-v3/testsuite/testsuite_allocator.cc2
-rw-r--r--libstdc++-v3/testsuite/testsuite_allocator.h3
-rw-r--r--libstdc++-v3/testsuite/testsuite_character.cc2
-rw-r--r--libstdc++-v3/testsuite/testsuite_character.h2
-rw-r--r--libstdc++-v3/testsuite/testsuite_common_types.h2
-rw-r--r--libstdc++-v3/testsuite/testsuite_hooks.cc2
-rw-r--r--libstdc++-v3/testsuite/testsuite_hooks.h2
-rw-r--r--libstdc++-v3/testsuite/testsuite_io.h2
-rw-r--r--libstdc++-v3/testsuite/testsuite_iterators.h2
-rw-r--r--libstdc++-v3/testsuite/testsuite_performance.h2
-rw-r--r--libstdc++-v3/testsuite/testsuite_tr1.h2
-rw-r--r--libstdc++-v3/testsuite/testsuite_visualization.h2
-rw-r--r--libstdc++-v3/testsuite/thread/18185.cc2
-rw-r--r--libstdc++-v3/testsuite/thread/pthread1.cc2
-rw-r--r--libstdc++-v3/testsuite/thread/pthread2.cc2
-rw-r--r--libstdc++-v3/testsuite/thread/pthread3.cc2
-rw-r--r--libstdc++-v3/testsuite/thread/pthread4.cc2
-rw-r--r--libstdc++-v3/testsuite/thread/pthread5.cc2
-rw-r--r--libstdc++-v3/testsuite/thread/pthread6.cc2
-rw-r--r--libstdc++-v3/testsuite/thread/pthread7-rope.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/not_shared.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/not_shared2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/not_shared3.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/shared.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/still_shared.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/assign.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/auto_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/auto_ptr_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/auto_ptr_rvalue_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/shared_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/shared_ptr_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/comparison/cmp.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/auto_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/auto_ptr_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/pointer.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/weak_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/weak_ptr_expired.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/dest/dest.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/misc/io.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/misc/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/reset.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/reset_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/swap_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/bool_conv.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/get.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/unique.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/use_count.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/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/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/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/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/array_modifications/remove_all_extents.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/array_modifications/remove_extent.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_arithmetic/is_arithmetic.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_arithmetic/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_compound/is_compound.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_compound/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_fundamental/is_fundamental.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_fundamental/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_member_pointer/is_member_pointer.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_member_pointer/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/is_object.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_scalar/is_scalar.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_scalar/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_union_or_class/is_union_or_class.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_union_or_class/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_const.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_cv.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_volatile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_const.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_cv.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_volatile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/true_false_type.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/true_false_type_typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/other_transformations/aligned_storage/aligned_storage.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/other_transformations/aligned_storage/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/pointer_modifications/add_pointer.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/pointer_modifications/remove_pointer.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_array/is_array.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_array/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/is_enum.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_floating_point/is_floating_point.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_floating_point/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/is_function.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_integral/is_integral.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_integral/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_function_pointer/is_member_function_pointer.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_function_pointer/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_object_pointer/is_member_object_pointer.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_object_pointer/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_pointer/is_pointer.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_pointer/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_reference/is_reference.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_reference/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_void/is_void.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_void/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/reference_modifications/add_reference.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/reference_modifications/remove_reference.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_base_of/is_base_of.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_base_of/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_convertible/is_convertible.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_convertible/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_same/is_same.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_same/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/alignment_of/alignment_of.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/alignment_of/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/extent/extent.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/extent/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_assign/has_nothrow_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_assign/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_constructor/has_nothrow_constructor.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_constructor/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_copy/has_nothrow_copy.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_copy/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_assign/has_trivial_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_assign/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_constructor/has_trivial_constructor.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_constructor/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_copy/has_trivial_copy.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_copy/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_destructor/has_trivial_destructor.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_destructor/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_abstract/is_abstract.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_abstract/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_const/is_const.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_const/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_empty/is_empty.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_empty/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_pod/is_pod.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_pod/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/is_polymorphic.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_signed/is_signed.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_signed/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_unsigned/is_unsigned.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_unsigned/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_volatile/is_volatile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_volatile/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/rank/rank.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/rank/typedefs.cc2
-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/iterators/end_is_one_past.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/instantiate.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/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/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/element_access/get.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/find/map1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/find/multimap1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/find/multiset1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/find/set1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/23053.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/23465.cc4
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/array_syntax.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/map_range.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/map_single.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multimap_range.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multimap_single.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multiset_range.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multiset_single.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/set_range.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/set_single.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/hash.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/map.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multimap.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multiset.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/set.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--maintainer-scripts/ChangeLog4
-rwxr-xr-xmaintainer-scripts/gcc_release4
3838 files changed, 24974 insertions, 17445 deletions
diff --git a/ChangeLog b/ChangeLog
index 233b29fca20..a630e7b1a0e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,72 @@
+2005-08-30 Phil Edwards <phil@codesourcery.com>
+
+ * configure.in (*-*-vxworks*): Add target-libstdc++-v3 to noconfigdirs.
+ * configure: Regenerated.
+
+2005-08-22 Aldy Hernandez <aldyh@redhat.com>
+
+ * MAINTAINERS: Add self as ms1 maintainer.
+
+2005-08-20 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ * Makefile.def (libssp): Add to lang_env_dependencies.
+ * Makefile.in: Regenerate.
+
+2005-08-18 Ian Lance Taylor <ian@airs.com>
+
+ * MAINTAINERS: Add myself as middle-end maintainer.
+
+2005-08-17 Christian Groessler <chris@groessler.org>
+
+ * Makefile.tpl: (USUAL_CC_FOR_TARGET): Add missing trailing slash.
+ * Makefile.in: Regenerate.
+
+2005-08-15 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * MAINTAINERS (write after approval): Added myself.
+
+2005-08-12 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * MAINTAINERS (Write After Approval): Add myself.
+
+2005-08-12 Paolo Bonzini <bonzini@gnu.org>
+
+ * configure.in: Replace NCN_STRICT_CHECK_TOOL with
+ NCN_STRICT_CHECK_TOOLS, and likewise for NCN_STRICT_CHECK_TARGET_TOOLS.
+ Look for alternate names of the target cc and c++
+ * configure: Regenerate.
+
+2005-08-08 Paolo Bonzini <bonzini@gnu.org>
+
+ * configure.in (CC_FOR_TARGET, CXX_FOR_TARGET, GCJ_FOR_TARGET,
+ GCC_FOR_TARGET, RAW_CXX_FOR_TARGET, GFORTRAN_FOR_TARGET): Find
+ them with NCN_STRICT_CHECK_TARGET_TOOL, like the other target
+ tools; remove code to manually set them.
+ (Target tools): Look in the environment for them.
+ * Makefile.tpl (CC_FOR_TARGET, CXX_FOR_TARGET, GCJ_FOR_TARGET,
+ GCC_FOR_TARGET, RAW_CXX_FOR_TARGET, GFORTRAN_FOR_TARGET): Redefine.
+ (AS_FOR_TARGET, LD_FOR_TARGET, NM_FOR_TARGET): Look into gcc
+ build directory.
+ (CONFIGURED_CC_FOR_TARGET, CONFIGURED_CXX_FOR_TARGET,
+ CONFIGURED_GCJ_FOR_TARGET, CONFIGURED_GCC_FOR_TARGET,
+ CONFIGURED_GFORTRAN_FOR_TARGET, USUAL_CC_FOR_TARGET,
+ USUAL_CXX_FOR_TARGET, USUAL_GCJ_FOR_TARGET, USUAL_GCC_FOR_TARGET,
+ USUAL_RAW_CXX_FOR_TARGET, USUAL_GFORTRAN_FOR_TARGET): New.
+ (CXX_FOR_TARGET_FOR_RECURSIVE_MAKE,
+ RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE, RECURSE_FLAGS): Delete.
+ * configure: Regenerate.
+ * Makefile.in: Regenerate.
+
+2005-07-28 Ben Elliston <bje@au.ibm.com>
+
+ * MAINTAINERS: Update for removed CPU targets.
+
+2005-07-27 Mark Mitchell <mark@codesourcery.com>
+
+ * Makefile.tpl (EXTRA_TARGET_FLAGS): Set LDFLAGS=LDFLAGS_FOR_TARGET.
+ * Makefile.def (flags_to_pass): Add LDFLAGS_FOR_TARGET.
+ * Makefile.in: Regenerated.
+
2005-07-26 Mark Mitchell <mark@codesourcery.com>
* Makefile.tpl (SYSROOT_CFLAGS_FOR_TARGET): New variable.
diff --git a/MAINTAINERS b/MAINTAINERS
index 98e740a8bdd..95a1702b9f1 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -53,9 +53,7 @@ h8 port Kazu Hirata kazu@codesourcery.com
hppa port Jeff Law law@redhat.com
hppa port Dave Anglin dave.anglin@nrc.ca
i386 port Richard Henderson rth@redhat.com
-i860 port Jason Eckhardt jle@rice.edu
ia64 port Jim Wilson wilson@specifixinc.com
-ip2k port Denis Chertykov denisc@overta.ru
iq2000 port Nick Clifton nickc@redhat.com
m32c port DJ Delorie dj@redhat.com
m32r port Nick Clifton nickc@redhat.com
@@ -69,7 +67,7 @@ mips port Richard Sandiford richard@codesourcery.com
mmix port Hans-Peter Nilsson hp@bitrange.com
mn10300 port Jeff Law law@redhat.com
mn10300 port Alexandre Oliva aoliva@redhat.com
-ns32k port Ian Dall ian@beware.dropbear.id.au
+ms1 port Aldy Hernandez aldyh@redhat.com
pdp11 port Paul Koning ni1d@arrl.net
rs6000 port Geoff Keating geoffk@geoffk.org
rs6000 port David Edelsohn dje@watson.ibm.com
@@ -179,6 +177,7 @@ option handling Neil Booth neil@daikokuya.co.uk
libffi testsuite Andreas Tobler andreast@gcc.gnu.org
testsuite Janis Johnson janis187@us.ibm.com
middle-end Roger Sayle roger@eyesopen.com
+middle-end Ian Lance Taylor ian@airs.com
tree-ssa Diego Novillo dnovillo@redhat.com
tree-ssa Andrew MacLeod amacleod@redhat.com
PRE, points-to Daniel Berlin dberlin@dberlin.org
@@ -227,6 +226,7 @@ Josh Conner jconner@apple.com
R. Kelley Cook kcook@gcc.gnu.org
Christian Cornelssen ccorn@cs.tu-berlin.de
François-Xavier Coudert coudert@clipper.ens.fr
+Ian Dall ian@beware.dropbear.id.au
David Daney ddaney@avtrex.com
Bud Davis bdavis9659@comcast.net
Jerry DeLisle jvdelisle@verizon.net
@@ -264,6 +264,7 @@ Jeff Knaggs jknaggs@redhat.com
Michael Koch konqueror@gmx.de
Thomas Koenig Thomas.Koenig@online.de
Matt Kraai kraai@ftbfs.org
+Andreas Krebbel krebbel1@de.ibm.com
Scott Robert Ladd scott.ladd@coyotegulch.com
Razya Ladelsky razya@gcc.gnu.org
Aaron W. LaFramboise aaronavay62@aaronwl.com
@@ -304,6 +305,7 @@ Tom Rix trix@redhat.com
Craig Rodrigues rodrigc@gcc.gnu.org
Gavin Romig-Koch gavin@redhat.com
Ira Rosen irar@il.ibm.com
+Maciej W. Rozycki macro@linux-mips.org
Ira Ruben ira@apple.com
Douglas Rupp rupp@gnat.com
Matthew Sachs msachs@apple.com
diff --git a/Makefile.def b/Makefile.def
index 0f3d95d5095..2eed19d45a5 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -223,6 +223,7 @@ flags_to_pass = { flag= DLLTOOL_FOR_TARGET ; };
flags_to_pass = { flag= GCJ_FOR_TARGET ; };
flags_to_pass = { flag= GFORTRAN_FOR_TARGET ; };
flags_to_pass = { flag= LD_FOR_TARGET ; };
+flags_to_pass = { flag= LDFLAGS_FOR_TARGET ; };
flags_to_pass = { flag= LIBCFLAGS_FOR_TARGET ; };
flags_to_pass = { flag= LIBCXXFLAGS_FOR_TARGET ; };
flags_to_pass = { flag= NM_FOR_TARGET ; };
@@ -416,6 +417,7 @@ lang_env_dependencies = { module=libgfortran; };
lang_env_dependencies = { module=libffi; };
lang_env_dependencies = { module=libjava; cxx=true; };
lang_env_dependencies = { module=libobjc; };
+lang_env_dependencies = { module=libssp; };
lang_env_dependencies = { module=libstdc++-v3; };
lang_env_dependencies = { module=zlib; };
diff --git a/Makefile.in b/Makefile.in
index 83c97391f66..3c1e0a1a2f4 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -351,8 +351,8 @@ CONFIGURED_AS_FOR_TARGET=@CONFIGURED_AS_FOR_TARGET@
USUAL_AS_FOR_TARGET = ` \
if [ -f $$r/$(HOST_SUBDIR)/gas/as-new ] ; then \
echo $$r/$(HOST_SUBDIR)/gas/as-new ; \
- elif [ -f $$r/$(HOST_SUBDIR)/gcc/xgcc ]; then \
- $(CC_FOR_TARGET) -print-prog-name=as ; \
+ elif [ -f $$r/$(HOST_SUBDIR)/gcc/as ]; then \
+ echo $$r/$(HOST_SUBDIR)/gcc/as ; \
else \
if [ '$(host)' = '$(target)' ] ; then \
echo $(AS); \
@@ -361,29 +361,93 @@ USUAL_AS_FOR_TARGET = ` \
fi; \
fi`
-CC_FOR_TARGET = @CC_FOR_TARGET@
-SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
+CC_FOR_TARGET=$(STAGE_CC_WRAPPER) @CC_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+CONFIGURED_CC_FOR_TARGET=@CONFIGURED_CC_FOR_TARGET@
+USUAL_CC_FOR_TARGET = ` \
+ if [ -f $$r/$(HOST_SUBDIR)/gcc/xgcc ] ; then \
+ echo $$r/$(HOST_SUBDIR)/gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/ ; \
+ else \
+ if [ '$(host)' = '$(target)' ] ; then \
+ echo $(CC); \
+ else \
+ echo $(CONFIGURED_CC_FOR_TARGET) ; \
+ fi; \
+ fi`
+
# During gcc bootstrap, if we use some random cc for stage1 then
# CFLAGS will be just -g. We want to ensure that TARGET libraries
# (which we know are built with gcc) are built with optimizations so
# prepend -O2 when setting CFLAGS_FOR_TARGET.
CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
+SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
+
# If GCC_FOR_TARGET is not overriden on the command line, then this
# variable is passed down to the gcc Makefile, where it is used to
# build libgcc2.a. We define it here so that it can itself be
# overridden on the command line.
GCC_FOR_TARGET=@GCC_FOR_TARGET@
+CONFIGURED_GCC_FOR_TARGET=@CONFIGURED_GCC_FOR_TARGET@
USUAL_GCC_FOR_TARGET = $(STAGE_CC_WRAPPER) \
$$r/$(HOST_SUBDIR)/gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/ $(FLAGS_FOR_TARGET)
LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
-CXX_FOR_TARGET = @CXX_FOR_TARGET@
-RAW_CXX_FOR_TARGET = @RAW_CXX_FOR_TARGET@
-CXX_FOR_TARGET_FOR_RECURSIVE_MAKE = @CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@
-RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE = @RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@
+CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+CONFIGURED_CXX_FOR_TARGET=@CONFIGURED_CXX_FOR_TARGET@
+USUAL_CXX_FOR_TARGET = ` \
+ if [ -f $$r/$(HOST_SUBDIR)/gcc/g++ ] ; then \
+ (echo $$r/$(HOST_SUBDIR)/gcc/g++ -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++; \
+ test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes; \
+ echo -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs) | tr '\015\012' ' '; \
+ else \
+ if [ '$(host)' = '$(target)' ] ; then \
+ echo $(CXX); \
+ else \
+ echo $(CONFIGURED_CXX_FOR_TARGET) ; \
+ fi; \
+ fi`
+
+RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+USUAL_RAW_CXX_FOR_TARGET = ` \
+ if [ -f $$r/$(HOST_SUBDIR)/gcc/xgcc ] ; then \
+ echo $$r/$(HOST_SUBDIR)/gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++ -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs; \
+ else \
+ if [ '$(host)' = '$(target)' ] ; then \
+ echo $(CXX); \
+ else \
+ echo $(CONFIGURED_CXX_FOR_TARGET) ; \
+ fi; \
+ fi`
+
CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
+GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+CONFIGURED_GCJ_FOR_TARGET=@CONFIGURED_GCJ_FOR_TARGET@
+USUAL_GCJ_FOR_TARGET = ` \
+ if [ -f $$r/$(HOST_SUBDIR)/gcc/gcj ] ; then \
+ echo $$r/$(HOST_SUBDIR)/gcc/gcj -B$$r/$(HOST_SUBDIR)/gcc ; \
+ else \
+ if [ '$(host)' = '$(target)' ] ; then \
+ echo $(GCJ); \
+ else \
+ echo $(CONFIGURED_GCJ_FOR_TARGET) ; \
+ fi; \
+ fi`
+
+GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+CONFIGURED_GFORTRAN_FOR_TARGET=@CONFIGURED_GFORTRAN_FOR_TARGET@
+USUAL_GFORTRAN_FOR_TARGET = ` \
+ if [ -f $$r/$(HOST_SUBDIR)/gcc/gfortran ] ; then \
+ echo $$r/$(HOST_SUBDIR)/gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc ; \
+ else \
+ if [ '$(host)' = '$(target)' ] ; then \
+ echo $(GFORTRAN); \
+ else \
+ echo $(CONFIGURED_GFORTRAN_FOR_TARGET) ; \
+ fi; \
+ fi`
+
+
DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
CONFIGURED_DLLTOOL_FOR_TARGET=@CONFIGURED_DLLTOOL_FOR_TARGET@
USUAL_DLLTOOL_FOR_TARGET = ` \
@@ -397,16 +461,13 @@ USUAL_DLLTOOL_FOR_TARGET = ` \
fi; \
fi`
-GCJ_FOR_TARGET = @GCJ_FOR_TARGET@
-GFORTRAN_FOR_TARGET = @GFORTRAN_FOR_TARGET@
-
LD_FOR_TARGET=@LD_FOR_TARGET@
CONFIGURED_LD_FOR_TARGET=@CONFIGURED_LD_FOR_TARGET@
USUAL_LD_FOR_TARGET = ` \
if [ -f $$r/$(HOST_SUBDIR)/ld/ld-new ] ; then \
echo $$r/$(HOST_SUBDIR)/ld/ld-new ; \
- elif [ -f $$r/$(HOST_SUBDIR)/gcc/xgcc ]; then \
- $(CC_FOR_TARGET) -print-prog-name=ld ; \
+ elif [ -f $$r/$(HOST_SUBDIR)/gcc/collect-ld ]; then \
+ echo $$r/$(HOST_SUBDIR)/gcc/collect-ld ; \
else \
if [ '$(host)' = '$(target)' ] ; then \
echo $(LD); \
@@ -422,8 +483,8 @@ CONFIGURED_NM_FOR_TARGET=@CONFIGURED_NM_FOR_TARGET@
USUAL_NM_FOR_TARGET = ` \
if [ -f $$r/$(HOST_SUBDIR)/binutils/nm-new ] ; then \
echo $$r/$(HOST_SUBDIR)/binutils/nm-new ; \
- elif [ -f $$r/$(HOST_SUBDIR)/gcc/xgcc ]; then \
- $(CC_FOR_TARGET) -print-prog-name=nm ; \
+ elif [ -f $$r/$(HOST_SUBDIR)/gcc/nm ]; then \
+ echo $$r/$(HOST_SUBDIR)/gcc/nm ; \
else \
if [ '$(host)' = '$(target)' ] ; then \
echo $(NM); \
@@ -575,6 +636,7 @@ BASE_FLAGS_TO_PASS = \
"GCJ_FOR_TARGET=$(GCJ_FOR_TARGET)" \
"GFORTRAN_FOR_TARGET=$(GFORTRAN_FOR_TARGET)" \
"LD_FOR_TARGET=$(LD_FOR_TARGET)" \
+ "LDFLAGS_FOR_TARGET=$(LDFLAGS_FOR_TARGET)" \
"LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
"LIBCXXFLAGS_FOR_TARGET=$(LIBCXXFLAGS_FOR_TARGET)" \
"NM_FOR_TARGET=$(NM_FOR_TARGET)" \
@@ -583,16 +645,8 @@ BASE_FLAGS_TO_PASS = \
"CONFIG_SHELL=$(SHELL)" \
"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)"
-# For any flags above that may contain shell code that varies from one
-# target library to another. When doing recursive invocations of the
-# top-level Makefile, we don't want the outer make to evaluate them,
-# so we pass these variables down unchanged. They must not contain
-# single nor double quotes.
-RECURSE_FLAGS = \
- CXX_FOR_TARGET='$(CXX_FOR_TARGET_FOR_RECURSIVE_MAKE)' \
- RAW_CXX_FOR_TARGET='$(RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE)' \
-
-RECURSE_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS)
+# We leave this in just in case, but it is not needed anymore.
+RECURSE_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS)
# Flags to pass down to most sub-makes, in which we're building with
# the host environment.
@@ -633,6 +687,7 @@ EXTRA_TARGET_FLAGS = \
'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
'LD=$$(LD_FOR_TARGET)' \
+ 'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \
'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \
'NM=$$(NM_FOR_TARGET)' \
@@ -1991,7 +2046,7 @@ mail-report-with-warnings.log: warning.log
# Installation targets.
.PHONY: install uninstall
-install: unstage installdirs install-host install-target stage
+install: installdirs install-host install-target
.PHONY: install-host-nogcc
install-host-nogcc: \
@@ -34973,6 +35028,8 @@ configure-target-libjava: maybe-all-target-libstdc++-v3
configure-target-libobjc: maybe-all-target-newlib maybe-all-target-libgloss
+configure-target-libssp: maybe-all-target-newlib maybe-all-target-libgloss
+
configure-target-libstdc++-v3: maybe-all-target-newlib maybe-all-target-libgloss
configure-target-zlib: maybe-all-target-newlib maybe-all-target-libgloss
diff --git a/Makefile.tpl b/Makefile.tpl
index 9003f9eb995..f8a120c96c3 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -354,8 +354,8 @@ CONFIGURED_AS_FOR_TARGET=@CONFIGURED_AS_FOR_TARGET@
USUAL_AS_FOR_TARGET = ` \
if [ -f $$r/$(HOST_SUBDIR)/gas/as-new ] ; then \
echo $$r/$(HOST_SUBDIR)/gas/as-new ; \
- elif [ -f $$r/$(HOST_SUBDIR)/gcc/xgcc ]; then \
- $(CC_FOR_TARGET) -print-prog-name=as ; \
+ elif [ -f $$r/$(HOST_SUBDIR)/gcc/as ]; then \
+ echo $$r/$(HOST_SUBDIR)/gcc/as ; \
else \
if [ '$(host)' = '$(target)' ] ; then \
echo $(AS); \
@@ -364,29 +364,93 @@ USUAL_AS_FOR_TARGET = ` \
fi; \
fi`
-CC_FOR_TARGET = @CC_FOR_TARGET@
-SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
+CC_FOR_TARGET=$(STAGE_CC_WRAPPER) @CC_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+CONFIGURED_CC_FOR_TARGET=@CONFIGURED_CC_FOR_TARGET@
+USUAL_CC_FOR_TARGET = ` \
+ if [ -f $$r/$(HOST_SUBDIR)/gcc/xgcc ] ; then \
+ echo $$r/$(HOST_SUBDIR)/gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/ ; \
+ else \
+ if [ '$(host)' = '$(target)' ] ; then \
+ echo $(CC); \
+ else \
+ echo $(CONFIGURED_CC_FOR_TARGET) ; \
+ fi; \
+ fi`
+
# During gcc bootstrap, if we use some random cc for stage1 then
# CFLAGS will be just -g. We want to ensure that TARGET libraries
# (which we know are built with gcc) are built with optimizations so
# prepend -O2 when setting CFLAGS_FOR_TARGET.
CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
+SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
+
# If GCC_FOR_TARGET is not overriden on the command line, then this
# variable is passed down to the gcc Makefile, where it is used to
# build libgcc2.a. We define it here so that it can itself be
# overridden on the command line.
GCC_FOR_TARGET=@GCC_FOR_TARGET@
+CONFIGURED_GCC_FOR_TARGET=@CONFIGURED_GCC_FOR_TARGET@
USUAL_GCC_FOR_TARGET = $(STAGE_CC_WRAPPER) \
$$r/$(HOST_SUBDIR)/gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/ $(FLAGS_FOR_TARGET)
LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
-CXX_FOR_TARGET = @CXX_FOR_TARGET@
-RAW_CXX_FOR_TARGET = @RAW_CXX_FOR_TARGET@
-CXX_FOR_TARGET_FOR_RECURSIVE_MAKE = @CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@
-RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE = @RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@
+CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+CONFIGURED_CXX_FOR_TARGET=@CONFIGURED_CXX_FOR_TARGET@
+USUAL_CXX_FOR_TARGET = ` \
+ if [ -f $$r/$(HOST_SUBDIR)/gcc/g++ ] ; then \
+ (echo $$r/$(HOST_SUBDIR)/gcc/g++ -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++; \
+ test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes; \
+ echo -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs) | tr '\015\012' ' '; \
+ else \
+ if [ '$(host)' = '$(target)' ] ; then \
+ echo $(CXX); \
+ else \
+ echo $(CONFIGURED_CXX_FOR_TARGET) ; \
+ fi; \
+ fi`
+
+RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+USUAL_RAW_CXX_FOR_TARGET = ` \
+ if [ -f $$r/$(HOST_SUBDIR)/gcc/xgcc ] ; then \
+ echo $$r/$(HOST_SUBDIR)/gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++ -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs; \
+ else \
+ if [ '$(host)' = '$(target)' ] ; then \
+ echo $(CXX); \
+ else \
+ echo $(CONFIGURED_CXX_FOR_TARGET) ; \
+ fi; \
+ fi`
+
CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
+GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+CONFIGURED_GCJ_FOR_TARGET=@CONFIGURED_GCJ_FOR_TARGET@
+USUAL_GCJ_FOR_TARGET = ` \
+ if [ -f $$r/$(HOST_SUBDIR)/gcc/gcj ] ; then \
+ echo $$r/$(HOST_SUBDIR)/gcc/gcj -B$$r/$(HOST_SUBDIR)/gcc ; \
+ else \
+ if [ '$(host)' = '$(target)' ] ; then \
+ echo $(GCJ); \
+ else \
+ echo $(CONFIGURED_GCJ_FOR_TARGET) ; \
+ fi; \
+ fi`
+
+GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+CONFIGURED_GFORTRAN_FOR_TARGET=@CONFIGURED_GFORTRAN_FOR_TARGET@
+USUAL_GFORTRAN_FOR_TARGET = ` \
+ if [ -f $$r/$(HOST_SUBDIR)/gcc/gfortran ] ; then \
+ echo $$r/$(HOST_SUBDIR)/gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc ; \
+ else \
+ if [ '$(host)' = '$(target)' ] ; then \
+ echo $(GFORTRAN); \
+ else \
+ echo $(CONFIGURED_GFORTRAN_FOR_TARGET) ; \
+ fi; \
+ fi`
+
+
DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
CONFIGURED_DLLTOOL_FOR_TARGET=@CONFIGURED_DLLTOOL_FOR_TARGET@
USUAL_DLLTOOL_FOR_TARGET = ` \
@@ -400,16 +464,13 @@ USUAL_DLLTOOL_FOR_TARGET = ` \
fi; \
fi`
-GCJ_FOR_TARGET = @GCJ_FOR_TARGET@
-GFORTRAN_FOR_TARGET = @GFORTRAN_FOR_TARGET@
-
LD_FOR_TARGET=@LD_FOR_TARGET@
CONFIGURED_LD_FOR_TARGET=@CONFIGURED_LD_FOR_TARGET@
USUAL_LD_FOR_TARGET = ` \
if [ -f $$r/$(HOST_SUBDIR)/ld/ld-new ] ; then \
echo $$r/$(HOST_SUBDIR)/ld/ld-new ; \
- elif [ -f $$r/$(HOST_SUBDIR)/gcc/xgcc ]; then \
- $(CC_FOR_TARGET) -print-prog-name=ld ; \
+ elif [ -f $$r/$(HOST_SUBDIR)/gcc/collect-ld ]; then \
+ echo $$r/$(HOST_SUBDIR)/gcc/collect-ld ; \
else \
if [ '$(host)' = '$(target)' ] ; then \
echo $(LD); \
@@ -425,8 +486,8 @@ CONFIGURED_NM_FOR_TARGET=@CONFIGURED_NM_FOR_TARGET@
USUAL_NM_FOR_TARGET = ` \
if [ -f $$r/$(HOST_SUBDIR)/binutils/nm-new ] ; then \
echo $$r/$(HOST_SUBDIR)/binutils/nm-new ; \
- elif [ -f $$r/$(HOST_SUBDIR)/gcc/xgcc ]; then \
- $(CC_FOR_TARGET) -print-prog-name=nm ; \
+ elif [ -f $$r/$(HOST_SUBDIR)/gcc/nm ]; then \
+ echo $$r/$(HOST_SUBDIR)/gcc/nm ; \
else \
if [ '$(host)' = '$(target)' ] ; then \
echo $(NM); \
@@ -519,16 +580,8 @@ BASE_FLAGS_TO_PASS = [+ FOR flags_to_pass +]\
"CONFIG_SHELL=$(SHELL)" \
"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)"
-# For any flags above that may contain shell code that varies from one
-# target library to another. When doing recursive invocations of the
-# top-level Makefile, we don't want the outer make to evaluate them,
-# so we pass these variables down unchanged. They must not contain
-# single nor double quotes.
-RECURSE_FLAGS = \
- CXX_FOR_TARGET='$(CXX_FOR_TARGET_FOR_RECURSIVE_MAKE)' \
- RAW_CXX_FOR_TARGET='$(RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE)' \
-
-RECURSE_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS)
+# We leave this in just in case, but it is not needed anymore.
+RECURSE_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS)
# Flags to pass down to most sub-makes, in which we're building with
# the host environment.
@@ -569,6 +622,7 @@ EXTRA_TARGET_FLAGS = \
'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
'LD=$$(LD_FOR_TARGET)' \
+ 'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \
'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \
'NM=$$(NM_FOR_TARGET)' \
@@ -748,7 +802,7 @@ mail-report-with-warnings.log: warning.log
# Installation targets.
.PHONY: install uninstall
-install: unstage installdirs install-host install-target stage
+install: installdirs install-host install-target
.PHONY: install-host-nogcc
install-host-nogcc: [+
diff --git a/config/ChangeLog b/config/ChangeLog
index 3826dfb3751..c90079c72c8 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,14 @@
+2005-08-12 Paolo Bonzini <bonzini@gnu.org>
+
+ * config/acx.m4 (NCN_CHECK_TARGET_TOOL, NCN_STRICT_CHECK_TOOL,
+ NCN_STRICT_CHECK_TARGET_TOOL): Remove.
+ (NCN_STRICT_CHECK_TOOLS, NCN_STRICT_CHECK_TARGET_TOOLS): New,
+ based on the deleted macros.
+
+2005-07-27 Mark Mitchell <mark@codesourcery.com>
+
+ * mt-gnu (CXXFLAGS): Include SYSROOT_CFLAGS_FOR_TARGET.
+
2005-07-16 Kelley Cook <kcook@gcc.gnu.org>
* all files: Update FSF address.
diff --git a/config/acx.m4 b/config/acx.m4
index b52342cf4ed..94e3216367b 100644
--- a/config/acx.m4
+++ b/config/acx.m4
@@ -103,72 +103,58 @@ test -n "$target_alias" && ncn_target_tool_prefix=$target_alias-
]) []dnl # _NCN_TOOL_PREFIXES
####
-# NCN_CHECK_TARGET_TOOL(variable, prog-to-check-for,[value-if-not-found],[path])
-# Like AC_CHECK_TOOL, but tries a prefix of the target, not the host.
-# Code is pretty much lifted from autoconf2.53.
+# NCN_STRICT_CHECK_TOOLS(variable, progs-to-check-for,[value-if-not-found],[path])
+# Like plain AC_CHECK_TOOLS, but require prefix if build!=target.
-AC_DEFUN([NCN_CHECK_TARGET_TOOL],
+AC_DEFUN([NCN_STRICT_CHECK_TOOLS],
[AC_REQUIRE([_NCN_TOOL_PREFIXES]) []dnl
-if test -n "$ncn_target_tool_prefix"; then
- AC_CHECK_PROG([$1], [${ncn_target_tool_prefix}$2],
- [${ncn_target_tool_prefix}$2], , [$4])
-fi
-if test -z "$ac_cv_prog_$1" ; then
- ncn_cv_$1=$$1
- AC_CHECK_PROG([ncn_cv_$1], [$2], [$2], [$3], [$4])
- $1=$ncn_cv_$1
-else
- $1="$ac_cv_prog_$1"
-fi
-]) []dnl # NCN_CHECK_TARGET_TOOL
-
-
-####
-# NCN_STRICT_CHECK_TOOL(variable, prog-to-check-for,[value-if-not-found],[path])
-# Like AC_CHECK_TOOL, but requires the prefix if build!=host.
+for ncn_progname in $2; do
+ if test -n "$ncn_tool_prefix"; then
+ AC_CHECK_PROG([$1], [${ncn_tool_prefix}${ncn_progname}],
+ [${ncn_tool_prefix}${ncn_progname}], , [$4])
+ fi
+ if test -z "$ac_cv_prog_$1" && test $build = $host ; then
+ AC_CHECK_PROG([$1], [${ncn_progname}], [${ncn_progname}], , [$4])
+ fi
+ test -n "$ac_cv_prog_$1" && break
+done
-AC_DEFUN([NCN_STRICT_CHECK_TOOL],
-[AC_REQUIRE([_NCN_TOOL_PREFIXES]) []dnl
-if test -n "$ncn_tool_prefix"; then
- AC_CHECK_PROG([$1], [${ncn_tool_prefix}$2],
- [${ncn_tool_prefix}$2], , [$4])
-fi
if test -z "$ac_cv_prog_$1" ; then
+ ifelse([$3],[], [set dummy $2
if test $build = $host ; then
- ncn_cv_$1=$$1
- AC_CHECK_PROG([ncn_cv_$1], [$2], [$2], [ifelse([$3],[],[$2],[$3])], [$4])
- $1=$ncn_cv_$1
+ $1="[$]2"
else
- $1="ifelse([$3],[],[${ncn_tool_prefix}$2],[$3])"
- fi
-else
- $1="$ac_cv_prog_$1"
+ $1="${ncn_tool_prefix}[$]2"
+ fi], [$1="$3"])
fi
-]) []dnl # NCN_STRICT_CHECK_TOOL
-
+]) []dnl # NCN_STRICT_CHECK_TOOLS
####
-# NCN_STRICT_CHECK_TARGET_TOOL(variable, prog-to-check-for,[value-if-not-found],[path])
-# Like NCN_CHECK_TARGET_TOOL, but requires the prefix if build!=target.
+# NCN_STRICT_CHECK_TARGET_TOOLS(variable, progs-to-check-for,[value-if-not-found],[path])
+# Like CVS Autoconf AC_CHECK_TARGET_TOOLS, but require prefix if build!=target.
-AC_DEFUN([NCN_STRICT_CHECK_TARGET_TOOL],
+AC_DEFUN([NCN_STRICT_CHECK_TARGET_TOOLS],
[AC_REQUIRE([_NCN_TOOL_PREFIXES]) []dnl
-if test -n "$ncn_target_tool_prefix"; then
- AC_CHECK_PROG([$1], [${ncn_target_tool_prefix}$2],
- [${ncn_target_tool_prefix}$2], , [$4])
-fi
+for ncn_progname in $2; do
+ if test -n "$ncn_target_tool_prefix"; then
+ AC_CHECK_PROG([$1], [${ncn_target_tool_prefix}${ncn_progname}],
+ [${ncn_target_tool_prefix}${ncn_progname}], , [$4])
+ fi
+ if test -z "$ac_cv_prog_$1" && test $build = $target ; then
+ AC_CHECK_PROG([$1], [${ncn_progname}], [${ncn_progname}], , [$4])
+ fi
+ test -n "$ac_cv_prog_$1" && break
+done
+
if test -z "$ac_cv_prog_$1" ; then
+ ifelse([$3],[], [set dummy $2
if test $build = $target ; then
- ncn_cv_$1=$$1
- AC_CHECK_PROG([ncn_cv_$1], [$2], [$2], [ifelse([$3],[],[$2],[$3])], [$4])
- $1=$ncn_cv_$1
+ $1="[$]2"
else
- $1="ifelse([$3],[],[${ncn_target_tool_prefix}$2],[$3])"
- fi
-else
- $1="$ac_cv_prog_$1"
+ $1="${ncn_target_tool_prefix}[$]2"
+ fi], [$1="$3"])
fi
-]) []dnl # NCN_STRICT_CHECK_TARGET_TOOL
+]) []dnl # NCN_STRICT_CHECK_TARGET_TOOLS
###
# AC_PROG_CPP_WERROR
diff --git a/config/mt-gnu b/config/mt-gnu
index 15bf4171603..f05c4f92f66 100644
--- a/config/mt-gnu
+++ b/config/mt-gnu
@@ -1 +1 @@
-CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -D_GNU_SOURCE
+CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) -D_GNU_SOURCE
diff --git a/configure b/configure
index bd6e695a396..2dea64a1566 100755
--- a/configure
+++ b/configure
@@ -1213,7 +1213,7 @@ case "${target}" in
noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda ${libgcj}"
;;
*-*-vxworks*)
- noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty ${libgcj}"
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty target-libstdc++-v3 ${libgcj}"
;;
m32c-*-*)
noconfigdirs="$noconfigdirs target-libstdc++-v3"
@@ -1792,10 +1792,6 @@ if test "${build}" != "${host}" ; then
CXX=${CXX-${host_alias}-c++}
CXXFLAGS=${CXXFLAGS-"-g -O2"}
CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
- CC_FOR_TARGET=${CC_FOR_TARGET-${target_alias}-gcc}
- CXX_FOR_TARGET=${CXX_FOR_TARGET-${target_alias}-c++}
- GCJ_FOR_TARGET=${GCJ_FOR_TARGET-${target_alias}-gcj}
- GCC_FOR_TARGET=${GCC_FOR_TARGET-${CC_FOR_TARGET-${target_alias}-gcc}}
BUILD_PREFIX=${build_alias}-
BUILD_PREFIX_1=${build_alias}-
@@ -1809,14 +1805,13 @@ else
# This is all going to change when we autoconfiscate...
CC_FOR_BUILD="\$(CC)"
- GCC_FOR_TARGET="\$(USUAL_GCC_FOR_TARGET)"
BUILD_PREFIX=
BUILD_PREFIX_1=loser-
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1820: checking for $ac_word" >&5
+echo "configure:1815: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1846,7 +1841,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1850: checking for $ac_word" >&5
+echo "configure:1845: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1897,7 +1892,7 @@ fi
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1901: checking for $ac_word" >&5
+echo "configure:1896: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1929,7 +1924,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1933: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1928: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1940,12 +1935,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext << EOF
-#line 1944 "configure"
+#line 1939 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:1949: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1944: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -1971,12 +1966,12 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1975: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1970: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1980: checking whether we are using GNU C" >&5
+echo "configure:1975: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1985,7 +1980,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1989: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1984: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -2004,7 +1999,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:2008: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:2003: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2071,7 +2066,7 @@ fi
# Extract the first word of "${ac_tool_prefix}gnatbind", so it can be a program name with args.
set dummy ${ac_tool_prefix}gnatbind; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2075: checking for $ac_word" >&5
+echo "configure:2070: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_GNATBIND'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2103,7 +2098,7 @@ if test -n "$ac_tool_prefix"; then
# Extract the first word of "gnatbind", so it can be a program name with args.
set dummy gnatbind; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2107: checking for $ac_word" >&5
+echo "configure:2102: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_GNATBIND'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2136,7 +2131,7 @@ fi
fi
echo $ac_n "checking whether compiler driver understands Ada""... $ac_c" 1>&6
-echo "configure:2140: checking whether compiler driver understands Ada" >&5
+echo "configure:2135: checking whether compiler driver understands Ada" >&5
if eval "test \"`echo '$''{'acx_cv_cc_gcc_supports_ada'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2168,7 +2163,7 @@ else
fi
echo $ac_n "checking how to compare bootstrapped objects""... $ac_c" 1>&6
-echo "configure:2172: checking how to compare bootstrapped objects" >&5
+echo "configure:2167: checking how to compare bootstrapped objects" >&5
if eval "test \"`echo '$''{'gcc_cv_prog_cmp_skip'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2266,9 +2261,9 @@ saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $gmpinc"
# Check GMP actually works
echo $ac_n "checking for correct version of gmp.h""... $ac_c" 1>&6
-echo "configure:2270: checking for correct version of gmp.h" >&5
+echo "configure:2265: checking for correct version of gmp.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 2272 "configure"
+#line 2267 "configure"
#include "confdefs.h"
#include "gmp.h"
int main() {
@@ -2279,7 +2274,7 @@ choke me
; return 0; }
EOF
-if { (eval echo configure:2283: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2278: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
else
@@ -2292,12 +2287,12 @@ rm -f conftest*
if test x"$have_gmp" = xyes; then
echo $ac_n "checking for MPFR""... $ac_c" 1>&6
-echo "configure:2296: checking for MPFR" >&5
+echo "configure:2291: checking for MPFR" >&5
saved_LIBS="$LIBS"
LIBS="$LIBS $gmplibs"
cat > conftest.$ac_ext <<EOF
-#line 2301 "configure"
+#line 2296 "configure"
#include "confdefs.h"
#include <gmp.h>
#include <mpfr.h>
@@ -2305,7 +2300,7 @@ int main() {
mpfr_t n; mpfr_init(n);
; return 0; }
EOF
-if { (eval echo configure:2309: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2304: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
else
@@ -2811,7 +2806,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2815: checking for $ac_word" >&5
+echo "configure:2810: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_BISON'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2846,7 +2841,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2850: checking for $ac_word" >&5
+echo "configure:2845: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_YACC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2881,7 +2876,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2885: checking for $ac_word" >&5
+echo "configure:2880: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_M4'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2916,7 +2911,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2920: checking for $ac_word" >&5
+echo "configure:2915: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_FLEX'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2951,7 +2946,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2955: checking for $ac_word" >&5
+echo "configure:2950: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_LEX'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2986,7 +2981,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2990: checking for $ac_word" >&5
+echo "configure:2985: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_MAKEINFO'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3463,89 +3458,6 @@ if test "x${use_gnu_ld}" = x &&
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(HOST_SUBDIR)/ld'
fi
-if test "x${CC_FOR_TARGET+set}" = xset; then
- :
-elif test -d ${srcdir}/gcc; then
- CC_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/'
-elif test "$host" = "$target"; then
- CC_FOR_TARGET='$(CC)'
-else
- CC_FOR_TARGET=`echo gcc | sed "${program_transform_name}"`
-fi
-CC_FOR_TARGET=$CC_FOR_TARGET' $(FLAGS_FOR_TARGET)'
-
-if test "x${GCJ_FOR_TARGET+set}" = xset; then
- :
-elif test -d ${srcdir}/gcc; then
- GCJ_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/gcj -B$$r/$(HOST_SUBDIR)/gcc/'
-elif test "$host" = "$target"; then
- GCJ_FOR_TARGET='gcj'
-else
- GCJ_FOR_TARGET=`echo gcj | sed "${program_transform_name}"`
-fi
-GCJ_FOR_TARGET=$GCJ_FOR_TARGET' $(FLAGS_FOR_TARGET)'
-
-if test "x${GFORTRAN_FOR_TARGET+set}" = xset; then
- :
-elif test -d ${srcdir}/gcc; then
- GFORTRAN_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/'
-elif test "$host" = "$target"; then
- GFORTRAN_FOR_TARGET='gfortran'
-else
- GFORTRAN_FOR_TARGET=`echo gfortran | sed "${program_transform_name}"`
-fi
-case $GFORTRAN_FOR_TARGET in
-*' $(FLAGS_FOR_TARGET)') ;;
-*) GFORTRAN_FOR_TARGET=$GFORTRAN_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
-esac
-
-# Don't use libstdc++-v3's flags to configure/build itself.
-libstdcxx_flags='`test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
-raw_libstdcxx_flags='-L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
-
-if test "x${CXX_FOR_TARGET+set}" = xset; then
- if test "x${RAW_CXX_FOR_TARGET+set}" != xset; then
- RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
- fi
-elif test -d ${srcdir}/gcc; then
- # We add -shared-libgcc to CXX_FOR_TARGET whenever we use xgcc instead
- # of g++ for linking C++ or Java, because g++ has -shared-libgcc by
- # default whereas gcc does not.
- # RAW_CXX_FOR_TARGET is for linking C++ or java; CXX_FOR_TARGET is for
- # all other cases.
- CXX_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/g++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ '$libstdcxx_flags
- RAW_CXX_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ '$raw_libstdcxx_flags
-elif test "$host" = "$target"; then
- CXX_FOR_TARGET='$(CXX)'
- RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
-else
- CXX_FOR_TARGET=`echo c++ | sed "${program_transform_name}"`
- RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
-fi
-CXX_FOR_TARGET=$CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)'
-RAW_CXX_FOR_TARGET=$RAW_CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)'
-
-qCXX_FOR_TARGET=`echo "$CXX_FOR_TARGET" | sed 's,[&%],\\\&,g'`
-qRAW_CXX_FOR_TARGET=`echo "$RAW_CXX_FOR_TARGET" | sed 's,[&%],\\\&,g'`
-
-# We want to defer the evaluation of `cmd`s and shell variables in
-# CXX_FOR_TARGET when recursing in the top-level Makefile, such as for
-# bootstrap. We'll enclose CXX_FOR_TARGET_FOR_RECURSIVE_MAKE in single
-# quotes, but we still have to duplicate `$'s so that shell variables
-# can be expanded by the nested make as shell variables, not as make
-# macros.
-qqCXX_FOR_TARGET=`echo "$qCXX_FOR_TARGET" | sed -e 's,[$][$],$$$$,g'`
-qqRAW_CXX_FOR_TARGET=`echo "$qRAW_CXX_FOR_TARGET" | sed -e 's,[$][$],$$$$,g'`
-
-# Wrap CC_FOR_TARGET and friends, for certain types of builds.
-CC_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${CC_FOR_TARGET}"
-GCJ_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${GCJ_FOR_TARGET}"
-GFORTRAN_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${GFORTRAN_FOR_TARGET}"
-CXX_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${qCXX_FOR_TARGET}"
-RAW_CXX_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${qRAW_CXX_FOR_TARGET}"
-CXX_FOR_TARGET_FOR_RECURSIVE_MAKE="\$(STAGE_CC_WRAPPER) ${qqCXX_FOR_TARGET}"
-RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE="\$(STAGE_CC_WRAPPER) ${qqRAW_CXX_FOR_TARGET}"
-
# Makefile fragments.
for frag in host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag;
do
@@ -3589,11 +3501,12 @@ test -n "$host_alias" && ncn_tool_prefix=$host_alias-
ncn_target_tool_prefix=
test -n "$target_alias" && ncn_target_tool_prefix=$target_alias-
- if test -n "$ncn_tool_prefix"; then
- # Extract the first word of "${ncn_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ncn_tool_prefix}ar; ac_word=$2
+ for ncn_progname in ar; do
+ if test -n "$ncn_tool_prefix"; then
+ # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3597: checking for $ac_word" >&5
+echo "configure:3510: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3605,7 +3518,7 @@ else
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AR="${ncn_tool_prefix}ar"
+ ac_cv_prog_AR="${ncn_tool_prefix}${ncn_progname}"
break
fi
done
@@ -3619,53 +3532,56 @@ else
echo "$ac_t""no" 1>&6
fi
-fi
-if test -z "$ac_cv_prog_AR" ; then
- if test $build = $host ; then
- ncn_cv_AR=$AR
- # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
+ fi
+ if test -z "$ac_cv_prog_AR" && test $build = $host ; then
+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3630: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AR'+set}'`\" = set"; then
+echo "configure:3541: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$ncn_cv_AR"; then
- ac_cv_prog_ncn_cv_AR="$ncn_cv_AR" # Let the user override the test.
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_ncn_cv_AR="ar"
+ ac_cv_prog_AR="${ncn_progname}"
break
fi
done
IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_ncn_cv_AR" && ac_cv_prog_ncn_cv_AR="ar"
fi
fi
-ncn_cv_AR="$ac_cv_prog_ncn_cv_AR"
-if test -n "$ncn_cv_AR"; then
- echo "$ac_t""$ncn_cv_AR" 1>&6
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
else
echo "$ac_t""no" 1>&6
fi
- AR=$ncn_cv_AR
+ fi
+ test -n "$ac_cv_prog_AR" && break
+done
+
+if test -z "$ac_cv_prog_AR" ; then
+ set dummy ar
+ if test $build = $host ; then
+ AR="$2"
else
- AR="${ncn_tool_prefix}ar"
+ AR="${ncn_tool_prefix}$2"
fi
-else
- AR="$ac_cv_prog_AR"
fi
- if test -n "$ncn_tool_prefix"; then
- # Extract the first word of "${ncn_tool_prefix}as", so it can be a program name with args.
-set dummy ${ncn_tool_prefix}as; ac_word=$2
+ for ncn_progname in as; do
+ if test -n "$ncn_tool_prefix"; then
+ # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3669: checking for $ac_word" >&5
+echo "configure:3585: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3677,7 +3593,7 @@ else
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AS="${ncn_tool_prefix}as"
+ ac_cv_prog_AS="${ncn_tool_prefix}${ncn_progname}"
break
fi
done
@@ -3691,53 +3607,56 @@ else
echo "$ac_t""no" 1>&6
fi
-fi
-if test -z "$ac_cv_prog_AS" ; then
- if test $build = $host ; then
- ncn_cv_AS=$AS
- # Extract the first word of "as", so it can be a program name with args.
-set dummy as; ac_word=$2
+ fi
+ if test -z "$ac_cv_prog_AS" && test $build = $host ; then
+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3702: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AS'+set}'`\" = set"; then
+echo "configure:3616: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$ncn_cv_AS"; then
- ac_cv_prog_ncn_cv_AS="$ncn_cv_AS" # Let the user override the test.
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_ncn_cv_AS="as"
+ ac_cv_prog_AS="${ncn_progname}"
break
fi
done
IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_ncn_cv_AS" && ac_cv_prog_ncn_cv_AS="as"
fi
fi
-ncn_cv_AS="$ac_cv_prog_ncn_cv_AS"
-if test -n "$ncn_cv_AS"; then
- echo "$ac_t""$ncn_cv_AS" 1>&6
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
else
echo "$ac_t""no" 1>&6
fi
- AS=$ncn_cv_AS
+ fi
+ test -n "$ac_cv_prog_AS" && break
+done
+
+if test -z "$ac_cv_prog_AS" ; then
+ set dummy as
+ if test $build = $host ; then
+ AS="$2"
else
- AS="${ncn_tool_prefix}as"
+ AS="${ncn_tool_prefix}$2"
fi
-else
- AS="$ac_cv_prog_AS"
fi
- if test -n "$ncn_tool_prefix"; then
- # Extract the first word of "${ncn_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ncn_tool_prefix}dlltool; ac_word=$2
+ for ncn_progname in dlltool; do
+ if test -n "$ncn_tool_prefix"; then
+ # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3741: checking for $ac_word" >&5
+echo "configure:3660: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3749,7 +3668,7 @@ else
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_DLLTOOL="${ncn_tool_prefix}dlltool"
+ ac_cv_prog_DLLTOOL="${ncn_tool_prefix}${ncn_progname}"
break
fi
done
@@ -3763,53 +3682,56 @@ else
echo "$ac_t""no" 1>&6
fi
-fi
-if test -z "$ac_cv_prog_DLLTOOL" ; then
- if test $build = $host ; then
- ncn_cv_DLLTOOL=$DLLTOOL
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
+ fi
+ if test -z "$ac_cv_prog_DLLTOOL" && test $build = $host ; then
+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3774: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_DLLTOOL'+set}'`\" = set"; then
+echo "configure:3691: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$ncn_cv_DLLTOOL"; then
- ac_cv_prog_ncn_cv_DLLTOOL="$ncn_cv_DLLTOOL" # Let the user override the test.
+ if test -n "$DLLTOOL"; then
+ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_ncn_cv_DLLTOOL="dlltool"
+ ac_cv_prog_DLLTOOL="${ncn_progname}"
break
fi
done
IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_ncn_cv_DLLTOOL" && ac_cv_prog_ncn_cv_DLLTOOL="dlltool"
fi
fi
-ncn_cv_DLLTOOL="$ac_cv_prog_ncn_cv_DLLTOOL"
-if test -n "$ncn_cv_DLLTOOL"; then
- echo "$ac_t""$ncn_cv_DLLTOOL" 1>&6
+DLLTOOL="$ac_cv_prog_DLLTOOL"
+if test -n "$DLLTOOL"; then
+ echo "$ac_t""$DLLTOOL" 1>&6
else
echo "$ac_t""no" 1>&6
fi
- DLLTOOL=$ncn_cv_DLLTOOL
+ fi
+ test -n "$ac_cv_prog_DLLTOOL" && break
+done
+
+if test -z "$ac_cv_prog_DLLTOOL" ; then
+ set dummy dlltool
+ if test $build = $host ; then
+ DLLTOOL="$2"
else
- DLLTOOL="${ncn_tool_prefix}dlltool"
+ DLLTOOL="${ncn_tool_prefix}$2"
fi
-else
- DLLTOOL="$ac_cv_prog_DLLTOOL"
fi
- if test -n "$ncn_tool_prefix"; then
- # Extract the first word of "${ncn_tool_prefix}ld", so it can be a program name with args.
-set dummy ${ncn_tool_prefix}ld; ac_word=$2
+ for ncn_progname in ld; do
+ if test -n "$ncn_tool_prefix"; then
+ # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3813: checking for $ac_word" >&5
+echo "configure:3735: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3821,7 +3743,7 @@ else
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_LD="${ncn_tool_prefix}ld"
+ ac_cv_prog_LD="${ncn_tool_prefix}${ncn_progname}"
break
fi
done
@@ -3835,53 +3757,56 @@ else
echo "$ac_t""no" 1>&6
fi
-fi
-if test -z "$ac_cv_prog_LD" ; then
- if test $build = $host ; then
- ncn_cv_LD=$LD
- # Extract the first word of "ld", so it can be a program name with args.
-set dummy ld; ac_word=$2
+ fi
+ if test -z "$ac_cv_prog_LD" && test $build = $host ; then
+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3846: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_LD'+set}'`\" = set"; then
+echo "configure:3766: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$ncn_cv_LD"; then
- ac_cv_prog_ncn_cv_LD="$ncn_cv_LD" # Let the user override the test.
+ if test -n "$LD"; then
+ ac_cv_prog_LD="$LD" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_ncn_cv_LD="ld"
+ ac_cv_prog_LD="${ncn_progname}"
break
fi
done
IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_ncn_cv_LD" && ac_cv_prog_ncn_cv_LD="ld"
fi
fi
-ncn_cv_LD="$ac_cv_prog_ncn_cv_LD"
-if test -n "$ncn_cv_LD"; then
- echo "$ac_t""$ncn_cv_LD" 1>&6
+LD="$ac_cv_prog_LD"
+if test -n "$LD"; then
+ echo "$ac_t""$LD" 1>&6
else
echo "$ac_t""no" 1>&6
fi
- LD=$ncn_cv_LD
+ fi
+ test -n "$ac_cv_prog_LD" && break
+done
+
+if test -z "$ac_cv_prog_LD" ; then
+ set dummy ld
+ if test $build = $host ; then
+ LD="$2"
else
- LD="${ncn_tool_prefix}ld"
+ LD="${ncn_tool_prefix}$2"
fi
-else
- LD="$ac_cv_prog_LD"
fi
- if test -n "$ncn_tool_prefix"; then
- # Extract the first word of "${ncn_tool_prefix}nm", so it can be a program name with args.
-set dummy ${ncn_tool_prefix}nm; ac_word=$2
+ for ncn_progname in nm; do
+ if test -n "$ncn_tool_prefix"; then
+ # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3885: checking for $ac_word" >&5
+echo "configure:3810: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3893,7 +3818,7 @@ else
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_NM="${ncn_tool_prefix}nm"
+ ac_cv_prog_NM="${ncn_tool_prefix}${ncn_progname}"
break
fi
done
@@ -3907,53 +3832,56 @@ else
echo "$ac_t""no" 1>&6
fi
-fi
-if test -z "$ac_cv_prog_NM" ; then
- if test $build = $host ; then
- ncn_cv_NM=$NM
- # Extract the first word of "nm", so it can be a program name with args.
-set dummy nm; ac_word=$2
+ fi
+ if test -z "$ac_cv_prog_NM" && test $build = $host ; then
+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3918: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_NM'+set}'`\" = set"; then
+echo "configure:3841: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$ncn_cv_NM"; then
- ac_cv_prog_ncn_cv_NM="$ncn_cv_NM" # Let the user override the test.
+ if test -n "$NM"; then
+ ac_cv_prog_NM="$NM" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_ncn_cv_NM="nm"
+ ac_cv_prog_NM="${ncn_progname}"
break
fi
done
IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_ncn_cv_NM" && ac_cv_prog_ncn_cv_NM="nm"
fi
fi
-ncn_cv_NM="$ac_cv_prog_ncn_cv_NM"
-if test -n "$ncn_cv_NM"; then
- echo "$ac_t""$ncn_cv_NM" 1>&6
+NM="$ac_cv_prog_NM"
+if test -n "$NM"; then
+ echo "$ac_t""$NM" 1>&6
else
echo "$ac_t""no" 1>&6
fi
- NM=$ncn_cv_NM
+ fi
+ test -n "$ac_cv_prog_NM" && break
+done
+
+if test -z "$ac_cv_prog_NM" ; then
+ set dummy nm
+ if test $build = $host ; then
+ NM="$2"
else
- NM="${ncn_tool_prefix}nm"
+ NM="${ncn_tool_prefix}$2"
fi
-else
- NM="$ac_cv_prog_NM"
fi
- if test -n "$ncn_tool_prefix"; then
- # Extract the first word of "${ncn_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ncn_tool_prefix}ranlib; ac_word=$2
+ for ncn_progname in ranlib; do
+ if test -n "$ncn_tool_prefix"; then
+ # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3957: checking for $ac_word" >&5
+echo "configure:3885: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3965,7 +3893,7 @@ else
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_RANLIB="${ncn_tool_prefix}ranlib"
+ ac_cv_prog_RANLIB="${ncn_tool_prefix}${ncn_progname}"
break
fi
done
@@ -3979,53 +3907,51 @@ else
echo "$ac_t""no" 1>&6
fi
-fi
-if test -z "$ac_cv_prog_RANLIB" ; then
- if test $build = $host ; then
- ncn_cv_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
+ fi
+ if test -z "$ac_cv_prog_RANLIB" && test $build = $host ; then
+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3990: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_RANLIB'+set}'`\" = set"; then
+echo "configure:3916: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$ncn_cv_RANLIB"; then
- ac_cv_prog_ncn_cv_RANLIB="$ncn_cv_RANLIB" # Let the user override the test.
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_ncn_cv_RANLIB="ranlib"
+ ac_cv_prog_RANLIB="${ncn_progname}"
break
fi
done
IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_ncn_cv_RANLIB" && ac_cv_prog_ncn_cv_RANLIB=":"
fi
fi
-ncn_cv_RANLIB="$ac_cv_prog_ncn_cv_RANLIB"
-if test -n "$ncn_cv_RANLIB"; then
- echo "$ac_t""$ncn_cv_RANLIB" 1>&6
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
else
echo "$ac_t""no" 1>&6
fi
- RANLIB=$ncn_cv_RANLIB
- else
- RANLIB=":"
fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
+ test -n "$ac_cv_prog_RANLIB" && break
+done
+
+if test -z "$ac_cv_prog_RANLIB" ; then
+ RANLIB=":"
fi
- if test -n "$ncn_tool_prefix"; then
- # Extract the first word of "${ncn_tool_prefix}windres", so it can be a program name with args.
-set dummy ${ncn_tool_prefix}windres; ac_word=$2
+ for ncn_progname in windres; do
+ if test -n "$ncn_tool_prefix"; then
+ # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4029: checking for $ac_word" >&5
+echo "configure:3955: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4037,7 +3963,7 @@ else
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_WINDRES="${ncn_tool_prefix}windres"
+ ac_cv_prog_WINDRES="${ncn_tool_prefix}${ncn_progname}"
break
fi
done
@@ -4051,53 +3977,56 @@ else
echo "$ac_t""no" 1>&6
fi
-fi
-if test -z "$ac_cv_prog_WINDRES" ; then
- if test $build = $host ; then
- ncn_cv_WINDRES=$WINDRES
- # Extract the first word of "windres", so it can be a program name with args.
-set dummy windres; ac_word=$2
+ fi
+ if test -z "$ac_cv_prog_WINDRES" && test $build = $host ; then
+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4062: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_WINDRES'+set}'`\" = set"; then
+echo "configure:3986: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$ncn_cv_WINDRES"; then
- ac_cv_prog_ncn_cv_WINDRES="$ncn_cv_WINDRES" # Let the user override the test.
+ if test -n "$WINDRES"; then
+ ac_cv_prog_WINDRES="$WINDRES" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_ncn_cv_WINDRES="windres"
+ ac_cv_prog_WINDRES="${ncn_progname}"
break
fi
done
IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_ncn_cv_WINDRES" && ac_cv_prog_ncn_cv_WINDRES="windres"
fi
fi
-ncn_cv_WINDRES="$ac_cv_prog_ncn_cv_WINDRES"
-if test -n "$ncn_cv_WINDRES"; then
- echo "$ac_t""$ncn_cv_WINDRES" 1>&6
+WINDRES="$ac_cv_prog_WINDRES"
+if test -n "$WINDRES"; then
+ echo "$ac_t""$WINDRES" 1>&6
else
echo "$ac_t""no" 1>&6
fi
- WINDRES=$ncn_cv_WINDRES
+ fi
+ test -n "$ac_cv_prog_WINDRES" && break
+done
+
+if test -z "$ac_cv_prog_WINDRES" ; then
+ set dummy windres
+ if test $build = $host ; then
+ WINDRES="$2"
else
- WINDRES="${ncn_tool_prefix}windres"
+ WINDRES="${ncn_tool_prefix}$2"
fi
-else
- WINDRES="$ac_cv_prog_WINDRES"
fi
- if test -n "$ncn_tool_prefix"; then
- # Extract the first word of "${ncn_tool_prefix}objcopy", so it can be a program name with args.
-set dummy ${ncn_tool_prefix}objcopy; ac_word=$2
+ for ncn_progname in objcopy; do
+ if test -n "$ncn_tool_prefix"; then
+ # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4101: checking for $ac_word" >&5
+echo "configure:4030: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4109,7 +4038,7 @@ else
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_OBJCOPY="${ncn_tool_prefix}objcopy"
+ ac_cv_prog_OBJCOPY="${ncn_tool_prefix}${ncn_progname}"
break
fi
done
@@ -4123,53 +4052,56 @@ else
echo "$ac_t""no" 1>&6
fi
-fi
-if test -z "$ac_cv_prog_OBJCOPY" ; then
- if test $build = $host ; then
- ncn_cv_OBJCOPY=$OBJCOPY
- # Extract the first word of "objcopy", so it can be a program name with args.
-set dummy objcopy; ac_word=$2
+ fi
+ if test -z "$ac_cv_prog_OBJCOPY" && test $build = $host ; then
+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4134: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_OBJCOPY'+set}'`\" = set"; then
+echo "configure:4061: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$ncn_cv_OBJCOPY"; then
- ac_cv_prog_ncn_cv_OBJCOPY="$ncn_cv_OBJCOPY" # Let the user override the test.
+ if test -n "$OBJCOPY"; then
+ ac_cv_prog_OBJCOPY="$OBJCOPY" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_ncn_cv_OBJCOPY="objcopy"
+ ac_cv_prog_OBJCOPY="${ncn_progname}"
break
fi
done
IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_ncn_cv_OBJCOPY" && ac_cv_prog_ncn_cv_OBJCOPY="objcopy"
fi
fi
-ncn_cv_OBJCOPY="$ac_cv_prog_ncn_cv_OBJCOPY"
-if test -n "$ncn_cv_OBJCOPY"; then
- echo "$ac_t""$ncn_cv_OBJCOPY" 1>&6
+OBJCOPY="$ac_cv_prog_OBJCOPY"
+if test -n "$OBJCOPY"; then
+ echo "$ac_t""$OBJCOPY" 1>&6
else
echo "$ac_t""no" 1>&6
fi
- OBJCOPY=$ncn_cv_OBJCOPY
+ fi
+ test -n "$ac_cv_prog_OBJCOPY" && break
+done
+
+if test -z "$ac_cv_prog_OBJCOPY" ; then
+ set dummy objcopy
+ if test $build = $host ; then
+ OBJCOPY="$2"
else
- OBJCOPY="${ncn_tool_prefix}objcopy"
+ OBJCOPY="${ncn_tool_prefix}$2"
fi
-else
- OBJCOPY="$ac_cv_prog_OBJCOPY"
fi
- if test -n "$ncn_tool_prefix"; then
- # Extract the first word of "${ncn_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ncn_tool_prefix}objdump; ac_word=$2
+ for ncn_progname in objdump; do
+ if test -n "$ncn_tool_prefix"; then
+ # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4173: checking for $ac_word" >&5
+echo "configure:4105: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4181,7 +4113,7 @@ else
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_OBJDUMP="${ncn_tool_prefix}objdump"
+ ac_cv_prog_OBJDUMP="${ncn_tool_prefix}${ncn_progname}"
break
fi
done
@@ -4195,46 +4127,48 @@ else
echo "$ac_t""no" 1>&6
fi
-fi
-if test -z "$ac_cv_prog_OBJDUMP" ; then
- if test $build = $host ; then
- ncn_cv_OBJDUMP=$OBJDUMP
- # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
+ fi
+ if test -z "$ac_cv_prog_OBJDUMP" && test $build = $host ; then
+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4206: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_OBJDUMP'+set}'`\" = set"; then
+echo "configure:4136: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$ncn_cv_OBJDUMP"; then
- ac_cv_prog_ncn_cv_OBJDUMP="$ncn_cv_OBJDUMP" # Let the user override the test.
+ if test -n "$OBJDUMP"; then
+ ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_ncn_cv_OBJDUMP="objdump"
+ ac_cv_prog_OBJDUMP="${ncn_progname}"
break
fi
done
IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_ncn_cv_OBJDUMP" && ac_cv_prog_ncn_cv_OBJDUMP="objdump"
fi
fi
-ncn_cv_OBJDUMP="$ac_cv_prog_ncn_cv_OBJDUMP"
-if test -n "$ncn_cv_OBJDUMP"; then
- echo "$ac_t""$ncn_cv_OBJDUMP" 1>&6
+OBJDUMP="$ac_cv_prog_OBJDUMP"
+if test -n "$OBJDUMP"; then
+ echo "$ac_t""$OBJDUMP" 1>&6
else
echo "$ac_t""no" 1>&6
fi
- OBJDUMP=$ncn_cv_OBJDUMP
+ fi
+ test -n "$ac_cv_prog_OBJDUMP" && break
+done
+
+if test -z "$ac_cv_prog_OBJDUMP" ; then
+ set dummy objdump
+ if test $build = $host ; then
+ OBJDUMP="$2"
else
- OBJDUMP="${ncn_tool_prefix}objdump"
+ OBJDUMP="${ncn_tool_prefix}$2"
fi
-else
- OBJDUMP="$ac_cv_prog_OBJDUMP"
fi
@@ -4243,519 +4177,911 @@ fi
-# Target tools.
- if test -n "$ncn_target_tool_prefix"; then
- # Extract the first word of "${ncn_target_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ncn_target_tool_prefix}ar; ac_word=$2
+# Target tools. Do the tests using the names they may have passed in
+# the environment, then move it to CONFIGURED_*_FOR_TARGET.
+ for ncn_progname in ar; do
+ if test -n "$ncn_target_tool_prefix"; then
+ # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4252: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_AR_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4188: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$CONFIGURED_AR_FOR_TARGET"; then
- ac_cv_prog_CONFIGURED_AR_FOR_TARGET="$CONFIGURED_AR_FOR_TARGET" # Let the user override the test.
+ if test -n "$AR_FOR_TARGET"; then
+ ac_cv_prog_AR_FOR_TARGET="$AR_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CONFIGURED_AR_FOR_TARGET="${ncn_target_tool_prefix}ar"
+ ac_cv_prog_AR_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
break
fi
done
IFS="$ac_save_ifs"
fi
fi
-CONFIGURED_AR_FOR_TARGET="$ac_cv_prog_CONFIGURED_AR_FOR_TARGET"
-if test -n "$CONFIGURED_AR_FOR_TARGET"; then
- echo "$ac_t""$CONFIGURED_AR_FOR_TARGET" 1>&6
+AR_FOR_TARGET="$ac_cv_prog_AR_FOR_TARGET"
+if test -n "$AR_FOR_TARGET"; then
+ echo "$ac_t""$AR_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
-fi
-if test -z "$ac_cv_prog_CONFIGURED_AR_FOR_TARGET" ; then
- if test $build = $target ; then
- ncn_cv_CONFIGURED_AR_FOR_TARGET=$CONFIGURED_AR_FOR_TARGET
- # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
+ fi
+ if test -z "$ac_cv_prog_AR_FOR_TARGET" && test $build = $target ; then
+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4285: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4219: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$ncn_cv_CONFIGURED_AR_FOR_TARGET"; then
- ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET="$ncn_cv_CONFIGURED_AR_FOR_TARGET" # Let the user override the test.
+ if test -n "$AR_FOR_TARGET"; then
+ ac_cv_prog_AR_FOR_TARGET="$AR_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET="ar"
+ ac_cv_prog_AR_FOR_TARGET="${ncn_progname}"
break
fi
done
IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET="ar"
fi
fi
-ncn_cv_CONFIGURED_AR_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET"
-if test -n "$ncn_cv_CONFIGURED_AR_FOR_TARGET"; then
- echo "$ac_t""$ncn_cv_CONFIGURED_AR_FOR_TARGET" 1>&6
+AR_FOR_TARGET="$ac_cv_prog_AR_FOR_TARGET"
+if test -n "$AR_FOR_TARGET"; then
+ echo "$ac_t""$AR_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
- CONFIGURED_AR_FOR_TARGET=$ncn_cv_CONFIGURED_AR_FOR_TARGET
+ fi
+ test -n "$ac_cv_prog_AR_FOR_TARGET" && break
+done
+
+if test -z "$ac_cv_prog_AR_FOR_TARGET" ; then
+ set dummy ar
+ if test $build = $target ; then
+ AR_FOR_TARGET="$2"
else
- CONFIGURED_AR_FOR_TARGET="${ncn_target_tool_prefix}ar"
+ AR_FOR_TARGET="${ncn_target_tool_prefix}$2"
fi
-else
- CONFIGURED_AR_FOR_TARGET="$ac_cv_prog_CONFIGURED_AR_FOR_TARGET"
fi
- if test -n "$ncn_target_tool_prefix"; then
- # Extract the first word of "${ncn_target_tool_prefix}as", so it can be a program name with args.
-set dummy ${ncn_target_tool_prefix}as; ac_word=$2
+ for ncn_progname in as; do
+ if test -n "$ncn_target_tool_prefix"; then
+ # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4324: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_AS_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4263: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$CONFIGURED_AS_FOR_TARGET"; then
- ac_cv_prog_CONFIGURED_AS_FOR_TARGET="$CONFIGURED_AS_FOR_TARGET" # Let the user override the test.
+ if test -n "$AS_FOR_TARGET"; then
+ ac_cv_prog_AS_FOR_TARGET="$AS_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CONFIGURED_AS_FOR_TARGET="${ncn_target_tool_prefix}as"
+ ac_cv_prog_AS_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
break
fi
done
IFS="$ac_save_ifs"
fi
fi
-CONFIGURED_AS_FOR_TARGET="$ac_cv_prog_CONFIGURED_AS_FOR_TARGET"
-if test -n "$CONFIGURED_AS_FOR_TARGET"; then
- echo "$ac_t""$CONFIGURED_AS_FOR_TARGET" 1>&6
+AS_FOR_TARGET="$ac_cv_prog_AS_FOR_TARGET"
+if test -n "$AS_FOR_TARGET"; then
+ echo "$ac_t""$AS_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
-fi
-if test -z "$ac_cv_prog_CONFIGURED_AS_FOR_TARGET" ; then
- if test $build = $target ; then
- ncn_cv_CONFIGURED_AS_FOR_TARGET=$CONFIGURED_AS_FOR_TARGET
- # Extract the first word of "as", so it can be a program name with args.
-set dummy as; ac_word=$2
+ fi
+ if test -z "$ac_cv_prog_AS_FOR_TARGET" && test $build = $target ; then
+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4357: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4294: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$ncn_cv_CONFIGURED_AS_FOR_TARGET"; then
- ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET="$ncn_cv_CONFIGURED_AS_FOR_TARGET" # Let the user override the test.
+ if test -n "$AS_FOR_TARGET"; then
+ ac_cv_prog_AS_FOR_TARGET="$AS_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET="as"
+ ac_cv_prog_AS_FOR_TARGET="${ncn_progname}"
break
fi
done
IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET="as"
fi
fi
-ncn_cv_CONFIGURED_AS_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET"
-if test -n "$ncn_cv_CONFIGURED_AS_FOR_TARGET"; then
- echo "$ac_t""$ncn_cv_CONFIGURED_AS_FOR_TARGET" 1>&6
+AS_FOR_TARGET="$ac_cv_prog_AS_FOR_TARGET"
+if test -n "$AS_FOR_TARGET"; then
+ echo "$ac_t""$AS_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
- CONFIGURED_AS_FOR_TARGET=$ncn_cv_CONFIGURED_AS_FOR_TARGET
+ fi
+ test -n "$ac_cv_prog_AS_FOR_TARGET" && break
+done
+
+if test -z "$ac_cv_prog_AS_FOR_TARGET" ; then
+ set dummy as
+ if test $build = $target ; then
+ AS_FOR_TARGET="$2"
else
- CONFIGURED_AS_FOR_TARGET="${ncn_target_tool_prefix}as"
+ AS_FOR_TARGET="${ncn_target_tool_prefix}$2"
fi
-else
- CONFIGURED_AS_FOR_TARGET="$ac_cv_prog_CONFIGURED_AS_FOR_TARGET"
fi
- if test -n "$ncn_target_tool_prefix"; then
- # Extract the first word of "${ncn_target_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ncn_target_tool_prefix}dlltool; ac_word=$2
+ for ncn_progname in cc gcc; do
+ if test -n "$ncn_target_tool_prefix"; then
+ # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4396: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4338: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$CONFIGURED_DLLTOOL_FOR_TARGET"; then
- ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET="$CONFIGURED_DLLTOOL_FOR_TARGET" # Let the user override the test.
+ if test -n "$CC_FOR_TARGET"; then
+ ac_cv_prog_CC_FOR_TARGET="$CC_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET="${ncn_target_tool_prefix}dlltool"
+ ac_cv_prog_CC_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
break
fi
done
IFS="$ac_save_ifs"
fi
fi
-CONFIGURED_DLLTOOL_FOR_TARGET="$ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET"
-if test -n "$CONFIGURED_DLLTOOL_FOR_TARGET"; then
- echo "$ac_t""$CONFIGURED_DLLTOOL_FOR_TARGET" 1>&6
+CC_FOR_TARGET="$ac_cv_prog_CC_FOR_TARGET"
+if test -n "$CC_FOR_TARGET"; then
+ echo "$ac_t""$CC_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
-fi
-if test -z "$ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET" ; then
- if test $build = $target ; then
- ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET=$CONFIGURED_DLLTOOL_FOR_TARGET
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
+ fi
+ if test -z "$ac_cv_prog_CC_FOR_TARGET" && test $build = $target ; then
+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4429: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4369: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET"; then
- ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET="$ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET" # Let the user override the test.
+ if test -n "$CC_FOR_TARGET"; then
+ ac_cv_prog_CC_FOR_TARGET="$CC_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET="dlltool"
+ ac_cv_prog_CC_FOR_TARGET="${ncn_progname}"
break
fi
done
IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET="dlltool"
fi
fi
-ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET"
-if test -n "$ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET"; then
- echo "$ac_t""$ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET" 1>&6
+CC_FOR_TARGET="$ac_cv_prog_CC_FOR_TARGET"
+if test -n "$CC_FOR_TARGET"; then
+ echo "$ac_t""$CC_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
- CONFIGURED_DLLTOOL_FOR_TARGET=$ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET
+ fi
+ test -n "$ac_cv_prog_CC_FOR_TARGET" && break
+done
+
+if test -z "$ac_cv_prog_CC_FOR_TARGET" ; then
+ set dummy cc gcc
+ if test $build = $target ; then
+ CC_FOR_TARGET="$2"
else
- CONFIGURED_DLLTOOL_FOR_TARGET="${ncn_target_tool_prefix}dlltool"
+ CC_FOR_TARGET="${ncn_target_tool_prefix}$2"
fi
-else
- CONFIGURED_DLLTOOL_FOR_TARGET="$ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET"
fi
- if test -n "$ncn_target_tool_prefix"; then
- # Extract the first word of "${ncn_target_tool_prefix}ld", so it can be a program name with args.
-set dummy ${ncn_target_tool_prefix}ld; ac_word=$2
+ for ncn_progname in c++ g++ cxx gxx; do
+ if test -n "$ncn_target_tool_prefix"; then
+ # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4468: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_LD_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4413: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CXX_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$CONFIGURED_LD_FOR_TARGET"; then
- ac_cv_prog_CONFIGURED_LD_FOR_TARGET="$CONFIGURED_LD_FOR_TARGET" # Let the user override the test.
+ if test -n "$CXX_FOR_TARGET"; then
+ ac_cv_prog_CXX_FOR_TARGET="$CXX_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CONFIGURED_LD_FOR_TARGET="${ncn_target_tool_prefix}ld"
+ ac_cv_prog_CXX_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
break
fi
done
IFS="$ac_save_ifs"
fi
fi
-CONFIGURED_LD_FOR_TARGET="$ac_cv_prog_CONFIGURED_LD_FOR_TARGET"
-if test -n "$CONFIGURED_LD_FOR_TARGET"; then
- echo "$ac_t""$CONFIGURED_LD_FOR_TARGET" 1>&6
+CXX_FOR_TARGET="$ac_cv_prog_CXX_FOR_TARGET"
+if test -n "$CXX_FOR_TARGET"; then
+ echo "$ac_t""$CXX_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
-fi
-if test -z "$ac_cv_prog_CONFIGURED_LD_FOR_TARGET" ; then
- if test $build = $target ; then
- ncn_cv_CONFIGURED_LD_FOR_TARGET=$CONFIGURED_LD_FOR_TARGET
- # Extract the first word of "ld", so it can be a program name with args.
-set dummy ld; ac_word=$2
+ fi
+ if test -z "$ac_cv_prog_CXX_FOR_TARGET" && test $build = $target ; then
+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4501: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4444: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CXX_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$ncn_cv_CONFIGURED_LD_FOR_TARGET"; then
- ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET="$ncn_cv_CONFIGURED_LD_FOR_TARGET" # Let the user override the test.
+ if test -n "$CXX_FOR_TARGET"; then
+ ac_cv_prog_CXX_FOR_TARGET="$CXX_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET="ld"
+ ac_cv_prog_CXX_FOR_TARGET="${ncn_progname}"
break
fi
done
IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET="ld"
fi
fi
-ncn_cv_CONFIGURED_LD_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET"
-if test -n "$ncn_cv_CONFIGURED_LD_FOR_TARGET"; then
- echo "$ac_t""$ncn_cv_CONFIGURED_LD_FOR_TARGET" 1>&6
+CXX_FOR_TARGET="$ac_cv_prog_CXX_FOR_TARGET"
+if test -n "$CXX_FOR_TARGET"; then
+ echo "$ac_t""$CXX_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
- CONFIGURED_LD_FOR_TARGET=$ncn_cv_CONFIGURED_LD_FOR_TARGET
+ fi
+ test -n "$ac_cv_prog_CXX_FOR_TARGET" && break
+done
+
+if test -z "$ac_cv_prog_CXX_FOR_TARGET" ; then
+ set dummy c++ g++ cxx gxx
+ if test $build = $target ; then
+ CXX_FOR_TARGET="$2"
else
- CONFIGURED_LD_FOR_TARGET="${ncn_target_tool_prefix}ld"
+ CXX_FOR_TARGET="${ncn_target_tool_prefix}$2"
fi
-else
- CONFIGURED_LD_FOR_TARGET="$ac_cv_prog_CONFIGURED_LD_FOR_TARGET"
fi
- if test -n "$ncn_target_tool_prefix"; then
- # Extract the first word of "${ncn_target_tool_prefix}nm", so it can be a program name with args.
-set dummy ${ncn_target_tool_prefix}nm; ac_word=$2
+ for ncn_progname in dlltool; do
+ if test -n "$ncn_target_tool_prefix"; then
+ # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4540: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_NM_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4488: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$CONFIGURED_NM_FOR_TARGET"; then
- ac_cv_prog_CONFIGURED_NM_FOR_TARGET="$CONFIGURED_NM_FOR_TARGET" # Let the user override the test.
+ if test -n "$DLLTOOL_FOR_TARGET"; then
+ ac_cv_prog_DLLTOOL_FOR_TARGET="$DLLTOOL_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CONFIGURED_NM_FOR_TARGET="${ncn_target_tool_prefix}nm"
+ ac_cv_prog_DLLTOOL_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
break
fi
done
IFS="$ac_save_ifs"
fi
fi
-CONFIGURED_NM_FOR_TARGET="$ac_cv_prog_CONFIGURED_NM_FOR_TARGET"
-if test -n "$CONFIGURED_NM_FOR_TARGET"; then
- echo "$ac_t""$CONFIGURED_NM_FOR_TARGET" 1>&6
+DLLTOOL_FOR_TARGET="$ac_cv_prog_DLLTOOL_FOR_TARGET"
+if test -n "$DLLTOOL_FOR_TARGET"; then
+ echo "$ac_t""$DLLTOOL_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
-fi
-if test -z "$ac_cv_prog_CONFIGURED_NM_FOR_TARGET" ; then
- if test $build = $target ; then
- ncn_cv_CONFIGURED_NM_FOR_TARGET=$CONFIGURED_NM_FOR_TARGET
- # Extract the first word of "nm", so it can be a program name with args.
-set dummy nm; ac_word=$2
+ fi
+ if test -z "$ac_cv_prog_DLLTOOL_FOR_TARGET" && test $build = $target ; then
+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4573: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4519: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$ncn_cv_CONFIGURED_NM_FOR_TARGET"; then
- ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET="$ncn_cv_CONFIGURED_NM_FOR_TARGET" # Let the user override the test.
+ if test -n "$DLLTOOL_FOR_TARGET"; then
+ ac_cv_prog_DLLTOOL_FOR_TARGET="$DLLTOOL_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET="nm"
+ ac_cv_prog_DLLTOOL_FOR_TARGET="${ncn_progname}"
break
fi
done
IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET="nm"
fi
fi
-ncn_cv_CONFIGURED_NM_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET"
-if test -n "$ncn_cv_CONFIGURED_NM_FOR_TARGET"; then
- echo "$ac_t""$ncn_cv_CONFIGURED_NM_FOR_TARGET" 1>&6
+DLLTOOL_FOR_TARGET="$ac_cv_prog_DLLTOOL_FOR_TARGET"
+if test -n "$DLLTOOL_FOR_TARGET"; then
+ echo "$ac_t""$DLLTOOL_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
- CONFIGURED_NM_FOR_TARGET=$ncn_cv_CONFIGURED_NM_FOR_TARGET
+ fi
+ test -n "$ac_cv_prog_DLLTOOL_FOR_TARGET" && break
+done
+
+if test -z "$ac_cv_prog_DLLTOOL_FOR_TARGET" ; then
+ set dummy dlltool
+ if test $build = $target ; then
+ DLLTOOL_FOR_TARGET="$2"
else
- CONFIGURED_NM_FOR_TARGET="${ncn_target_tool_prefix}nm"
+ DLLTOOL_FOR_TARGET="${ncn_target_tool_prefix}$2"
fi
+fi
+
+ for ncn_progname in gcc; do
+ if test -n "$ncn_target_tool_prefix"; then
+ # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:4563: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_GCC_FOR_TARGET'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
else
- CONFIGURED_NM_FOR_TARGET="$ac_cv_prog_CONFIGURED_NM_FOR_TARGET"
+ if test -n "$GCC_FOR_TARGET"; then
+ ac_cv_prog_GCC_FOR_TARGET="$GCC_FOR_TARGET" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_GCC_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+GCC_FOR_TARGET="$ac_cv_prog_GCC_FOR_TARGET"
+if test -n "$GCC_FOR_TARGET"; then
+ echo "$ac_t""$GCC_FOR_TARGET" 1>&6
+else
+ echo "$ac_t""no" 1>&6
fi
- if test -n "$ncn_target_tool_prefix"; then
- # Extract the first word of "${ncn_target_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ncn_target_tool_prefix}ranlib; ac_word=$2
+ fi
+ if test -z "$ac_cv_prog_GCC_FOR_TARGET" && test $build = $target ; then
+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4612: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4594: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_GCC_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$CONFIGURED_RANLIB_FOR_TARGET"; then
- ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET="$CONFIGURED_RANLIB_FOR_TARGET" # Let the user override the test.
+ if test -n "$GCC_FOR_TARGET"; then
+ ac_cv_prog_GCC_FOR_TARGET="$GCC_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET="${ncn_target_tool_prefix}ranlib"
+ ac_cv_prog_GCC_FOR_TARGET="${ncn_progname}"
break
fi
done
IFS="$ac_save_ifs"
fi
fi
-CONFIGURED_RANLIB_FOR_TARGET="$ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET"
-if test -n "$CONFIGURED_RANLIB_FOR_TARGET"; then
- echo "$ac_t""$CONFIGURED_RANLIB_FOR_TARGET" 1>&6
+GCC_FOR_TARGET="$ac_cv_prog_GCC_FOR_TARGET"
+if test -n "$GCC_FOR_TARGET"; then
+ echo "$ac_t""$GCC_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
+
+ fi
+ test -n "$ac_cv_prog_GCC_FOR_TARGET" && break
+done
+if test -z "$ac_cv_prog_GCC_FOR_TARGET" ; then
+ GCC_FOR_TARGET="${CC_FOR_TARGET}"
fi
-if test -z "$ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET" ; then
- if test $build = $target ; then
- ncn_cv_CONFIGURED_RANLIB_FOR_TARGET=$CONFIGURED_RANLIB_FOR_TARGET
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
+
+ for ncn_progname in gcj; do
+ if test -n "$ncn_target_tool_prefix"; then
+ # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4645: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4633: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_GCJ_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$ncn_cv_CONFIGURED_RANLIB_FOR_TARGET"; then
- ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET="$ncn_cv_CONFIGURED_RANLIB_FOR_TARGET" # Let the user override the test.
+ if test -n "$GCJ_FOR_TARGET"; then
+ ac_cv_prog_GCJ_FOR_TARGET="$GCJ_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET="ranlib"
+ ac_cv_prog_GCJ_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
break
fi
done
IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET=":"
fi
fi
-ncn_cv_CONFIGURED_RANLIB_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET"
-if test -n "$ncn_cv_CONFIGURED_RANLIB_FOR_TARGET"; then
- echo "$ac_t""$ncn_cv_CONFIGURED_RANLIB_FOR_TARGET" 1>&6
+GCJ_FOR_TARGET="$ac_cv_prog_GCJ_FOR_TARGET"
+if test -n "$GCJ_FOR_TARGET"; then
+ echo "$ac_t""$GCJ_FOR_TARGET" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ fi
+ if test -z "$ac_cv_prog_GCJ_FOR_TARGET" && test $build = $target ; then
+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:4664: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_GCJ_FOR_TARGET'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$GCJ_FOR_TARGET"; then
+ ac_cv_prog_GCJ_FOR_TARGET="$GCJ_FOR_TARGET" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_GCJ_FOR_TARGET="${ncn_progname}"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+GCJ_FOR_TARGET="$ac_cv_prog_GCJ_FOR_TARGET"
+if test -n "$GCJ_FOR_TARGET"; then
+ echo "$ac_t""$GCJ_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
- CONFIGURED_RANLIB_FOR_TARGET=$ncn_cv_CONFIGURED_RANLIB_FOR_TARGET
+ fi
+ test -n "$ac_cv_prog_GCJ_FOR_TARGET" && break
+done
+
+if test -z "$ac_cv_prog_GCJ_FOR_TARGET" ; then
+ set dummy gcj
+ if test $build = $target ; then
+ GCJ_FOR_TARGET="$2"
else
- CONFIGURED_RANLIB_FOR_TARGET=":"
+ GCJ_FOR_TARGET="${ncn_target_tool_prefix}$2"
fi
-else
- CONFIGURED_RANLIB_FOR_TARGET="$ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET"
fi
- if test -n "$ncn_target_tool_prefix"; then
- # Extract the first word of "${ncn_target_tool_prefix}windres", so it can be a program name with args.
-set dummy ${ncn_target_tool_prefix}windres; ac_word=$2
+ for ncn_progname in gfortran; do
+ if test -n "$ncn_target_tool_prefix"; then
+ # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4684: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4708: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_GFORTRAN_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$CONFIGURED_WINDRES_FOR_TARGET"; then
- ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET="$CONFIGURED_WINDRES_FOR_TARGET" # Let the user override the test.
+ if test -n "$GFORTRAN_FOR_TARGET"; then
+ ac_cv_prog_GFORTRAN_FOR_TARGET="$GFORTRAN_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET="${ncn_target_tool_prefix}windres"
+ ac_cv_prog_GFORTRAN_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
break
fi
done
IFS="$ac_save_ifs"
fi
fi
-CONFIGURED_WINDRES_FOR_TARGET="$ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET"
-if test -n "$CONFIGURED_WINDRES_FOR_TARGET"; then
- echo "$ac_t""$CONFIGURED_WINDRES_FOR_TARGET" 1>&6
+GFORTRAN_FOR_TARGET="$ac_cv_prog_GFORTRAN_FOR_TARGET"
+if test -n "$GFORTRAN_FOR_TARGET"; then
+ echo "$ac_t""$GFORTRAN_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
+ fi
+ if test -z "$ac_cv_prog_GFORTRAN_FOR_TARGET" && test $build = $target ; then
+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:4739: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_GFORTRAN_FOR_TARGET'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$GFORTRAN_FOR_TARGET"; then
+ ac_cv_prog_GFORTRAN_FOR_TARGET="$GFORTRAN_FOR_TARGET" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_GFORTRAN_FOR_TARGET="${ncn_progname}"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
fi
-if test -z "$ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET" ; then
+GFORTRAN_FOR_TARGET="$ac_cv_prog_GFORTRAN_FOR_TARGET"
+if test -n "$GFORTRAN_FOR_TARGET"; then
+ echo "$ac_t""$GFORTRAN_FOR_TARGET" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ fi
+ test -n "$ac_cv_prog_GFORTRAN_FOR_TARGET" && break
+done
+
+if test -z "$ac_cv_prog_GFORTRAN_FOR_TARGET" ; then
+ set dummy gfortran
if test $build = $target ; then
- ncn_cv_CONFIGURED_WINDRES_FOR_TARGET=$CONFIGURED_WINDRES_FOR_TARGET
- # Extract the first word of "windres", so it can be a program name with args.
-set dummy windres; ac_word=$2
+ GFORTRAN_FOR_TARGET="$2"
+ else
+ GFORTRAN_FOR_TARGET="${ncn_target_tool_prefix}$2"
+ fi
+fi
+
+ for ncn_progname in ld; do
+ if test -n "$ncn_target_tool_prefix"; then
+ # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:4783: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_LD_FOR_TARGET'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$LD_FOR_TARGET"; then
+ ac_cv_prog_LD_FOR_TARGET="$LD_FOR_TARGET" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_LD_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+LD_FOR_TARGET="$ac_cv_prog_LD_FOR_TARGET"
+if test -n "$LD_FOR_TARGET"; then
+ echo "$ac_t""$LD_FOR_TARGET" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ fi
+ if test -z "$ac_cv_prog_LD_FOR_TARGET" && test $build = $target ; then
+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4717: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4814: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_LD_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$ncn_cv_CONFIGURED_WINDRES_FOR_TARGET"; then
- ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET="$ncn_cv_CONFIGURED_WINDRES_FOR_TARGET" # Let the user override the test.
+ if test -n "$LD_FOR_TARGET"; then
+ ac_cv_prog_LD_FOR_TARGET="$LD_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET="windres"
+ ac_cv_prog_LD_FOR_TARGET="${ncn_progname}"
break
fi
done
IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET="windres"
fi
fi
-ncn_cv_CONFIGURED_WINDRES_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET"
-if test -n "$ncn_cv_CONFIGURED_WINDRES_FOR_TARGET"; then
- echo "$ac_t""$ncn_cv_CONFIGURED_WINDRES_FOR_TARGET" 1>&6
+LD_FOR_TARGET="$ac_cv_prog_LD_FOR_TARGET"
+if test -n "$LD_FOR_TARGET"; then
+ echo "$ac_t""$LD_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
- CONFIGURED_WINDRES_FOR_TARGET=$ncn_cv_CONFIGURED_WINDRES_FOR_TARGET
+ fi
+ test -n "$ac_cv_prog_LD_FOR_TARGET" && break
+done
+
+if test -z "$ac_cv_prog_LD_FOR_TARGET" ; then
+ set dummy ld
+ if test $build = $target ; then
+ LD_FOR_TARGET="$2"
else
- CONFIGURED_WINDRES_FOR_TARGET="${ncn_target_tool_prefix}windres"
+ LD_FOR_TARGET="${ncn_target_tool_prefix}$2"
fi
+fi
+
+ for ncn_progname in nm; do
+ if test -n "$ncn_target_tool_prefix"; then
+ # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:4858: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_NM_FOR_TARGET'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$NM_FOR_TARGET"; then
+ ac_cv_prog_NM_FOR_TARGET="$NM_FOR_TARGET" # Let the user override the test.
else
- CONFIGURED_WINDRES_FOR_TARGET="$ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET"
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_NM_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+NM_FOR_TARGET="$ac_cv_prog_NM_FOR_TARGET"
+if test -n "$NM_FOR_TARGET"; then
+ echo "$ac_t""$NM_FOR_TARGET" 1>&6
+else
+ echo "$ac_t""no" 1>&6
fi
+ fi
+ if test -z "$ac_cv_prog_NM_FOR_TARGET" && test $build = $target ; then
+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:4889: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_NM_FOR_TARGET'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$NM_FOR_TARGET"; then
+ ac_cv_prog_NM_FOR_TARGET="$NM_FOR_TARGET" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_NM_FOR_TARGET="${ncn_progname}"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+NM_FOR_TARGET="$ac_cv_prog_NM_FOR_TARGET"
+if test -n "$NM_FOR_TARGET"; then
+ echo "$ac_t""$NM_FOR_TARGET" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ fi
+ test -n "$ac_cv_prog_NM_FOR_TARGET" && break
+done
+if test -z "$ac_cv_prog_NM_FOR_TARGET" ; then
+ set dummy nm
+ if test $build = $target ; then
+ NM_FOR_TARGET="$2"
+ else
+ NM_FOR_TARGET="${ncn_target_tool_prefix}$2"
+ fi
+fi
+ for ncn_progname in ranlib; do
+ if test -n "$ncn_target_tool_prefix"; then
+ # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:4933: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB_FOR_TARGET'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB_FOR_TARGET"; then
+ ac_cv_prog_RANLIB_FOR_TARGET="$RANLIB_FOR_TARGET" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB_FOR_TARGET="$ac_cv_prog_RANLIB_FOR_TARGET"
+if test -n "$RANLIB_FOR_TARGET"; then
+ echo "$ac_t""$RANLIB_FOR_TARGET" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+ fi
+ if test -z "$ac_cv_prog_RANLIB_FOR_TARGET" && test $build = $target ; then
+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:4964: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB_FOR_TARGET'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB_FOR_TARGET"; then
+ ac_cv_prog_RANLIB_FOR_TARGET="$RANLIB_FOR_TARGET" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB_FOR_TARGET="${ncn_progname}"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB_FOR_TARGET="$ac_cv_prog_RANLIB_FOR_TARGET"
+if test -n "$RANLIB_FOR_TARGET"; then
+ echo "$ac_t""$RANLIB_FOR_TARGET" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ fi
+ test -n "$ac_cv_prog_RANLIB_FOR_TARGET" && break
+done
+if test -z "$ac_cv_prog_RANLIB_FOR_TARGET" ; then
+ RANLIB_FOR_TARGET=":"
+fi
+ for ncn_progname in windres; do
+ if test -n "$ncn_target_tool_prefix"; then
+ # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:5003: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_WINDRES_FOR_TARGET'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$WINDRES_FOR_TARGET"; then
+ ac_cv_prog_WINDRES_FOR_TARGET="$WINDRES_FOR_TARGET" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_WINDRES_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+WINDRES_FOR_TARGET="$ac_cv_prog_WINDRES_FOR_TARGET"
+if test -n "$WINDRES_FOR_TARGET"; then
+ echo "$ac_t""$WINDRES_FOR_TARGET" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+ fi
+ if test -z "$ac_cv_prog_WINDRES_FOR_TARGET" && test $build = $target ; then
+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:5034: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_WINDRES_FOR_TARGET'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$WINDRES_FOR_TARGET"; then
+ ac_cv_prog_WINDRES_FOR_TARGET="$WINDRES_FOR_TARGET" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_WINDRES_FOR_TARGET="${ncn_progname}"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+WINDRES_FOR_TARGET="$ac_cv_prog_WINDRES_FOR_TARGET"
+if test -n "$WINDRES_FOR_TARGET"; then
+ echo "$ac_t""$WINDRES_FOR_TARGET" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ fi
+ test -n "$ac_cv_prog_WINDRES_FOR_TARGET" && break
+done
+
+if test -z "$ac_cv_prog_WINDRES_FOR_TARGET" ; then
+ set dummy windres
+ if test $build = $target ; then
+ WINDRES_FOR_TARGET="$2"
+ else
+ WINDRES_FOR_TARGET="${ncn_target_tool_prefix}$2"
+ fi
+fi
+CONFIGURED_AR_FOR_TARGET="$AR_FOR_TARGET"
+CONFIGURED_AS_FOR_TARGET="$AS_FOR_TARGET"
+CONFIGURED_CC_FOR_TARGET="$CC_FOR_TARGET"
+CONFIGURED_CXX_FOR_TARGET="$CXX_FOR_TARGET"
+CONFIGURED_DLLTOOL_FOR_TARGET="$DLLTOOL_FOR_TARGET"
+CONFIGURED_GCC_FOR_TARGET="$GCC_FOR_TARGET"
+CONFIGURED_GCJ_FOR_TARGET="$GCJ_FOR_TARGET"
+CONFIGURED_GFORTRAN_FOR_TARGET="$GFORTRAN_FOR_TARGET"
+CONFIGURED_LD_FOR_TARGET="$LD_FOR_TARGET"
+CONFIGURED_NM_FOR_TARGET="$NM_FOR_TARGET"
+CONFIGURED_RANLIB_FOR_TARGET="$RANLIB_FOR_TARGET"
+CONFIGURED_WINDRES_FOR_TARGET="$WINDRES_FOR_TARGET"
@@ -4769,7 +5095,13 @@ if test "x${build}" = "x${host}" ; then
# should also eliminate all of this cleanly.
AR_FOR_TARGET="\$(USUAL_AR_FOR_TARGET)"
AS_FOR_TARGET="\$(USUAL_AS_FOR_TARGET)"
+ CC_FOR_TARGET="\$(USUAL_CC_FOR_TARGET)"
+ CXX_FOR_TARGET="\$(USUAL_CXX_FOR_TARGET)"
+ RAW_CXX_FOR_TARGET="\$(USUAL_RAW_CXX_FOR_TARGET)"
DLLTOOL_FOR_TARGET="\$(USUAL_DLLTOOL_FOR_TARGET)"
+ GCC_FOR_TARGET="\$(USUAL_GCC_FOR_TARGET)"
+ GCJ_FOR_TARGET="\$(USUAL_GCJ_FOR_TARGET)"
+ GFORTRAN_FOR_TARGET="\$(USUAL_GFORTRAN_FOR_TARGET)"
LD_FOR_TARGET="\$(USUAL_LD_FOR_TARGET)"
NM_FOR_TARGET="\$(USUAL_NM_FOR_TARGET)"
RANLIB_FOR_TARGET="\$(USUAL_RANLIB_FOR_TARGET)"
@@ -4778,7 +5110,13 @@ else
# Just use the ones we found.
AR_FOR_TARGET="\$(CONFIGURED_AR_FOR_TARGET)"
AS_FOR_TARGET="\$(CONFIGURED_AS_FOR_TARGET)"
+ CC_FOR_TARGET="\$(CONFIGURED_CC_FOR_TARGET)"
+ CXX_FOR_TARGET="\$(CONFIGURED_CXX_FOR_TARGET)"
+ RAW_CXX_FOR_TARGET="\$(CONFIGURED_CXX_FOR_TARGET)"
DLLTOOL_FOR_TARGET="\$(CONFIGURED_DLLTOOL_FOR_TARGET)"
+ GCC_FOR_TARGET="\$(CONFIGURED_GCC_FOR_TARGET)"
+ GCJ_FOR_TARGET="\$(CONFIGURED_GCJ_FOR_TARGET)"
+ GFORTRAN_FOR_TARGET="\$(CONFIGURED_GFORTRAN_FOR_TARGET)"
LD_FOR_TARGET="\$(CONFIGURED_LD_FOR_TARGET)"
NM_FOR_TARGET="\$(CONFIGURED_NM_FOR_TARGET)"
RANLIB_FOR_TARGET="\$(CONFIGURED_RANLIB_FOR_TARGET)"
@@ -4787,18 +5125,13 @@ fi
-
-
-
-
-
# Certain tools may need extra flags.
AR_FOR_TARGET=${AR_FOR_TARGET}${extra_arflags_for_target}
RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target}
NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:4802: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:5135: checking whether to enable maintainer-specific portions of Makefiles" >&5
# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
if test "${enable_maintainer_mode+set}" = set; then
enableval="$enable_maintainer_mode"
@@ -4845,7 +5178,7 @@ esac
# gcc for stageN-gcc and stagePREV-gcc for stage(N-1). In case this is not
# possible, however, we can resort to mv.
echo $ac_n "checking if symbolic links between directories work""... $ac_c" 1>&6
-echo "configure:4849: checking if symbolic links between directories work" >&5
+echo "configure:5182: checking if symbolic links between directories work" >&5
if eval "test \"`echo '$''{'gcc_cv_prog_ln_s_dir'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4959,34 +5292,15 @@ trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
# Transform confdefs.h into DEFS.
# Protect against shell expansion while executing Makefile rules.
# Protect against Makefile macro expansion.
-#
-# If the first sed substitution is executed (which looks for macros that
-# take arguments), then we branch to the quote section. Otherwise,
-# look for a macro that doesn't take arguments.
-cat >confdef2opt.sed <<\_ACEOF
-t clear
-: clear
-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g
-t quote
-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g
-t quote
-d
-: quote
-s,[ `~#$^&*(){}\\|;'"<>?],\\&,g
-s,\[,\\&,g
-s,\],\\&,g
-s,\$,$$,g
-p
-_ACEOF
-# We use echo to avoid assuming a particular line-breaking character.
-# The extra dot is to prevent the shell from consuming trailing
-# line-breaks from the sub-command output. A line-break within
-# single-quotes doesn't work because, if this script is created in a
-# platform that uses two characters for line-breaks (e.g., DOS), tr
-# would break.
-ac_LF_and_DOT=`echo; echo .`
-DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
-rm -f confdef2opt.sed
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
# Without the "./", some shells look in PATH for config.status.
@@ -5121,55 +5435,42 @@ s%@target_configdirs@%$target_configdirs%g
s%@CC_FOR_BUILD@%$CC_FOR_BUILD%g
s%@config_shell@%$config_shell%g
s%@AR@%$AR%g
-s%@ncn_cv_AR@%$ncn_cv_AR%g
s%@AS@%$AS%g
-s%@ncn_cv_AS@%$ncn_cv_AS%g
s%@DLLTOOL@%$DLLTOOL%g
-s%@ncn_cv_DLLTOOL@%$ncn_cv_DLLTOOL%g
s%@LD@%$LD%g
-s%@ncn_cv_LD@%$ncn_cv_LD%g
s%@NM@%$NM%g
-s%@ncn_cv_NM@%$ncn_cv_NM%g
s%@RANLIB@%$RANLIB%g
-s%@ncn_cv_RANLIB@%$ncn_cv_RANLIB%g
s%@WINDRES@%$WINDRES%g
-s%@ncn_cv_WINDRES@%$ncn_cv_WINDRES%g
s%@OBJCOPY@%$OBJCOPY%g
-s%@ncn_cv_OBJCOPY@%$ncn_cv_OBJCOPY%g
s%@OBJDUMP@%$OBJDUMP%g
-s%@ncn_cv_OBJDUMP@%$ncn_cv_OBJDUMP%g
s%@CXX@%$CXX%g
s%@CFLAGS_FOR_BUILD@%$CFLAGS_FOR_BUILD%g
+s%@AR_FOR_TARGET@%$AR_FOR_TARGET%g
+s%@AS_FOR_TARGET@%$AS_FOR_TARGET%g
+s%@CC_FOR_TARGET@%$CC_FOR_TARGET%g
+s%@CXX_FOR_TARGET@%$CXX_FOR_TARGET%g
+s%@DLLTOOL_FOR_TARGET@%$DLLTOOL_FOR_TARGET%g
+s%@GCC_FOR_TARGET@%$GCC_FOR_TARGET%g
+s%@GCJ_FOR_TARGET@%$GCJ_FOR_TARGET%g
+s%@GFORTRAN_FOR_TARGET@%$GFORTRAN_FOR_TARGET%g
+s%@LD_FOR_TARGET@%$LD_FOR_TARGET%g
+s%@NM_FOR_TARGET@%$NM_FOR_TARGET%g
+s%@RANLIB_FOR_TARGET@%$RANLIB_FOR_TARGET%g
+s%@WINDRES_FOR_TARGET@%$WINDRES_FOR_TARGET%g
s%@CONFIGURED_AR_FOR_TARGET@%$CONFIGURED_AR_FOR_TARGET%g
-s%@ncn_cv_CONFIGURED_AR_FOR_TARGET@%$ncn_cv_CONFIGURED_AR_FOR_TARGET%g
s%@CONFIGURED_AS_FOR_TARGET@%$CONFIGURED_AS_FOR_TARGET%g
-s%@ncn_cv_CONFIGURED_AS_FOR_TARGET@%$ncn_cv_CONFIGURED_AS_FOR_TARGET%g
+s%@CONFIGURED_CC_FOR_TARGET@%$CONFIGURED_CC_FOR_TARGET%g
+s%@CONFIGURED_CXX_FOR_TARGET@%$CONFIGURED_CXX_FOR_TARGET%g
s%@CONFIGURED_DLLTOOL_FOR_TARGET@%$CONFIGURED_DLLTOOL_FOR_TARGET%g
-s%@ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET@%$ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET%g
+s%@CONFIGURED_GCC_FOR_TARGET@%$CONFIGURED_GCC_FOR_TARGET%g
+s%@CONFIGURED_GCJ_FOR_TARGET@%$CONFIGURED_GCJ_FOR_TARGET%g
+s%@CONFIGURED_GFORTRAN_FOR_TARGET@%$CONFIGURED_GFORTRAN_FOR_TARGET%g
s%@CONFIGURED_LD_FOR_TARGET@%$CONFIGURED_LD_FOR_TARGET%g
-s%@ncn_cv_CONFIGURED_LD_FOR_TARGET@%$ncn_cv_CONFIGURED_LD_FOR_TARGET%g
s%@CONFIGURED_NM_FOR_TARGET@%$CONFIGURED_NM_FOR_TARGET%g
-s%@ncn_cv_CONFIGURED_NM_FOR_TARGET@%$ncn_cv_CONFIGURED_NM_FOR_TARGET%g
s%@CONFIGURED_RANLIB_FOR_TARGET@%$CONFIGURED_RANLIB_FOR_TARGET%g
-s%@ncn_cv_CONFIGURED_RANLIB_FOR_TARGET@%$ncn_cv_CONFIGURED_RANLIB_FOR_TARGET%g
s%@CONFIGURED_WINDRES_FOR_TARGET@%$CONFIGURED_WINDRES_FOR_TARGET%g
-s%@ncn_cv_CONFIGURED_WINDRES_FOR_TARGET@%$ncn_cv_CONFIGURED_WINDRES_FOR_TARGET%g
-s%@GCC_FOR_TARGET@%$GCC_FOR_TARGET%g
s%@FLAGS_FOR_TARGET@%$FLAGS_FOR_TARGET%g
-s%@CC_FOR_TARGET@%$CC_FOR_TARGET%g
-s%@GCJ_FOR_TARGET@%$GCJ_FOR_TARGET%g
-s%@GFORTRAN_FOR_TARGET@%$GFORTRAN_FOR_TARGET%g
-s%@CXX_FOR_TARGET@%$CXX_FOR_TARGET%g
s%@RAW_CXX_FOR_TARGET@%$RAW_CXX_FOR_TARGET%g
-s%@CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@%$CXX_FOR_TARGET_FOR_RECURSIVE_MAKE%g
-s%@RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@%$RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE%g
-s%@AR_FOR_TARGET@%$AR_FOR_TARGET%g
-s%@AS_FOR_TARGET@%$AS_FOR_TARGET%g
-s%@DLLTOOL_FOR_TARGET@%$DLLTOOL_FOR_TARGET%g
-s%@LD_FOR_TARGET@%$LD_FOR_TARGET%g
-s%@NM_FOR_TARGET@%$NM_FOR_TARGET%g
-s%@RANLIB_FOR_TARGET@%$RANLIB_FOR_TARGET%g
-s%@WINDRES_FOR_TARGET@%$WINDRES_FOR_TARGET%g
s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
s%@MAINT@%$MAINT%g
diff --git a/configure.in b/configure.in
index f5877a708a4..8c860d2f2e1 100644
--- a/configure.in
+++ b/configure.in
@@ -421,7 +421,7 @@ case "${target}" in
noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda ${libgcj}"
;;
*-*-vxworks*)
- noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty ${libgcj}"
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty target-libstdc++-v3 ${libgcj}"
;;
m32c-*-*)
noconfigdirs="$noconfigdirs target-libstdc++-v3"
@@ -1000,10 +1000,6 @@ if test "${build}" != "${host}" ; then
CXX=${CXX-${host_alias}-c++}
CXXFLAGS=${CXXFLAGS-"-g -O2"}
CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
- CC_FOR_TARGET=${CC_FOR_TARGET-${target_alias}-gcc}
- CXX_FOR_TARGET=${CXX_FOR_TARGET-${target_alias}-c++}
- GCJ_FOR_TARGET=${GCJ_FOR_TARGET-${target_alias}-gcj}
- GCC_FOR_TARGET=${GCC_FOR_TARGET-${CC_FOR_TARGET-${target_alias}-gcc}}
BUILD_PREFIX=${build_alias}-
BUILD_PREFIX_1=${build_alias}-
@@ -1017,7 +1013,6 @@ else
# This is all going to change when we autoconfiscate...
CC_FOR_BUILD="\$(CC)"
- GCC_FOR_TARGET="\$(USUAL_GCC_FOR_TARGET)"
BUILD_PREFIX=
BUILD_PREFIX_1=loser-
@@ -2048,89 +2043,6 @@ if test "x${use_gnu_ld}" = x &&
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(HOST_SUBDIR)/ld'
fi
-if test "x${CC_FOR_TARGET+set}" = xset; then
- :
-elif test -d ${srcdir}/gcc; then
- CC_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/'
-elif test "$host" = "$target"; then
- CC_FOR_TARGET='$(CC)'
-else
- CC_FOR_TARGET=`echo gcc | sed "${program_transform_name}"`
-fi
-CC_FOR_TARGET=$CC_FOR_TARGET' $(FLAGS_FOR_TARGET)'
-
-if test "x${GCJ_FOR_TARGET+set}" = xset; then
- :
-elif test -d ${srcdir}/gcc; then
- GCJ_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/gcj -B$$r/$(HOST_SUBDIR)/gcc/'
-elif test "$host" = "$target"; then
- GCJ_FOR_TARGET='gcj'
-else
- GCJ_FOR_TARGET=`echo gcj | sed "${program_transform_name}"`
-fi
-GCJ_FOR_TARGET=$GCJ_FOR_TARGET' $(FLAGS_FOR_TARGET)'
-
-if test "x${GFORTRAN_FOR_TARGET+set}" = xset; then
- :
-elif test -d ${srcdir}/gcc; then
- GFORTRAN_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/'
-elif test "$host" = "$target"; then
- GFORTRAN_FOR_TARGET='gfortran'
-else
- GFORTRAN_FOR_TARGET=`echo gfortran | sed "${program_transform_name}"`
-fi
-case $GFORTRAN_FOR_TARGET in
-*' $(FLAGS_FOR_TARGET)') ;;
-*) GFORTRAN_FOR_TARGET=$GFORTRAN_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
-esac
-
-# Don't use libstdc++-v3's flags to configure/build itself.
-libstdcxx_flags='`test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
-raw_libstdcxx_flags='-L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
-
-if test "x${CXX_FOR_TARGET+set}" = xset; then
- if test "x${RAW_CXX_FOR_TARGET+set}" != xset; then
- RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
- fi
-elif test -d ${srcdir}/gcc; then
- # We add -shared-libgcc to CXX_FOR_TARGET whenever we use xgcc instead
- # of g++ for linking C++ or Java, because g++ has -shared-libgcc by
- # default whereas gcc does not.
- # RAW_CXX_FOR_TARGET is for linking C++ or java; CXX_FOR_TARGET is for
- # all other cases.
- CXX_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/g++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ '$libstdcxx_flags
- RAW_CXX_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ '$raw_libstdcxx_flags
-elif test "$host" = "$target"; then
- CXX_FOR_TARGET='$(CXX)'
- RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
-else
- CXX_FOR_TARGET=`echo c++ | sed "${program_transform_name}"`
- RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
-fi
-CXX_FOR_TARGET=$CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)'
-RAW_CXX_FOR_TARGET=$RAW_CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)'
-
-qCXX_FOR_TARGET=`echo "$CXX_FOR_TARGET" | sed 's,[[&%]],\\\&,g'`
-qRAW_CXX_FOR_TARGET=`echo "$RAW_CXX_FOR_TARGET" | sed 's,[[&%]],\\\&,g'`
-
-# We want to defer the evaluation of `cmd`s and shell variables in
-# CXX_FOR_TARGET when recursing in the top-level Makefile, such as for
-# bootstrap. We'll enclose CXX_FOR_TARGET_FOR_RECURSIVE_MAKE in single
-# quotes, but we still have to duplicate `$'s so that shell variables
-# can be expanded by the nested make as shell variables, not as make
-# macros.
-qqCXX_FOR_TARGET=`echo "$qCXX_FOR_TARGET" | sed -e 's,[[$]][[$]],$$$$,g'`
-qqRAW_CXX_FOR_TARGET=`echo "$qRAW_CXX_FOR_TARGET" | sed -e 's,[[$]][[$]],$$$$,g'`
-
-# Wrap CC_FOR_TARGET and friends, for certain types of builds.
-CC_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${CC_FOR_TARGET}"
-GCJ_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${GCJ_FOR_TARGET}"
-GFORTRAN_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${GFORTRAN_FOR_TARGET}"
-CXX_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${qCXX_FOR_TARGET}"
-RAW_CXX_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${qRAW_CXX_FOR_TARGET}"
-CXX_FOR_TARGET_FOR_RECURSIVE_MAKE="\$(STAGE_CC_WRAPPER) ${qqCXX_FOR_TARGET}"
-RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE="\$(STAGE_CC_WRAPPER) ${qqRAW_CXX_FOR_TARGET}"
-
# Makefile fragments.
for frag in host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag;
do
@@ -2169,39 +2081,62 @@ AC_SUBST(CC_FOR_BUILD)
AC_SUBST(config_shell)
# Host tools.
-NCN_STRICT_CHECK_TOOL(AR, ar)
-NCN_STRICT_CHECK_TOOL(AS, as)
-NCN_STRICT_CHECK_TOOL(DLLTOOL, dlltool)
-NCN_STRICT_CHECK_TOOL(LD, ld)
-NCN_STRICT_CHECK_TOOL(NM, nm)
-NCN_STRICT_CHECK_TOOL(RANLIB, ranlib, :)
-NCN_STRICT_CHECK_TOOL(WINDRES, windres)
-NCN_STRICT_CHECK_TOOL(OBJCOPY, objcopy)
-NCN_STRICT_CHECK_TOOL(OBJDUMP, objdump)
+NCN_STRICT_CHECK_TOOLS(AR, ar)
+NCN_STRICT_CHECK_TOOLS(AS, as)
+NCN_STRICT_CHECK_TOOLS(DLLTOOL, dlltool)
+NCN_STRICT_CHECK_TOOLS(LD, ld)
+NCN_STRICT_CHECK_TOOLS(NM, nm)
+NCN_STRICT_CHECK_TOOLS(RANLIB, ranlib, :)
+NCN_STRICT_CHECK_TOOLS(WINDRES, windres)
+NCN_STRICT_CHECK_TOOLS(OBJCOPY, objcopy)
+NCN_STRICT_CHECK_TOOLS(OBJDUMP, objdump)
AC_SUBST(CC)
AC_SUBST(CXX)
AC_SUBST(CFLAGS)
AC_SUBST(CFLAGS_FOR_BUILD)
AC_SUBST(CXXFLAGS)
-# Target tools.
-NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_AR_FOR_TARGET, ar)
-NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_AS_FOR_TARGET, as)
-NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_DLLTOOL_FOR_TARGET, dlltool)
-NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_LD_FOR_TARGET, ld)
-NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_NM_FOR_TARGET, nm)
-NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_RANLIB_FOR_TARGET, ranlib, :)
-NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_WINDRES_FOR_TARGET, windres)
-
-AC_SUBST(GCC_FOR_TARGET)
+# Target tools. Do the tests using the names they may have passed in
+# the environment, then move it to CONFIGURED_*_FOR_TARGET.
+NCN_STRICT_CHECK_TARGET_TOOLS(AR_FOR_TARGET, ar)
+NCN_STRICT_CHECK_TARGET_TOOLS(AS_FOR_TARGET, as)
+NCN_STRICT_CHECK_TARGET_TOOLS(CC_FOR_TARGET, cc gcc)
+NCN_STRICT_CHECK_TARGET_TOOLS(CXX_FOR_TARGET, c++ g++ cxx gxx)
+NCN_STRICT_CHECK_TARGET_TOOLS(DLLTOOL_FOR_TARGET, dlltool)
+NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TARGET, gcc, ${CC_FOR_TARGET})
+NCN_STRICT_CHECK_TARGET_TOOLS(GCJ_FOR_TARGET, gcj)
+NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran)
+NCN_STRICT_CHECK_TARGET_TOOLS(LD_FOR_TARGET, ld)
+NCN_STRICT_CHECK_TARGET_TOOLS(NM_FOR_TARGET, nm)
+NCN_STRICT_CHECK_TARGET_TOOLS(RANLIB_FOR_TARGET, ranlib, :)
+NCN_STRICT_CHECK_TARGET_TOOLS(WINDRES_FOR_TARGET, windres)
+
+CONFIGURED_AR_FOR_TARGET="$AR_FOR_TARGET"
+CONFIGURED_AS_FOR_TARGET="$AS_FOR_TARGET"
+CONFIGURED_CC_FOR_TARGET="$CC_FOR_TARGET"
+CONFIGURED_CXX_FOR_TARGET="$CXX_FOR_TARGET"
+CONFIGURED_DLLTOOL_FOR_TARGET="$DLLTOOL_FOR_TARGET"
+CONFIGURED_GCC_FOR_TARGET="$GCC_FOR_TARGET"
+CONFIGURED_GCJ_FOR_TARGET="$GCJ_FOR_TARGET"
+CONFIGURED_GFORTRAN_FOR_TARGET="$GFORTRAN_FOR_TARGET"
+CONFIGURED_LD_FOR_TARGET="$LD_FOR_TARGET"
+CONFIGURED_NM_FOR_TARGET="$NM_FOR_TARGET"
+CONFIGURED_RANLIB_FOR_TARGET="$RANLIB_FOR_TARGET"
+CONFIGURED_WINDRES_FOR_TARGET="$WINDRES_FOR_TARGET"
+
+AC_SUBST(CONFIGURED_AR_FOR_TARGET)dnl
+AC_SUBST(CONFIGURED_AS_FOR_TARGET)dnl
+AC_SUBST(CONFIGURED_CC_FOR_TARGET)dnl
+AC_SUBST(CONFIGURED_CXX_FOR_TARGET)dnl
+AC_SUBST(CONFIGURED_DLLTOOL_FOR_TARGET)dnl
+AC_SUBST(CONFIGURED_GCC_FOR_TARGET)dnl
+AC_SUBST(CONFIGURED_GCJ_FOR_TARGET)dnl
+AC_SUBST(CONFIGURED_GFORTRAN_FOR_TARGET)dnl
+AC_SUBST(CONFIGURED_LD_FOR_TARGET)dnl
+AC_SUBST(CONFIGURED_NM_FOR_TARGET)dnl
+AC_SUBST(CONFIGURED_RANLIB_FOR_TARGET)dnl
+AC_SUBST(CONFIGURED_WINDRES_FOR_TARGET)dnl
AC_SUBST(FLAGS_FOR_TARGET)
-AC_SUBST(CC_FOR_TARGET)
-AC_SUBST(GCJ_FOR_TARGET)
-AC_SUBST(GFORTRAN_FOR_TARGET)
-AC_SUBST(CXX_FOR_TARGET)
-AC_SUBST(RAW_CXX_FOR_TARGET)
-AC_SUBST(CXX_FOR_TARGET_FOR_RECURSIVE_MAKE)
-AC_SUBST(RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE)
# Fix up target tools.
if test "x${build}" = "x${host}" ; then
@@ -2213,7 +2148,13 @@ if test "x${build}" = "x${host}" ; then
# should also eliminate all of this cleanly.
AR_FOR_TARGET="\$(USUAL_AR_FOR_TARGET)"
AS_FOR_TARGET="\$(USUAL_AS_FOR_TARGET)"
+ CC_FOR_TARGET="\$(USUAL_CC_FOR_TARGET)"
+ CXX_FOR_TARGET="\$(USUAL_CXX_FOR_TARGET)"
+ RAW_CXX_FOR_TARGET="\$(USUAL_RAW_CXX_FOR_TARGET)"
DLLTOOL_FOR_TARGET="\$(USUAL_DLLTOOL_FOR_TARGET)"
+ GCC_FOR_TARGET="\$(USUAL_GCC_FOR_TARGET)"
+ GCJ_FOR_TARGET="\$(USUAL_GCJ_FOR_TARGET)"
+ GFORTRAN_FOR_TARGET="\$(USUAL_GFORTRAN_FOR_TARGET)"
LD_FOR_TARGET="\$(USUAL_LD_FOR_TARGET)"
NM_FOR_TARGET="\$(USUAL_NM_FOR_TARGET)"
RANLIB_FOR_TARGET="\$(USUAL_RANLIB_FOR_TARGET)"
@@ -2222,19 +2163,20 @@ else
# Just use the ones we found.
AR_FOR_TARGET="\$(CONFIGURED_AR_FOR_TARGET)"
AS_FOR_TARGET="\$(CONFIGURED_AS_FOR_TARGET)"
+ CC_FOR_TARGET="\$(CONFIGURED_CC_FOR_TARGET)"
+ CXX_FOR_TARGET="\$(CONFIGURED_CXX_FOR_TARGET)"
+ RAW_CXX_FOR_TARGET="\$(CONFIGURED_CXX_FOR_TARGET)"
DLLTOOL_FOR_TARGET="\$(CONFIGURED_DLLTOOL_FOR_TARGET)"
+ GCC_FOR_TARGET="\$(CONFIGURED_GCC_FOR_TARGET)"
+ GCJ_FOR_TARGET="\$(CONFIGURED_GCJ_FOR_TARGET)"
+ GFORTRAN_FOR_TARGET="\$(CONFIGURED_GFORTRAN_FOR_TARGET)"
LD_FOR_TARGET="\$(CONFIGURED_LD_FOR_TARGET)"
NM_FOR_TARGET="\$(CONFIGURED_NM_FOR_TARGET)"
RANLIB_FOR_TARGET="\$(CONFIGURED_RANLIB_FOR_TARGET)"
WINDRES_FOR_TARGET="\$(CONFIGURED_WINDRES_FOR_TARGET)"
fi
-AC_SUBST(AR_FOR_TARGET)
-AC_SUBST(AS_FOR_TARGET)
-AC_SUBST(DLLTOOL_FOR_TARGET)
-AC_SUBST(LD_FOR_TARGET)
-AC_SUBST(NM_FOR_TARGET)
-AC_SUBST(RANLIB_FOR_TARGET)
-AC_SUBST(WINDRES_FOR_TARGET)
+
+AC_SUBST(RAW_CXX_FOR_TARGET)
# Certain tools may need extra flags.
AR_FOR_TARGET=${AR_FOR_TARGET}${extra_arflags_for_target}
diff --git a/contrib/ChangeLog b/contrib/ChangeLog
index 5bd9180464a..6b9a85aa146 100644
--- a/contrib/ChangeLog
+++ b/contrib/ChangeLog
@@ -1,3 +1,11 @@
+2005-08-23 Ben Elliston <bje@au.ibm.com>
+
+ * gcc_update: Update dependencies for libjava/aclocal.m4.
+
+2005-08-14 Kelley Cook <kcook@gcc.gnu.org>
+
+ * All files: Update with new FSF address.
+
2005-07-14 Ben Elliston <bje@au.ibm.com>
* filter_params.pl: Typo fix.
diff --git a/contrib/analyze_brprob b/contrib/analyze_brprob
index b441b957414..5b6a6f0cc01 100755
--- a/contrib/analyze_brprob
+++ b/contrib/analyze_brprob
@@ -17,8 +17,8 @@
#
# You should have received a copy of the GNU General Public License
# along with GCC; see the file COPYING. If not, write to
-# the Free Software Foundation, 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
+# the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
#
#
# This script is used to calculate two basic properties of the branch prediction
diff --git a/contrib/gcc_build b/contrib/gcc_build
index b36685eeea3..af1a5bcdecb 100755
--- a/contrib/gcc_build
+++ b/contrib/gcc_build
@@ -25,8 +25,8 @@
#
# You should have received a copy of the GNU General Public License
# along with GCC; see the file COPYING. If not, write to
-# the Free Software Foundation, 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
+# the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
#
########################################################################
diff --git a/contrib/gcc_update b/contrib/gcc_update
index cab6c47ec12..40c3a9fcd35 100755
--- a/contrib/gcc_update
+++ b/contrib/gcc_update
@@ -108,7 +108,7 @@ libffi/fficonfig.h.in: libffi/configure.ac libffi/aclocal.m4
libgfortran/aclocal.m4: libgfortran/configure.ac libgfortran/acinclude.m4
libgfortran/Makefile.in: libgfortran/Makefile.am libgfortran/configure.ac libgfortran/aclocal.m4
libgfortran/configure: libgfortran/configure.ac libgfortran/aclocal.m4
-libjava/aclocal.m4: libjava/configure.ac libjava/acinclude.m4
+libjava/aclocal.m4: libjava/configure.ac
libjava/Makefile.in: libjava/Makefile.am libjava/configure.ac libjava/aclocal.m4
libjava/configure: libjava/configure.ac libjava/aclocal.m4
libjava/libltdl/aclocal.m4: libjava/libltdl/configure.ac libjava/libltdl/acinclude.m4
diff --git a/contrib/gennews b/contrib/gennews
index ec8f056ac16..e8d58e85449 100755
--- a/contrib/gennews
+++ b/contrib/gennews
@@ -18,8 +18,8 @@
#
# You should have received a copy of the GNU General Public License
# along with GCC; see the file COPYING. If not, write to
-# the Free Software Foundation, 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
+# the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
website=http://gcc.gnu.org/
files="gcc-4.0/index.html gcc-4.0/changes.html
diff --git a/contrib/reghunt/reg_periodic b/contrib/reghunt/reg_periodic
index 33e7bd0a077..e3b6b111984 100755
--- a/contrib/reghunt/reg_periodic
+++ b/contrib/reghunt/reg_periodic
@@ -38,8 +38,8 @@
# GNU General Public License for more details.
#
# For a copy of the GNU General Public License, write the the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
+# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
#
########################################################################
diff --git a/contrib/reghunt/reg_search b/contrib/reghunt/reg_search
index f89b963ec9e..fc9022d53e9 100755
--- a/contrib/reghunt/reg_search
+++ b/contrib/reghunt/reg_search
@@ -58,8 +58,8 @@
# GNU General Public License for more details.
#
# For a copy of the GNU General Public License, write the the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
+# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
#
########################################################################
diff --git a/contrib/regression/btest-gcc.sh b/contrib/regression/btest-gcc.sh
index 2e9ea1e52d7..b03d025107e 100755
--- a/contrib/regression/btest-gcc.sh
+++ b/contrib/regression/btest-gcc.sh
@@ -15,7 +15,7 @@
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
# INPUT:
# btest <options> <target> <source> <prefix> <state> <build>
diff --git a/contrib/regression/objs-gcc.sh b/contrib/regression/objs-gcc.sh
index cc152d1f80c..d926f8b85bf 100755
--- a/contrib/regression/objs-gcc.sh
+++ b/contrib/regression/objs-gcc.sh
@@ -15,7 +15,7 @@
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
# INPUT:
# btest <target> <source> <prefix> <state> <build>
diff --git a/contrib/texi2pod.pl b/contrib/texi2pod.pl
index 480f26a212c..a22fd4fe692 100755
--- a/contrib/texi2pod.pl
+++ b/contrib/texi2pod.pl
@@ -16,8 +16,8 @@
# You should have received a copy of the GNU General Public License
# along with GCC; see the file COPYING. If not, write to
-# the Free Software Foundation, 59 Temple Place - Suite 330,
-# Boston MA 02111-1307, USA.
+# the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+# Boston MA 02110-1301, USA.
# This does trivial (and I mean _trivial_) conversion of Texinfo
# markup to Perl POD format. It's intended to be used to extract
diff --git a/fixincludes/ChangeLog b/fixincludes/ChangeLog
index 8d68b7e4403..fad54a9c81d 100644
--- a/fixincludes/ChangeLog
+++ b/fixincludes/ChangeLog
@@ -1,3 +1,7 @@
+2005-08-14 Kelley Cook <kcook@gcc.gnu.org>
+
+ * All files: Update with new FSF address.
+
2005-07-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* Makefile.in (WARN_CFLAGS): New.
diff --git a/fixincludes/Makefile.in b/fixincludes/Makefile.in
index 854f6e77612..822e865cf6a 100644
--- a/fixincludes/Makefile.in
+++ b/fixincludes/Makefile.in
@@ -17,8 +17,8 @@
#You should have received a copy of the GNU General Public License
#along with fixincludes; see the file COPYING. If not, write to
-#the Free Software Foundation, 59 Temple Place - Suite 330,
-#Boston, MA 02111-1307, USA.
+#the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+#Boston, MA 02110-1301, USA.
SHELL=@SHELL@
diff --git a/fixincludes/fixfixes.c b/fixincludes/fixfixes.c
index c883253123d..fa8dc545b0a 100644
--- a/fixincludes/fixfixes.c
+++ b/fixincludes/fixfixes.c
@@ -47,8 +47,8 @@ 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 COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "fixlib.h"
#define GTYPE_SE_CT 1
diff --git a/fixincludes/fixinc.in b/fixincludes/fixinc.in
index ea59e483e0e..39a92133b71 100755
--- a/fixincludes/fixinc.in
+++ b/fixincludes/fixinc.in
@@ -23,8 +23,8 @@
# You should have received a copy of the GNU General Public License
# along with fixincludes. See the file "COPYING". If not,
# write to: The Free Software Foundation, Inc.,
-# 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
+# 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
#
# # # # # # # # # # # # # # # # # # # # #
diff --git a/fixincludes/fixincl.c b/fixincludes/fixincl.c
index 6d967e6428b..250f0b01b62 100644
--- a/fixincludes/fixincl.c
+++ b/fixincludes/fixincl.c
@@ -18,8 +18,8 @@ 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 COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "fixlib.h"
diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x
index 271c14e29ed..5203a4347f9 100644
--- a/fixincludes/fixincl.x
+++ b/fixincludes/fixincl.x
@@ -36,8 +36,8 @@
* You should have received a copy of the GNU General Public License
* along with inclhack. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/* * * * * * * * * * * * * * * * * * * * * * * * * *
diff --git a/fixincludes/fixlib.c b/fixincludes/fixlib.c
index 7ab45c51497..cc335f5659a 100644
--- a/fixincludes/fixlib.c
+++ b/fixincludes/fixlib.c
@@ -19,8 +19,8 @@ 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 COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "fixlib.h"
diff --git a/fixincludes/fixlib.h b/fixincludes/fixlib.h
index 8032f98eb48..f8d76e3e042 100644
--- a/fixincludes/fixlib.h
+++ b/fixincludes/fixlib.h
@@ -20,8 +20,8 @@ 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 COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#ifndef GCC_FIXLIB_H
#define GCC_FIXLIB_H
diff --git a/fixincludes/fixopts.c b/fixincludes/fixopts.c
index 365e27d6fae..82c202a282b 100644
--- a/fixincludes/fixopts.c
+++ b/fixincludes/fixopts.c
@@ -16,8 +16,8 @@ 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 COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "fixlib.h"
diff --git a/fixincludes/fixtests.c b/fixincludes/fixtests.c
index 44ef97253f5..ec1f9752f18 100644
--- a/fixincludes/fixtests.c
+++ b/fixincludes/fixtests.c
@@ -42,8 +42,8 @@ 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 COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "fixlib.h"
diff --git a/fixincludes/genfixes b/fixincludes/genfixes
index b151153dbf6..f50a71dd900 100755
--- a/fixincludes/genfixes
+++ b/fixincludes/genfixes
@@ -15,8 +15,8 @@
# You should have received a copy of the GNU General Public License
# along with GCC; see the file COPYING. If not, write to
-# the Free Software Foundation, 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
+# the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
SHELL=/bin/sh
export SHELL
diff --git a/fixincludes/mkheaders.in b/fixincludes/mkheaders.in
index 8330ac47454..6f029f8cf84 100644
--- a/fixincludes/mkheaders.in
+++ b/fixincludes/mkheaders.in
@@ -16,8 +16,8 @@
#You should have received a copy of the GNU General Public License
#along with GCC; see the file COPYING. If not, write to the Free
-#Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-#02111-1307, USA.
+#Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+#02110-1301, USA.
# Basic information
target=@target@
diff --git a/fixincludes/procopen.c b/fixincludes/procopen.c
index 75891e42c71..22d4f679342 100644
--- a/fixincludes/procopen.c
+++ b/fixincludes/procopen.c
@@ -17,8 +17,8 @@
* You should have received a copy of the GNU General Public License
* along with Server Handling. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*
* As a special exception, The Free Software Foundation gives
* permission for additional uses of the text contained in his release
diff --git a/fixincludes/server.c b/fixincludes/server.c
index 73db78b2e79..6db8cf7e101 100644
--- a/fixincludes/server.c
+++ b/fixincludes/server.c
@@ -17,8 +17,8 @@
* You should have received a copy of the GNU General Public License
* along with Server Handling. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*
* As a special exception, The Free Software Foundation gives
* permission for additional uses of the text contained in his release
diff --git a/fixincludes/server.h b/fixincludes/server.h
index 30de054e411..9eafb03b599 100644
--- a/fixincludes/server.h
+++ b/fixincludes/server.h
@@ -17,8 +17,8 @@
* You should have received a copy of the GNU General Public License
* along with Server Handling. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*
* As a special exception, The Free Software Foundation gives
* permission for additional uses of the text contained in his release
diff --git a/fixincludes/system.h b/fixincludes/system.h
index 602654e6b30..8e85b7865ce 100644
--- a/fixincludes/system.h
+++ b/fixincludes/system.h
@@ -17,8 +17,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
#ifndef FIXINC_SYSTEM_H
diff --git a/fixincludes/tests/base/math.h b/fixincludes/tests/base/math.h
index 37d34c58d60..fbe670e3438 100644
--- a/fixincludes/tests/base/math.h
+++ b/fixincludes/tests/base/math.h
@@ -19,6 +19,11 @@
struct exception;
+#if defined( AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_CHECK )
+#include <architecture/ppc/math.h>
+#endif /* AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_CHECK */
+
+
#if defined( BROKEN_CABS_CHECK )
#ifdef __STDC__
diff --git a/fixincludes/tests/base/string.h b/fixincludes/tests/base/string.h
index d70f9e08a3a..0c70f3014f1 100644
--- a/fixincludes/tests/base/string.h
+++ b/fixincludes/tests/base/string.h
@@ -10,4 +10,4 @@
#ifndef _STRING_INCLUDED
#define _STRING_INCLUDED
#include <strings.h>
-#endif /* _STRING_INCLUDED */ \ No newline at end of file
+#endif /* _STRING_INCLUDED */
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f5627878c70..a89a70fcada 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,2637 @@
+005-09-02 Nick Clifton <nickc@redhat.com>
+
+ * config/stormy16/stormy16-lib2.c (__popcounthi2, __parityhi2,
+ __ctzhi2, __clzhi2): New functions.
+
+2005-09-02 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/23547
+ * tree-nested.c (struct var_map_elt): Mark with GTY.
+ (struct nesting_info): Mark with GTY. Mark var_map's param is struct
+ var_map_elt.
+ (lookup_field_for_decl): Allocate new element in GC memory.
+ (lookup_tramp_for_decl): Likewise.
+ (convert_nl_goto_reference): Likewise
+ (create_nesting_tree): Allocate info in GC memory. Likewise for
+ info->var_map.
+ (free_nesting_tree): Free with ggc_free instead of free.
+ (root): New static variable.
+ (lower_nested_functions): Remove root as local variable. And zero out
+ root at the end of the function.
+
+2005-09-02 J"orn Rennecke <joern.rennecke@st.com>
+
+ PR rtl-optimization/20365
+ * simplify-rtx.c (simplify_plus_minus_op_data): Change type of neg
+ to short. New member ix.
+ (simplify_plus_minus_op_data_cmp): Break ties using ix member.
+ (simplify_plus_minus): Initialize ix members before calling qsort.
+
+2005-09-02 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/23626
+ * tree-cfg.c (replace_uses_by): Clean up eh info.
+
+2005-09-01 DJ Delorie <dj@redhat.com>
+
+ * config/m32c/m32c.c (m32c_valid_pointer_mode): Remove stray debug
+ fprintf.
+
+2005-09-01 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.c (setup_incoming_varargs): Set MEM_NOTRAP_P.
+ (rs6000_split_multireg_move): Use replace_equiv_address instead of
+ gen_rtx_MEM.
+
+2005-09-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
+
+ * c-decl.c (diagnose_mismatched_decls): With -Wredundant-decls,
+ do not issue warning for a variable definition following
+ a declaration.
+
+2005-09-01 Richard Henderson <rth@redhat.com>
+
+ PR 23668
+ * config/i386/i386.c (ix86_expand_vector_init_one_var): Restore
+ conversion to CONST_VECTOR.
+
+2005-09-01 Richard Henderson <rth@redhat.com>
+
+ PR 23676
+ * reload1.c (reload_as_needed): Check !CALL_P before calling
+ fixup_eh_region_note.
+ * rtlanal.c (may_trap_p): SUBREG by itself cannot trap.
+
+2005-09-01 DJ Delorie <dj@redhat.com>
+
+ * varasm.c (output_constant): Let the target resolve
+ conversions of addresses to non-default pointer sizes.
+
+2005-09-01 Nicolas Pitre <nico@cam.org>
+
+ * config/arm/arm.c (arm_legitimize_address): Split absolute addresses
+ to alow matching ARM pre-indexed addressing mode.
+ (arm_override_options): Remove now irrelevant comment.
+
+2005-09-01 Phil Edwards <phil@codesourcery.com>
+
+ * config.gcc (i*86-wrs-vxworks): Update. Split out vxworksae target.
+ * config/i386/t-vxworks: Update multilibs for VxWorks 6 and RTP mode.
+ * config/i386/vxworks.h: Likewise.
+ * config/i386/t-vxworksae: New file, for VxWorks AE.
+ * config/i386/vxworksae.h: Likewise.
+
+2005-09-01 Sebastian Pop <pop@cri.ensmp.fr>
+
+ PR tree-optimization/23410
+ * tree-ssa-loop-niter.c (scev_probably_wraps_p): Check that the
+ sequence is not wrapping during the first step.
+
+2005-09-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/7241
+ * dwarf2out.c (base_type_die): Compare char_type_node with
+ TYPE_MAIN_VARIANT (type), not type.
+
+2005-09-01 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/15366
+ * common.opt: Add -finline-functions-called-once.
+ Put -fearly-inlining in alphabetically ordered place.
+ * doc/invoke.texi: Document new option.
+ * ipa-inline.c (cgraph_decide_inlining): Honour
+ flag_inline_functions_called_once.
+
+2005-09-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/23478
+ * local-alloc.c (struct qty): Add n_throwing_calls_crossed field.
+ (alloc_qty): Initialize it.
+ (update_equiv_regs): Clear REG_N_THROWING_CALLS_CROSSED.
+ (combine_regs): Combine also n_throwing_calls_crossed fields.
+ (find_free_reg): Don't attempt to caller-save pseudos crossing
+ calls that might throw.
+ * global.c (struct allocno): Add throwing_calls_crossed field.
+ (global_alloc): Revert 2005-08-22 change. Initialize
+ throwing_calls_crossed.
+ (find_reg): Don't attempt to caller-save pseudos crossing calls that
+ might throw.
+
+2005-09-01 Alan Modra <amodra@bigpond.net.au>
+
+ PR target/23649
+ * config/rs6000/predicates.md (mask_operand): Only handle rlwinm masks.
+ (mask64_operand): Reinstate code prior to 2005-06-11 change.
+ (mask64_2_operand): Reinstate code prior to 2004-11-11 change.
+ (and64_2_operand): Tweak to use predicate.
+ (and_operand): Adjust for mask_operand changes.
+ * config/rs6000/rs6000.c (num_insns_constant): Revert 2005-06-11.
+ (print_operand): Likewise.
+ (rs6000_rtx_costs): Pass mode to mask_operand and use mask64_operand.
+ (mask64_1or2_operand): Delete.
+ * rs6000/rs6000-protos.h (mask64_1or2_operand): Delete.
+ * config/rs6000/rs6000.h (EXTRA_CONSTRAINT <S>): Revert 2005-06-11.
+ (EXTRA_CONSTRAINT <T>): Pass operand mode to predicate.
+ (EXTRA_CONSTRAINT <t>): Disallow mask64_operand matches.
+ * config/rs6000/rs6000.md (andsi3_internal3 split): Revert 2005-06-11.
+ (rotldi3_internal4): Likewise.
+ (rotldi3_internal5, rotldi3_internal5 split): Likewise.
+ (rotldi3_internal6, rotldi3_internal6 split): Likewise.
+ (ashldi3_internal7): Likewise.
+ (ashldi3_internal8, ashldi3_internal8 split): Likewise.
+ (ashldi3_internal, ashldi3_internal9 split): Likewise.
+ (anddi3 split): Don't match mask64_operand.
+ (anddi3_internal2): Add rlwinm. Modify 't' splitter predicate.
+ (anddi3_internal3): Add rlwinm. Use and64_2_operand in non-cr0
+ splitter and match TARGET_64BIT not TARGET_POWERPC64. Modify
+ 't' splitter predicate.
+ (movdi_internal64 + 2): Revert 2005-06-11 change.
+
+2005-08-31 DJ Delorie <dj@redhat.com>
+
+ * config/m32c/m32c.c (m32c_valid_pointer_mode): New.
+ (m32c_asm_integer): Add support for 32 bit pointers.
+
+2005-08-31 Richard Henderson <rth@redhat.com>
+
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Look through
+ component-like references for setting MEM_NOTRAP_P.
+
+ * config/i386/i386.c (ix86_setup_incoming_varargs): Set MEM_NOTRAP_P.
+ * config/alpha/alpha.c (alpha_setup_incoming_varargs): Likewise.
+
+2005-08-31 Richard Henderson <rth@redhat.com>
+
+ * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Force subregs
+ into a pseudo before applying gen_lowpart.
+
+2005-08-31 Geoffrey Keating <geoffk@apple.com>
+
+ * doc/install.texi (Specific): Update cctools version required
+ for full functionality.
+ * config/darwin.h (LINK_SPEC): Pass -mmacosx-version-min to the
+ linkers as -macosx_version_min.
+
+2005-08-31 J"orn Rennecke <joern.rennecke@st.com>
+
+ PR target/21255
+ * sh.c (print_operand, %R and %S): Add handling of floating point
+ registers, memory, constants and invalid operands.
+
+2005-08-31 Daniel Berlin <dberlin@dberlin.org>
+
+ * ipa-pure-const.c: Change dump name.
+
+2005-08-31 Uros Bizjak <uros@kss-loka.si>
+
+ PR target/23570
+ * config/i386/sse.md (*sse_concatv2sf): Change operand 2 constraint
+ to "reg_or_0_operand".
+ (sse2_loadld): Change operand 1 constraint to "reg_or_0_operand".
+
+2005-08-31 Dale Johannesen <dalej@apple.com>
+
+ * loop-iv.c (iv_number_of_iterations): Fix overflow check for
+ loops that count down.
+
+2005-08-31 Richard Henderson <rth@redhat.com>
+
+ PR rtl-opt/23601
+ * reload1.c (reload): Set MEM_NOTRAP_P in spill slots.
+ (fixup_eh_region_note): New.
+ (reload_as_needed): Call it.
+ (fixup_abnormal_edges): Allow all throwing insns to be deleted;
+ don't call find_many_sub_basic_blocks; call verify_flow_info.
+ * function.c (assign_stack_local_1): Set MEM_NOTRAP_P.
+ (keep_stack_depressed): Likewise.
+ (assign_stack_temp_for_type): Likewise; use adjust_address_nv.
+
+2005-08-31 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix test for
+ fp return matching.
+
+2005-08-31 Fariborz Jahanian <fjahanian@apple.com>
+
+ * expr.c (expand_expr_real_1): Compare size of address
+ mode to target's address mode size in deciding expansion of
+ the constant address.
+
+2005-08-31 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/23477
+ * expr.c (all_zeros_p): New function.
+ (expand_expr_real_1): Handle the case of an all-zero
+ non-addressable constructor separately.
+
+2005-08-31 Adrian Straetling <straetling@de.ibm.com>
+
+ * builtins.c: (expand_builtin_strcpy, expand_builtin_strcat): Change
+ arguments, adjust all callers.
+ (expand_builtin_strcat): Rewrite to call strcpy instead of mempcpy.
+
+2005-08-30 Richard Henderson <rth@redhat.com>
+
+ PR target/23630
+ * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Use gen_lowpart
+ whenever the mode sizes match.
+
+2005-08-31 Alan Modra <amodra@bigpond.net.au>
+
+ * calls.c (load_register_parameters): Fix comment typo.
+ * expr.c (emit_push_insn): Comment formatting.
+
+2005-08-30 Ian Lance Taylor <ian@airs.com>
+
+ * config/i386/x-cygwin (host-cygwin): Change dependency from
+ hosthooks-def.h to $(HOSTHOOKS_DEF_H).
+
+2005-08-29 Geoffrey Keating <geoffk@apple.com>
+
+ * config/i386/i386.c (ix86_expand_vector_init_one_var): Don't modify
+ parts of 'vals'.
+
+2005-08-29 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/23408
+ * ipa-inline.c (cgraph_decide_inlining_incrementally): Remove the
+ call to ggc_collect.
+
+2005-08-29 Paolo Bonzini <bonzini@gnu.org>
+
+ PR bootstrap/21268
+ * Makefile.in (ALL_CPPFLAGS): Include $(INCLUDES) at the
+ beginning. Remove $(INCLUDES) from all the rules, if following
+ $(ALL_CPPFLAGS) or $(BUILD_CPPFLAGS).
+
+2005-08-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/23484
+ * builtins.c (fold_builtin_memory_chk, fold_builtin_stxcpy_chk,
+ fold_builtin_strncpy_chk, fold_builtin_snprintf_chk): If len is
+ not constant, but maxlen is, don't set len to maxlen, rather
+ set maxlen to len if len is a constant.
+
+2005-08-29 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/23475
+ * tree-ssa-loop-ivcanon.c (remove_empty_loop): Update frequencies
+ and counts.
+
+2005-08-28 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR middle-end/22455
+
+ * fold-const.c (fold_checksum_tree): Adjust for now-largest tree size.
+ Checksum only the parts of the tree that exist for the tree code.
+
+2005-08-28 Dale Johannesen <dalej@apple.com>
+
+ * config/i386/i386.c (nocona_cost): Increase MOVE_RATIO.
+
+2005-08-28 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * tree-vrp.c: Remove obsolete comment in front of vrp_initialize.
+
+2005-08-28 Richard Henderson <rth@redhat.com>
+
+ * stor-layout.c (finalize_type_size): Revert workaround from 08-26.
+ * tree.c (make_node_stat): Use BITS_PER_UNIT instead of alignment
+ of char_type_node.
+
+2005-08-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR ada/23593
+ * builtins.c (get_memory_rtx): Don't strip nops
+ in between COMPONENT_REFs.
+
+2005-08-27 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/23463
+ * gimplify.c (gimplify_modify_expr_rhs): Remove check for zero sized
+ types.
+ (gimplify_modify_expr): Check for zero sized types and gimplify the
+ rhs and lhs as statements.
+
+2005-08-27 John David Anglin <dave.anflin@nrc-cnrc.gc.ca>
+
+ PR libgcj/23508
+ * pa/linux-unwind.h (pa32_fallback_frame_state): Use r0 slot in frame
+ state for return address column of signal frames.
+
+2005-08-27 David Edelsohn <edelsohn@gnu.org>
+
+ PR target/23539
+ * config/rs6000/rs6000.c (expand_block_clear): Use HImode when
+ bytes >= 2 not bytes == 2.
+ (expand_block_move): Same.
+
+2005-08-27 Richard Guenther <rguenther@suse.de>
+
+ PR target/23575
+ * config/i386/sse.md (sse2_movsd): Add missing closing
+ braces.
+
+2005-08-27 Paul Brook <paul@codesourcery.com>
+
+ * genrecog.c (enum decision_type): Add DT_num_insns.
+ (struct decision_test): Add u.num_insns.
+ (add_to_sequence): Add DT_num_insns test.
+ (maybe_both_true_2, nodes_identical_1): Handle DT_num_insns.
+ (write_cond, debug_decision_2): Ditto.
+ (change_state): Assume peep2_next_insn never fails.
+ Remove "afterward" argument.
+ (write afterward, write_tree): Update to match.
+ * recog.c (peep2_current_count): New variable.
+ (peep2_next_insn): Check it.
+ (peephole2_optimize): Set peep2_current_count.
+ * recog.h (peep2_current_count): Declare.
+
+2005-08-26 Josh Conner <jconner@apple.com>
+
+ PR middle-end/23584
+ * ipa-pure-const.c (check_tree): Check for volatile-ness
+ when considering a dereference.
+
+2005-08-27 Jakub Jelinek <jakub@redhat.com>
+
+ * rtl.h (MEM_IN_STRUCT_P): Fix comment typo.
+
+2005-08-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/23561
+ * builtins.c (get_memory_rtx): Add LEN argument. If MEM_EXPR is
+ a COMPONENT_REF, remove all COMPONENT_REF from MEM_EXPR unless
+ at most LEN bytes long memory fits into the field.
+ (expand_builtin_memcpy, expand_builtin_mempcpy, expand_movstr,
+ expand_builtin_strncpy, expand_builtin_memset, expand_builtin_memcmp,
+ expand_builtin_strcmp, expand_builtin_strncmp): Adjust callers.
+
+2005-08-26 Richard Henderson <rth@redhat.com>
+
+ PR rtl-opt/23560
+ * loop.c (biased_biv_may_wrap_p): New.
+ (maybe_eliminate_biv_1): Use it to suppress non-equality
+ comparison transformations. Delete disabled code.
+
+2005-08-26 Ian Lance Taylor <ian@airs.com>
+
+ * combine.c (make_extraction): Avoid reference outside object.
+
+2005-08-26 J"orn Rennecke <joern.rennecke@st.com>
+
+ * stor-layout.c (finalize_type_size): Restore behaviour for
+ non-aggregate types to the status quo ante of the patch for
+ pr 23467. Document why it matters.
+
+2005-08-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/23506
+ * c-common.c (c_common_nodes_and_builtins): Increase builtin_types
+ array by one element, initialize the BT_LAST element with NULL.
+
+2005-08-26 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.md (eq<mode>_compare): Only enable when
+ optimizing for size.
+ (plus_eqsi): Same.
+ (compare_plus_eqsi): Same.
+ (plus_eqsi_compare): Same.
+ (neg_eq0<mode>): Same.
+ (neg_eq<mode>): Same.
+
+ * config/rs6000/aix52.h (PROCESSOR_DEFAULT): Change to
+ PROCESSOR_POWER4.
+
+2005-08-26 Nick Clifton <nickc@redhat.com>
+
+ * config/v850/v850.c (ep_memory_operand): Return FALSE if
+ TARGET_EP is not defined.
+ * config/v850/c850.h (TARGET_CPU_CPP_BUILTINS): Define __EP__ if
+ TARGET_EP is enabled.
+ (OPTIMIZATION_OPTIONS): Do not define MASK_EP when optimizing.
+ * config/v850/v850.md (save_all_interrupt): Only use the EP
+ register if TARGET_EP is defined.
+ (restore_all_interrupt): Likewise.
+ * config/v850/lib1funcs.asm: Update functions so that the EP
+ register is only used if __EP__ is defined.
+
+2005-08-26 David Ung <davidu@mips.com>
+
+ * config/mips/mips.c (mips_expand_prologue): Handle case when
+ generating for MIPS16 and the outgoing argument area is more than
+ SMALL_OPERAND. Use the frame pointer as temporary to generate the
+ add instruction.
+
+2005-08-26 Paul Woegerer <paul.woegerer@nsc.com>
+
+ * config/crx/crx.md: Make doloop_end pattern usage controllable
+ via mloop-nesting=<max-nesting> command line switch. Make sure
+ the combiner cannot use doloop_end_<mode> in an illegal way.
+ * config/crx/crx.c: Use regs up to r6 for argument passing.
+ Refine crx_address_cost (non cst4 displacements are expensive).
+ * config/crx/crx.opt: Add switch for mloop-nesting=.
+
+2005-08-26 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("movstr", "*movstr"): Add patterns.
+ (UNSPEC_MVST): New constant.
+
+2005-08-26 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * config/s390/predicates.md ("shift_count_operand", "setmem_operand"):
+ Reject operands containing eliminable registers.
+ * testsuite/gcc.dg/20050825-1.c: New testcase.
+
+2005-08-24 Paolo Bonzini <bonzini@gnu.org>
+ Jan Hubicka <jh@suse.cz>
+
+ * regmove.c (reg_is_remote_constant_p): Reorganize to not use log links.
+
+2005-08-24 Paolo Bonzini <bonzini@gnu.org>
+
+ PR tree-optimization/23546
+ * tree-ssa-loop-im.c (for_each_index): Handle INTEGER_CST
+ and REAL_CST nodes.
+
+2005-08-24 Pete Steinmetz <steinmtz@us.ibm.com>
+
+ * params.def (PARAM_MIN_SPEC_PROB): New.
+ * sched-rgn.c (MIN_PROBABILITY): Delete.
+ (compute_trg_info): Convert to PARAM_VALUE.
+ * doc/invoke.texi (param): Document min-spec-prob.
+
+2005-08-24 Fariborz Jahanian <fjahanian@apple.com>
+
+ * config/darwin.h: define __PIC__
+ * config/rs6000/darwin.h: Add SUBTARGET_OS_CPP_BUILTINS to
+ TARGET_OS_CPP_BUILTINS macro.
+
+2005-08-24 Paolo Bonzini <bonzini@gnu.org>
+
+ * config/rs6000/rs6000.md: Fix thinko in the peephole2 I added
+ yesterday.
+
+2005-08-24 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * bb-reorder.c (copy_bb, duplicate_computed_gotos): Add argument
+ to duplicate_block.
+ * cfghooks.c (duplicate_block): Added position where to place
+ new block as argument.
+ * cfghooks.h (duplicate_block): Declaration changed.
+ * cfglayout.c (copy_bbs): Add argument after. Pass it to
+ duplicate_block.
+ * cfglayout.h (copy_bbs): Declaration changed.
+ * cfgloop.h (loop_version): Declaration changed.
+ * cfgloopmanip.c (duplicate_loop_to_header_edge): Pass
+ position to copy_bbs.
+ (loop_version): Pass position to duplicate_loop_to_header_edge.
+ Add place_after argument and position new blocks according to
+ it.
+ * modulo-sched.c (sms_schedule): Pass place_after argument
+ to loop_version.
+ * tracer.c (tail_duplicate): Pass argument to duplicate_block.
+ * tree-cfg.c (split_edge_bb_loc): New function.
+ (tree_split_edge, tree_duplicate_sese_region): Use split_edge_bb_loc
+ to determine position of new blocks.
+ * tree-ssa-loop-unswitch.c (tree_unswitch_loop): Pass argument
+ to loop_version.
+ * tree-ssa-threadupdate.c (create_block_for_threading): Pass
+ argument to duplicate_block.
+ * tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg):
+ Pass position to copy_bbs.
+
+2005-08-24 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * fold-const.c (ptr_difference_const): Use
+ cst_and_fits_in_hwi instead of host_integerp.
+
+2005-08-24 Paolo Bonzini <bonzini@gnu.org>
+
+ * config/darwin.c (gen_pic_offset): New.
+ (machopic_indirect_data_reference, machopic_legitimize_pic_address):
+ Use it.
+
+2005-08-23 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/23486
+ * tree-ssa-loop.c (pass_scev_cprop): Add TODO_update_ssa_only_virtuals.
+
+2005-08-23 Phil Edwards <phil@codesourcery.com>
+
+ * config.gcc (*-*-vxworks*): Update tm_file, add extra_options,
+ remove use_collect2.
+ (powerpc-wrs-vxworks): Update, split out *-*-vxworksae target.
+
+ * target-def.h (TARGET_HAVE_CTORS_DTORS): Allow target
+ configuration files to override the default value.
+
+ * config/t-vxworks: Remove INSTALL_ASSERT_H. Define STMP_FIXPROTO,
+ EXTRA_HEADERS, and EXTRA_MULTILIB_PARTS.
+ * config/vx-common.h: New file, split out from...
+ * config/vxworks.h: here. Update for VxWorks 6.x and RTP mode.
+ * config/vxworksae.h: New file, for VxWorks AE.
+ * config/vxworks.opt: New file.
+ * config/vxlib.c: Update for VxWorks 6.
+
+ * config/rs6000/t-vxworks (MULTILIB_OPTIONS): New list. Adjust
+ other MULTILIB_* variables appropriately.
+ (LIB2FUNCS_EXTRA, EXTRA_MULTILIB_PARTS): Correct from t-ppccomm.
+ * config/rs6000/t-vxworksae: New file, adjust multilibs for AE.
+ * config/rs6000/vxworks.h: Update for VxWorks 6.
+ * config/rs6000/vxworksae.h: New file, mostly placeholder for now.
+
+2005-08-23 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR target/20799
+ * config/darwin.c (machopic_select_section): Remove the hack to
+ mark "::operator new" and "::operator delete" for coalescing
+ even though they are not weak.
+
+2005-08-24 Alan Modra <amodra@bigpond.net.au>
+
+ * configure.ac (HAVE_LD_NO_DOT_SYMS): Set for powerpc-linux biarch.
+ * configure: Regenerate.
+
+2005-08-23 Paolo Bonzini <bonzini@gnu.org>
+
+ PR middle-end/23517
+ * fold-const.c (fold_convert): Use VIEW_CONVERT_EXPR to convert
+ between vectors.
+ * convert.c (convert_to_integer, convert_to_vector): Likewise.
+ * tree-vect-generic.c (tree_vec_extract, expand_vector_operations_1):
+ Likewise.
+
+2005-08-23 Paolo Bonzini <bonzini@gnu.org>
+
+ * config/rs6000/predicates.md (equality_operator): New.
+ * config/rs6000/rs6000.md: Rewrite as a peephole2 the split for
+ comparison with a large constant.
+
+2005-08-23 Mark Mitchell <mark@codesourcery.com>
+
+ * hwint.h (HOST_WIDE_INT_PRINT): Use HOST_LONG_LONG_FORMAT.
+
+2005-08-23 J"orn Rennecke <joern.rennecke@st.com>
+
+ * sh.c (sh_builtin_saveregs): If the number of to-be-saved fp
+ registers is even, and we have a hardware double precision fp,
+ align the buffer.
+ (sh_gimplify_va_arg_expr): For floating point arguments, consider
+ size of current argument when checking if argument was passed in
+ registers.
+
+ * sh.c (sh_attr_renesas_p): Handle error_mark_node.
+
+ PR middle-end/23467
+ * stor-layout.c (finalize_type_size): Dont override
+ existing alignment with a smaller alignment from the mode.
+
+2005-08-23 Sebastian Pop <pop@cri.ensmp.fr>
+
+ * lambda-code.c (lambda_vector_lexico_pos): Moved...
+ * lambda.h (lambda_vector_lexico_pos): ... here.
+ * tree-data-ref.c (build_classic_dist_vector): Return false when
+ the distance vector is lexicographically negative.
+
+2005-08-23 Sebastian Pop <pop@cri.ensmp.fr>
+
+ PR tree-optimization/23511
+ * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Don't
+ handle cases where TYPE_MIN_VALUE or TYPE_MAX_VALUE are NULL_TREE.
+
+2005-08-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/22043
+ * tree.h (count_type_elements): Add ALLOW_FLEXARR argument.
+ * expr.c (count_type_elements): Add ALLOW_FLEXARR argument.
+ If ALLOW_FLEXARR, handle types ending with flexible array member.
+ Pass false as second argument to recursive count_type_elements calls.
+ (categorize_ctor_elements_1, mostly_zeros_p): Pass false as second
+ argument to count_type_elements call.
+ * tree-sra.c (decide_block_copy): Likewise.
+ * gimplify.c (gimplify_init_constructor): If num_type_elements < 0
+ for a constant-sized object, set cleared as well. Pass true as
+ second argument to count_type_elements call.
+
+2005-08-23 Alan Modra <amodra@bigpond.net.au>
+
+ PR target/21571
+ * config/rs6000/rs6000.c (rs6000_legitimate_small_data_p): Rename
+ from legitimate_small_data_p, and make global. Update use.
+ Remove forward declaration.
+ * config/rs6000/rs6000-protos.h (rs6000_legitimate_small_data_p):
+ Declare.
+ * config/rs6000/rs6000.md (movdf_hardfloat32): Allow small data mems.
+
+2005-08-23 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.md (eq<mode>): Use output operand instead
+ of scratch intermediates.
+ (eq<mode>_compare): Same.
+ (neg_eq0<mode>): New.
+ (neg_eq<mode>): Convert to define_insn_and_split.
+
+2005-08-23 Alan Modra <amodra@bigpond.net.au>
+
+ PR target/23070
+ * config/rs6000/rs6000.c (function_arg): For ABI_V4 calls to
+ stdarg functions, set/clear the fp marker even when no variable
+ args are passed.
+ * config/rs6000/sysv4.opt (mprototype): Describe.
+
+2005-08-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/23478
+ * regs.h (reg_info): Add throw_calls_crossed.
+ (REG_N_THROWING_CALLS_CROSSED): Define.
+ * flow.c (allocate_reg_life_data): Initialize
+ REG_N_THROWING_CALLS_CROSSED.
+ (propagate_one_insn, attempt_auto_inc): Update
+ REG_N_THROWING_CALLS_CROSSED.
+ * global.c (global_alloc): Don't allocate pseudos across
+ calls that may throw.
+
+2005-08-22 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR c/18715
+ * c-common.c (c_do_switch_warnings): Look for a node where the enum's
+ value is inbetween the range if we did not find an exact match.
+
+2005-08-22 Aldy Hernandez <aldyh@redhat.com>
+
+ * doc/invoke.texi (Option Summary): Add ms1 options.
+ * doc/extend.texi: Document interrupt handler attribute for ms1.
+ * doc/md.texi: Document ms1 constraints.
+ * config.gcc: Add ms1-*-elf.
+ * config/ms1/ms1.h: New.
+ * config/ms1/ms1.c: New.
+ * config/ms1/ms1.md: New.
+ * config/ms1/ms1-protos.h: New.
+ * config/ms1/ABI.txt: New.
+ * config/ms1/crti.asm: New.
+ * config/ms1/crtn.asm: New.
+ * config/ms1/lib2extra-funcs.c: New.
+ * config/ms1/t-ms1: New.
+ * config/ms1/ms1.opt: New.
+
+2005-08-22 Ira Rosen <irar@il.ibm.com>
+
+ * config/rs6000/altivec.md (xorv4sf3): New.
+ (negv4sf2, neg<mode>2): Likewise.
+
+2005-08-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/23485
+ * config/ia64/ia64.md (divsi3): Check divide by zero.
+ (udivsi3): Likewise.
+ (divdi3): Likewise.
+ (udivdi3): Likewise.
+
+2005-08-21 Jakub Jelinek <jakub@redhat.com>
+
+ * simplify-rtx.c (simplify_immed_subreg) <case CONST_DOUBLE>: Only clear
+ up to elem_bitsize bits, not max_bitsize.
+
+2005-08-21 Sebastian Pop <pop@cri.ensmp.fr>
+
+ PR tree-optimization/23433
+ * tree-chrec.c (chrec_apply): Translate INTEGER_CST to a
+ REAL_CST when the type is SCALAR_FLOAT_TYPE_P.
+
+2005-08-21 Sebastian Pop <pop@cri.ensmp.fr>
+
+ PR tree-optimization/23434
+ * tree-ssa-loop-niter.c (proved_non_wrapping_p): Give up when
+ the iteration bound is not an INTEGER_CST.
+
+2005-08-21 Dorit Nuzman <dorit@il.ibm.com>
+
+ * tree-vect-transform.c (get_initial_def_for_reduction): Set
+ need_epilog_adjust back to false for MIN/MAX case. Set *scalar_def to
+ NULL if need_epilog_adjust is false.
+ (vect_create_epilog_for_reduction): Variable adjust_in_epilog removed.
+ Case 3 always peels first itration, not just for PLUS case, and no need
+ to use scalar_initial_def here. Create an epilog adjustment only if
+ scalar_initial_def is not NULL.
+
+ (vectorizable_reduction): Remove assert.
+
+2005-08-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/23485
+ * config/ia64/lib1funcs.asm (__divdi3): Check divide by zero.
+ (__moddi3): Likewise.
+ (__udivdi3): Likewise.
+ (__umoddi3): Likewise.
+ (__divsi3): Likewise.
+ (__modsi3): Likewise.
+ (__udivsi3): Likewise.
+ (__umodsi3): Likewise.
+
+2005-08-20 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-pass.h (TDF_GRAPH): Define.
+ * tree-dump.c (dump_options): Don't set TDF_GRAPH in "all".
+ * passes.c (finish_optimization_passes): Only call
+ finish_graph_dump_file if TDF_GRAPH is set.
+ (execute_one_pass): Only call clean_graph_dump_file if dump_file !=
+ NULL. Set TDF_GRAPH bit.
+ (execute_todo): Call print_rtl_graph_with_bb if TDF_GRAPH is set.
+
+2005-08-20 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ * arm.h (arm_stack_offsets): Add locals_base field.
+ * arm.c (arm_get_frame_offsets): Compute it.
+ (thumb_compute_initial_elimination offset): Make the Thumb frame
+ pointer point to the base of the local variables.
+ (thumb_expand_prologue): Update accordingly.
+ (thumb_expand_epilogue): Likewise.
+
+ * arm.md (thumb_movhi_clobber): Make this insn a define_expand. Change
+ mode of clobbered scratch to DImode. Handle a case that's known to
+ need this.
+
+2005-08-19 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.md (gt0<mode>): Delete.
+ (gt0<mode>_compare): Delete.
+ (neg_gt0<mode>): Delete.
+
+2005-08-19 Eric Christopher <echristo@apple.com>
+
+ * optabs.h: Change CTI_ to COI_.
+ * optabs.c: Ditto.
+
+2005-08-19 James E Wilson <wilson@specifix.com>
+
+ * builtins.c (expand_builtin_return_addr): Set
+ current_function_accesses_prior_frames when count != 0. Use
+ frame_pointer_rtx when count == 0.
+ * function.h (struct function): Add accesses_prior_frames field.
+ (current_function_accesses_prior_frames): Define.
+ * reload1.c (init_elim_table): Check
+ current_function_accesses_prior_frames.
+ * doc/tm.texi (INITIAL_FRAME_ADDRESS_RTX): Update docs.
+
+2005-08-19 Diego Novillo <dnovillo@redhat.com>
+
+ * tree-cfgcleanup.c (cleanup_tree_cfg): Fix flowgraph change
+ indicator. Return true if the flowgraph changed during
+ cleanup.
+
+2005-08-19 Diego Novillo <dnovillo@redhat.com>
+
+ PR 23476
+ * tree-cfgcleanup.c (cleanup_control_expr_graph): Fold the
+ conditional expression before testing its value.
+
+2005-08-19 Diego Novillo <dnovillo@redhat.com>
+
+ * doc/invoke.texi: Fix documentation for -ftree-dominator-opts.
+
+2005-08-19 Devang Patel <dpatel@apple.com>
+
+ PR tree-optimization/23048
+ * tree-if-conv.c (if_convertible_bb_p): Supply basic_block as
+ third parameter. Check whether latch is dominated by exit
+ block or not.
+ (if_convertible_loop_p): Supply exit block itself to
+ if_convertible_bb_p.
+
+2005-08-19 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ PR target/23473
+ * arm.md (arm_load_pic_register): Change argument to the mask of
+ saved registers. Call thumb_find_work_register if we need a
+ scratch register on Thumb.
+ (arm_expand_prologue): Pass empty register set to
+ arm_load_pic_register.
+ (thumb_expand_prologue): Pass live_regs_mask directly to
+ arm_load_pic_register.
+ * arm-protos.h (arm_load_pic_register): Update prototype.
+
+2005-08-19 J"orn Rennecke <joern.rennecke@st.com>
+
+ * sh.c (find_sole_member): New function.
+ (sh_gimplify_va_arg_expr): Use it. Allow RECORD_TYPE mode mismatch
+ if the record's alignment is larger than the size of its only member.
+
+2005-08-19 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ PR target/23436
+ * arm.c (thumb_legitimize_reload_address): New function.
+ * arm-protos.h (thumb_legitimize_reload_address): Add prototype.
+ * arm.h (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Call it.
+
+2005-08-19 Paul Woegerer <paul.woegerer@nsc.com>
+
+ * config/crx/crx.c: Implement crx_decompose_address. Reject
+ symbolic displacements since CRX register relative adressing
+ mode can't handle unsigned 32-bit values as displacements.
+ * config/crx/crx.h: Simplify definitions, remove redundant
+ parenthesis and obsolete macros.
+ * config/crx/crx.opt: Add new switch for debugging addresses.
+ * config/crx/crx-protos.h: Add new declarations for above.
+
+2005-08-19 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/20624
+ * gimple-low.c (block_may_fallthru): Handle CLEANUP_POINT_EXPR by
+ looking past it.
+
+2005-08-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * collect2.c (dup2): Delete.
+ * configure.ac: Don't check for dup2.
+
+ * config.in, configure: Regenerate.
+
+2005-08-18 J"orn Rennecke <joern.rennecke@st.com>
+
+ * sh.c (sh_gimplify_va_arg_expr): Loop to substitute a RECORD_TYPE
+ record with the type of its only member.
+
+2005-08-18 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.md (ltu<mode>_compare): Convert to
+ define_insn_and_split.
+ (plus_ltu<mode>_compare): Same.
+ (gtu<mode>_compare): Same.
+ (plus_gtu<mode>_compare): Same.
+
+2005-08-18 Dorit Nuzman <dorit@il.ibm.com>
+
+ PR tree-optimization/22228
+ * tree-ssa-loop (pass_vectorize): Add TODO_verify_loops to
+ todo_flags_start.
+ * tree-vect-transform.c (vect_transform_loop): Mark the variables that
+ are recorded in vect_vnames_to_rename for renaming.
+ * tree-vectorizer.c (vect_vnames_to_rename): New global bitmap.
+ (slpeel_update_phi_nodes_for_guard1): Record virtual vars for renaming
+ in vect_vnames_to_rename.
+ (vectorize_loops): Allocate and free the vect_vnames_to_rename bitmap.
+ * tree-vectorizer.h (vect_vnames_to_rename): New extern variable.
+
+2005-08-18 Jan Hubicka <jh@suse.cz>
+
+ PR c++/22034
+ * cgraphunit.c (cgraph_varpool_assemble_pending_decls): Emit debug
+ info only for local statics, not for member variables.
+
+2005-08-18 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * tree-data-ref.c (analyze_siv_subscript_cst_affine): Fix comment typo.
+
+2005-08-18 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * c-typeck.c (designator_errorneous): Rename to designator_erroneous.
+
+2005-08-18 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/16045
+ * builtins.c (fold_builtin): Create a new NOP_EXPR all the time.
+
+2005-08-17 James E Wilson <wilson@specifix.com>
+
+ * c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
+ array size check.
+
+2005-08-17 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.md (leu<mode>): Convert to mode macro.
+ (leu<mode>_compare): Same.
+ (plus_leu<mode>): Same.
+ (neg_leu<mode>): Same.
+ (and_neg_leu<mode): Same.
+ (ltu<mode>_compare): Same.
+ (plus_ltu<mode>): Same.
+ (geu<mode>): Same.
+ (geu<mode>_compare): Same.
+ (plus_geu<mode>): Same.
+ (neg_geu<mode>): Same.
+ (and_neg_geu<mode>): Same.
+ (plus_gt<mode>): Same.
+ (gtu<mode>_compare): Same.
+ (plus_gtu<mode>): Same.
+
+2005-08-17 Erik Christiansen <erik@dd.nec.com.au>
+
+ * config/v850/lib1funcs.asm (callt_save_interrupt): Fix comment typos.
+ Move call_table_data to end. Delete spurious .text.
+ (callt_save_all_interrupt): Fix comment typo.
+
+2005-08-17 James E Wilson <wilson@specifix.com>
+ Kevin Winchester <winchester@amirix.com>
+
+ PR target/21684
+ * config/mcore/mcore.h (SHIFT_COUNT_TRUNCATED): Define to 0.
+
+2005-08-17 Uros Bizjak <uros@kss-loka.si>
+
+ PR target/23268
+ * config/i386/i386.md ("*fist<mode>2_1"): New pattern.
+ ("lrint<mode>2"): Change expander to use "*fist<mode>2_1" pattern.
+
+2005-08-17 J"orn Rennecke <joern.rennecke@st.com>
+
+ * sh.c (sh_gimplify_va_arg_expr): Don't substitute a RECORD_TYPE
+ record with the type of its only member if the modes don't match.
+
+ * varasm.c (decode_reg_name): Skip empty additional register names.
+
+2005-08-16 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-ssa-loop-im.c (MAX_LSM_NAME_LENGTH, lsm_tmp_name,
+ lsm_tmp_name_length): New.
+ (lsm_tmp_name_add, gen_lsm_tmp_name, get_lsm_tmp_name): New functions.
+ (schedule_sm): Use get_lsm_tmp_name instead of "lsm_tmp".
+
+2005-08-16 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+ Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * config.gcc: Added z9-109 switch.
+ * config/s390/2084.md ("x_int", "x_agen", "x_lr", "x_la", "x_larl",
+ "x_load", "x_store", "x_branch", "x_call", "x_mul_hi", "x_mul_sidi",
+ "x_div", "x_sem", "x_cs", "x_vs", "x_stm", "x_lm", "x_other",
+ "x_fsimpdf", "x_fsimpsf", "x_fdivdf", "x_fdivsf", "x_floaddf",
+ "x_floadsf", "x_fstore_df", "x_fstoresf", "x_ftoi", "x_itof"): Enable
+ for "z9_109" cpu attribute.
+ * config/s390/s390.c (z9_109_cost): New processor cost structure.
+ (CONST_OK_FOR_Os, CONST_OK_FOR_Op, CONST_OK_FOR_On): New macros.
+ (s390_handle_arch_option): Added z9-109 switch.
+ (override_options): Set respective cost function for z9-109.
+ (s390_const_ok_for_constraint_p): New constraints Os, Op, On.
+ (legitimate_reload_constant_p): Accept extended immediates.
+ (print_operand): Three new output modifiers added: k, m and o.
+ (s390_adjust_priority, s390_issue_rate): Handle Z9_109 like Z990.
+ (s390_output_mi_thunk): Use extended immediate when possible.
+ * config/s390/s390.h (processor_flags): Added PF_EXTIMM.
+ (TARGET_CPU_EXTIMM, TARGET_EXTIMM): New macros.
+ (CONSTRAINT_LEN): Added length of O constraint.
+ (CLZ_DEFINED_VALUE_AT_ZERO): Definition added.
+ * config/s390/s390.md ("cpu"): New value z9_109 added.
+ ("*tstdi_extimm", "*tstdi_ccconly_extimm", "*tstsi_extimm",
+ "*tstsi_cconly_extimm", "*movdi_64extimm", "*extendhidi2_extimm",
+ "*extendqidi2_extimm", "*extendhisi2_extimm", "*extendqisi2_extimm",
+ "*zero_extend<mode>si2_extimm", "*anddi3_extimm", "*iordi3_extimm",
+ "*xordi3_extimm", "clzdi2", "clztidi2"): New patterns.
+ ("*tstdi", "*tstsi", "*movdi_64", "*extendhisi2", "*extendqisi2",
+ "*zero_extend<mode>si2_64", "zero_extendqihi2", "*zero_extendqihi2_64",
+ "*anddi3", "*iordi3", "*xordi3"): Disable for TARGET_EXTIMM.
+ ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs", "*cmpsi_ccs", "*cmpdi_ccu",
+ "*cmpsi_ccu", "*movsi_zarch", "*adddi3_imm_cc", "*adddi3_carry1_cc",
+ "*adddi3_carry2_cc", "*adddi3_cc", "*adddi3_64", "*addsi3_imm_cc",
+ "*addsi3_carry1_cc", "*addsi3_carry2_cc", "*addsi3_cc", "addsi3",
+ "*andsi3_cc", "*andsi3_cconly", "*andsi3_zarch", "*iorsi3_cc",
+ "*iorsi3_cconly", "*iorsi3_zarch", "*xorsi3_cc", "*xorsi3_cconly",
+ "*xorsi3", "*xorhi3", "*xorqi3"): Added instruction using extended
+ immediates.
+ ("extend<mode>di2", "extend<mode>si2", "zero_extend<mode>di2",
+ "zero_extend<mode>si2"): Allow memory operands and don't manually emit
+ insns for TARGET_EXTIMM.
+
+2005-08-17 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * testsuite/gcc.dg/20020926-1.c: Added "-mesa" to dg-options.
+
+2005-08-17 Nick Clifton <nickc@redhat.com>
+
+ * config/stormy16/stormy16.c (xstormy16_encode_section_info):
+ Call default_encode_section_info.
+
+2005-08-17 Steven Bosscher <stevenb@suse.de>
+
+ PR tree-optimization/21574
+ * tree-ssa-ccp.c (likely_value): If the right hand side is a
+ constant, return CONSTANT.
+ (ccp_lattice_meet): Use operand_equal_p instead of simple_cst_equal.
+ (ccp_fold, visit_assignment): Likewise.
+ (evaluate_stmt): Handle UNDEFINED and UNKNOWN_VAL the same way.
+
+2005-08-16 James A. Morrison <phython@gcc.gnu.org>
+
+ * c-typeck.c (build_function_call): Call fold_buildN_initializer or
+ fold_buildN instead of buildN then fold_initializer or fold.
+ (build_unary_op): Likewise.
+ (build_binary_op): Likewise.
+ * fold-const.c (fold_initializer): Remove.
+ (fold_build1_initializer): New function.
+ (fold_build2_initializer): New function.
+ (fold_build3_initializer): New function.
+ * tree.h (fold_initializer): Remove.
+ (fold_build1_initializer): New function.
+ (fold_build2_initializer): New function.
+ (fold_build3_initializer): New function.
+
+2005-08-16 James A. Morrison <phython@gcc.gnu.org>
+
+ * fold-const.c (optimize_bit_field_compare): Remove extra fold call.
+ (try_move_mult_to_index): Call fold_build2 instead of build2.
+ (fold_binary): Don't call fold after calls to try_move_mult_to_index.
+ * tree-ssa-loop-niter.c (inverse): Call int_const_binop instead of
+ fold_binary_to_constant.
+ (infer_loop_bounds_from_undefined): Call fold_build2 instead of
+ fold (build.
+ * tree-data-ref.c (tree_fold_divides_p): Use tree_int_cst_equal to
+ check if A == gcd (A, B). Remove TYPE argument.
+ (analyze_offset) Use fold_build2 instead of fold (build.
+ (create_data_ref): Likewise.
+ (analyze_siv_subscript_cst_affine): Update calls to tree_fold_divides_p.
+ * tree-ssa-ccp.c (widen_bitfield): Call fold_build2 instead of build2
+ then fold.
+
+2005-08-17 Kelley Cook <kcook@gcc.gnu.org>
+
+ * config/arm/unaligned-funcs.c,config/i386/crtfastmath.c,
+ ipa-cp.c,ipa-prop.c,ipa-prop.h: Update FSF address.
+
+2005-08-16 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR tree-opt/23402
+ * gimplify.c (zero_sized_type): New function.
+ (gimplify_modify_expr_rhs): If we have a zero sized type,
+ replace the statement with an empty statement.
+
+2005-08-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/crtfastmath.c (set_fast_math): Add "=m" for
+ fxsave.
+
+2005-08-16 Ian Lance Taylor <ian@airs.com>
+
+ * doc/tm.texi (Label Output): Correct typo.
+
+2005-08-16 Steven Bosscher <stevenb@suse.de>
+
+ PR target/23376
+ * loop-unroll.c (analyze_insn_to_expand_var): Make sure that
+ force_operand will work later on using have_insn_for.
+
+2005-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * fold-const.c (tree_expr_nonnegative_p): Regroup cases.
+
+2005-08-16 Ian Lance Taylor <ian@airs.com>
+
+ PR c++/23337
+ * gimplify.c (gimplify_init_ctor_eval): If we see an element of
+ vector type, don't try to construct it element by element. Add an
+ assertion that we use a FIELD_DECL when building a COMPONENT_REF.
+
+2005-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * fold-const.c (fold_ternary): Simplify folding of a CALL_EXPR.
+
+2005-08-16 Geoffrey Keating <geoffk@apple.com>
+
+ * doc/invoke.texi (Precompiled Headers): Document some more options
+ which are known to be safe.
+
+2005-08-16 James E Wilson <wilson@specifix.com>
+
+ PR tree-optimization/21105
+ * c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
+ TREE_OVERFLOW check.
+
+2005-08-16 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.md (ltu<mode>): Convert to mode macro.
+ (neg_ltu<mode>): Same.
+ (gtu<mode>): Same.
+ (neg_gtu<mode>): Same.
+
+2005-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * builtins.c (expand_builtin_strcat): Remove superfluous call to fold.
+ (fold_builtin_isdigit): Use fold_buildN.
+ (build_function_call_expr): Likewise.
+ * c-typeck.c (c_finish_loop): Likewise.
+
+2005-08-16 J"orn Rennecke <joern.rennecke@st.com>
+ Richard Shann <rshann@superh.com>
+
+ PR middle-end/20396:
+ * optabs.c (expand_binop): Take TRULY_NOOP_TRUNCATION into account.
+
+2005-08-16 Sebastian Pop <pop@cri.ensmp.fr>
+
+ * tree-ssa-loop-niter.c (scev_probably_wraps_p): Reword a comment.
+
+2005-08-15 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ PR target/23355
+ * arm.c (thumb_compute_save_reg_mask): Use similar logic to
+ arm_compure_save_reg0_reg12_mask to determine when the PIC register
+ must be saved.
+
+2005-08-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/23369
+ * fold-const.c (build_range_check): Disable optimization for function
+ pointer expressions on targets that require function pointer
+ canonicalization.
+
+2005-08-15 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * simplify-rtx.c (simplify_const_relational_operation): When
+ extracting arguments of a COMPARE, recompute the mode as well.
+
+2005-08-15 Ian Lance Taylor <ian@airs.com>
+
+ * tree.c (build_string): Mark tree CONSTANT and INVARIANT.
+
+2005-08-15 DJ Delorie <dj@redhat.com>
+
+ * config/m32c/mov.md (movqi_op): Immediates can't be moved to
+ the stack.
+ (movsi_splittable): Allow, but split, moves to the stack.
+ * config/m32c/m32c.c (m32c_split_move): Always split moves to the
+ stack.
+
+2005-08-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * aclocal.m4 (gcc_AC_FUNC_PRINTF_PTR): Delete.
+ * configure.ac: Don't call gcc_AC_FUNC_PRINTF_PTR.
+ * system.h (HOST_PTR_PRINTF): Don't define, poison it.
+
+ * bitmap.c, c-decl.c, config/i386/i386-interix.h,
+ config/iq2000/iq2000.c, mips-tfile.c, print-rtl.c, print-tree.c:
+ Delete HOST_PTR_PRINTF.
+
+ * configure, config.in: Regenerate.
+
+2005-08-15 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.md (QHSI): New mode macro.
+ (wd): Extend mode attr for QImode and HImode
+ (dbits): New mode attr.
+ (zero_extend<mode>di2): Convert to mode macro.
+
+2005-08-15 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/21841
+ * doc/invoke.texi (-mgnu-ld): Update description.
+ (-mhp-ld): Ditto.
+
+2005-08-15 Sebastian Pop <pop@cri.ensmp.fr>
+
+ PR 23391
+ * Makefile.in (tree-chrec.o): Depends on real.h.
+ * tree-chrec.c: Include real.h.
+ (chrec_fold_plus_poly_poly, chrec_fold_multiply_poly_poly,
+ chrec_fold_plus_1): Use build_real for SCALAR_FLOAT_TYPE_P.
+ * tree-scalar-evolution.c (add_to_evolution_1,
+ interpret_rhs_modify_expr): Ditto.
+
+2005-08-15 Sebastian Pop <pop@cri.ensmp.fr>
+
+ PR 23386
+ * tree-data-ref.c (estimate_niter_from_size_of_data): When
+ step is negative compute the estimation from init downwards to zero.
+
+2005-08-14 James A. Morrison <phython@gcc.gnu.org>
+
+ * fold-const (fold_binary): Call fold_build2 instead of fold (build.
+
+2005-08-14 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_const_ok_for_constraint_p): Add 'P'
+ constraint.
+ (legitimate_reload_constant_p): Fix handling of lliXX operands.
+ Accept double-word constants that can be split.
+ * config/s390/s390.md ("movti"): Use 'P' constraint.
+ ("*movdi_31", "*movdf_31"): Likewise.
+
+2005-08-14 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR tree-optimization/22615
+
+ * tree-ssa-structalias.c (solution_set_add): Handle
+ first_vi_for_offset returning NULL.
+ (do_da_constraint): Ditto.
+ (do_sd_constraint): Ditto.
+ (do_ds_constraint): Ditto
+ (find_func_aliases): Ditto.
+ (build_constraint_graph): RHS is allowed be ANYTHING.
+ (first_vi_for_offset): Return NULL if we couldn't find anything at
+ the offset.
+
+2005-08-14 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_canonicalize_comparison): Prefer register
+ over memory as first operand.
+
+2005-08-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/23360
+ * config/i386/crtfastmath.c (set_fast_math): Check if DAZ is
+ available for setting it.
+
+2005-08-14 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/23320
+ * tree-data-ref.c (base_addr_differ_p): Add comment. Check
+ data-refs' types instead of base object nullness. Add check for
+ pointer type data-refs before first location comparison. Remove
+ assert.
+
+2005-08-14 Andreas Schwab <schwab@suse.de>
+
+ * doc/md.texi (Machine Constraints): Fix misplaced @end table.
+
+2005-08-13 James E Wilson <wilson@specifix.com>
+
+ * doc/cpp.texi (__SSP__, __SSP_ALL__): Document.
+ * doc/invoke.texi (-Wstack-protector, -fstack-protector,
+ -fstack-protector-all, --param ssp-buffer-size): Document.
+ (-Wvariadic-macros): Alphabetize.
+ (-fsched-stalled-insns-dep): Add missing 'f'.
+
+ * c-cppbuiltin.c (c_cpp_builtins): Add comment for flag_stack_protect
+ macros.
+
+2005-08-13 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 'a' for indexed
+ or indirect address operand.
+ (EXTRA_ADDRESS_CONSTRAINT): New.
+ * config/rs6000/rs6000.md (prefetch): Change constraint "p" to "a".
+
+2005-08-13 Sebastian Pop <pop@cri.ensmp.fr>
+
+ PR tree-optimization/22236
+ * tree-cfg.c (print_pred_bbs, print_succ_bbs): Correctly print
+ successors and predecessors.
+ * tree-chrec.c (chrec_convert): Before converting, check that
+ sequences don't wrap.
+ * tree-data-ref.c (compute_estimated_nb_iterations): Moved ...
+ (analyze_array): Extern.
+ (find_data_references_in_loop): Remove call to
+ compute_estimated_nb_iterations.
+ * tree-data-ref.h (analyze_array): Declared.
+ * tree-flow-inline.h (single_ssa_tree_operand, single_ssa_use_operand,
+ single_ssa_def_operand, zero_ssa_operands): Fix documentation.
+ * tree-flow.h (scev_probably_wraps_p): Declare with an extra parameter.
+ * tree-scalar-evolution.c (instantiate_parameters_1): Factor entry
+ condition.
+ * tree-ssa-loop-ivcanon.c: Fix documentation.
+ * tree-ssa-loop-ivopts.c (idx_find_step): Add a fixme note.
+ * tree-ssa-loop-niter.c (compute_estimated_nb_iterations): ... here.
+ (infer_loop_bounds_from_undefined): New.
+ (estimate_numbers_of_iterations_loop): Use
+ infer_loop_bounds_from_undefined.
+ (used_in_pointer_arithmetic_p): New.
+ (scev_probably_wraps_p): Pass an extra parameter. Call
+ used_in_pointer_arithmetic_p. Check that AT_STMT is not null.
+ (convert_step): Fix documentation.
+ * tree-vrp.c (adjust_range_with_scev): Call instantiate_parameters.
+ Use initial_condition_in_loop_num and evolution_part_in_loop_num
+ instead of CHREC_LEFT and CHREC_RIGHT. Adjust the call to
+ scev_probably_wraps_p.
+
+2005-08-13 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_split_branches): Revert 2005-08-12 change.
+ (s390_register_info): Ignore clobbered_regs information for fixed
+ registers, and only fixed registers.
+ (s390_init_frame_layout): Remove redundant call.
+
+2005-08-12 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/invoke.texi (C++ Dialect Options): Add dynamic_cast to
+ description of -Wold-style-casts.
+
+2005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * config/s390/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
+ * config/s390/s390-protos.h (s390_get_thread_pointer): Prototype added.
+ * config/s390/s390.c (print_operand): New output modifier 'G' added.
+ (get_thread_pointer): Renamed to s390_get_thread_pointer.
+ * config/s390/s390.md (stack_protect_set, stack_protect_test): If
+ TARGET_THREAD_SSP_OFFSET is defined, change operands[1] to
+ (MEM:P (PLUS:P (tp, TARGET_THREAD_SSP_OFFSET))).
+ (UNSPEC_SP_SET, UNSPEC_SP_TEST): New constants.
+ ("stack_protect_set", "stack_protect_test"): New expanders.
+ ("stack_protect_setsi", "stack_protect_setdi", "stack_protect_testsi",
+ "stack_protect_testdi"): New insn definitions.
+
+2005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * config/s390/s390.md ("*movdf_31"): Changed constraint from P to K.
+
+2005-08-12 Paul Brook <paul@codesourcery.com>
+
+ * config/arm/lib1funcs.asm: Error if __ARM_ARCH__ not set.
+
+2005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * config/s390/predicates.md (setmem_operand): New predicate.
+ (shift_count_operand): Accept ANDs with special constants as
+ operand.
+ * config/s390/s390.c (print_shift_count_operand): Skip ANDs
+ with special constants.
+ * config/s390/s390.md ("setmem_long", "*setmem_long"): Replaced
+ shift_count_operand with setmem_operand.
+
+2005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * config/s390/s390.c (s390_extract_part, s390_single_part):
+ Type cast added.
+ (s390_const_ok_for_constraint_p): Added SImode to the N constraint.
+ (s390_output_mi_thunk): Don't use lg on 31 bit.
+ * config/s390/s390.md ("*movdi_31", "*movdf_31"): Added lmy and stmy.
+ ("*llgt_sisi" and splitter): Replaced TARGET_64BIT with TARGET_ZARCH.
+
+2005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * config/s390/s390.c (CONST_OK_FOR_J, CONST_OK_FOR_K): New macros.
+ (s390_select_ccmode, s390_rtx_costs, legitimate_reload_constant_p,
+ s390_init_frame_layout, s390_emit_prologue, s390_emit_epilogue,
+ s390_output_mi_thunk): Replaced uses of CONST_OK_FOR_CONSTRAINT_P
+ with one of the new macros.
+
+2005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * config/s390/s390.c (s390_split_branches, s390_init_frame_layout):
+ Don't set save_return_addr_p.
+ (s390_register_info): Make clobbered_regs not depending on
+ save_return_addr_p.
+
+2005-08-12 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * gcc.c (LINK_SSP_SPEC): Remove space before a trailing }.
+ (LINK_COMMAND_SPEC): Add space after %(link_ssp).
+
+2005-08-11 James E. Wilson <wilson@specifix.com>
+
+ * config/ia64/ia64.h (EXTRA_MEMORY_CONSTRAINT): New.
+
+2005-08-11 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (add_location_or_const_value_attribute): Prefer
+ locations gathered by var-tracking in single entry loc_list
+ over loc_descriptor_from_tree.
+
+ * dwarf2out.c (concat_loc_descriptor): Add can_use_fbreg argument,
+ pass it down to loc_descriptor.
+ (loc_descriptor): Pass can_use_fbreg to concat_loc_descriptor.
+ (containing_function_has_frame_base): Move earlier in the file.
+ (loc_descriptor_from_tree_1): Use containing_function_has_frame_base
+ instead of always assuming fbreg can't be used.
+
+2005-08-11 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/altivec.md: Change constraint "m" to "Z".
+ * config/rs6000/predicates.md (indexed_or_indirect_operand):
+ Accept address wrapped in AND for Altivec.
+ * config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
+ Strip AND wrapping offset address for Altivec.
+
+2005-08-11 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/23312
+ * gimplify.c (gimplify_one_sizepos): Check for INTEGER_TYPE
+ before using TYPE_IS_SIZETYPE.
+
+2005-08-11 Richard Henderson <rth@redhat.com>
+
+ PR target/22225
+ * config/alpha/alpha.c (alphaev4_insn_pipe): Add take pipes for
+ insn types not present on ev4.
+ (alphaev5_insn_pipe): Similarly.
+
+2005-08-11 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ PR target/23250
+ * arm.c (arm_override_options): If the user has selected callee-super-
+ interworking, then enable normal interworking.
+
+2005-08-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Undef before
+ redefinition.
+
+2005-08-11 Wu Zhou <woodzltc@cn.ibm.com>
+
+ * doc/rtl.texi: Fix two typos.
+
+2005-08-11 Richard Guenther <rguenther@suse.de>
+
+ PR target/23289
+ * config/i386/i386.c (ix86_function_ok_for_sibcall): Handle
+ cases where we call to/from functions returning void.
+
+2005-08-10 James A. Morrison <phython@gcc.gnu.org>
+
+ PR c++/23225
+ * tree.c (build_pointer_type_for_mode): Robustify.
+
+2005-08-10 James E Wilson <wilson@specifix.com>
+
+ * defaults.h, config/alpha/alpha.h, config/ia64/ia64.h
+ (ASM_OUTPUT_ADDR_VEC_ELT): Delete.
+
+ * config/alpha/alpha.c (alpha_arg_partial_bytes): Change "(CUM)." to
+ "cum->".
+
+2005-08-10 Eric Christopher <echristo@apple.com>
+
+ * config/rs6000/rs6000.c (mems_ok_for_quad_peep): Rewrite.
+ * config/rs6000/rs6000.md (*lfq_power2, *stfq_power2): Use
+ V2DFmode.
+
+2005-08-10 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR target/21887
+ * config/darwin.c (machopic_indirect_data_reference): Use a new register
+ for the high part when generating dynamic-no-pic code.
+
+2005-08-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config.gcc (i[34567]86-*-linux*): Add i386/t-crtfm to tm-file.
+ (x86_64-*-linux*): Likewise.
+
+ * config/i386/crtfastmath.c: New file.
+ * config/i386/t-crtfm: Likewise.
+
+ * config/i386/linux.h (ENDFILE_SPEC): New.
+ * config/i386/linux64.h (ENDFILE_SPEC): Likewise.
+
+ * config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Add
+ crtfastmath.o.
+
+2005-08-10 Dorit Nuzman <dorit@il.ibm.com>
+
+ * doc/md.texi: (reduc_smin, reduc_umin, reduc_splus, reduc_uplus):
+ (vec_shl, vec_shr): Document new operations.
+ * tree.def (VEC_RSHIFT_EXPR, VEC_LSHIFT_EXPR): Fix comment.
+
+2005-08-10 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/predicates.md (indexed_or_indirect_address): New.
+ * config/rs6000/rs6000.md (prefetch): Remove operand 0 mode and
+ change predicate to indexed_or_indirect_address.
+
+2005-08-10 Richard Sandiford <richard@codesourcery.com>
+
+ * config/arm/lib1funcs.asm (__aeabi_uidiv, __aeabi_idiv): New aliases.
+ * config/arm/libgcc-bpabi.ver (GCC_3.5): Add __aeabi_idiv,
+ __aeabi_uidiv, __aeabi_uread4, __aeabi_uread8, __aeabi_uwrite4
+ and __aeabi_uwrite8.
+ * config/arm/unaligned-funcs.c: New file.
+ * config/arm/t-bpabi (LIB2FUNCS_EXTRA): Add unaligned-funcs.c.
+
+2005-08-09 Paolo Bonzini <bonzini@gnu.org>
+
+ * bb-reorder.c (pass_duplicate_computed_gotos, pass_partition_blocks):
+ Add dump.
+ * cfglayout.c (pass_insn_locators_initialize): Add dump.
+ * emit-rtl.c (pass_unshare_all_rtl, pass_remove_unnecessary_notes):
+ Add dump.
+ * except.c (pass_convert_to_eh_region_ranges): Add dump.
+ * final.c (pass_shorten_branches): Add dump.
+ * flow.c (pass_recompute_reg_usage, pass_remove_death_notes): Add dump.
+ (pass_life): Rename dump.
+ (rest_of_handle_flow2): Remove initial verify_flow_info.
+ * function.c (pass_instantiate_virtual_regs): Add dump.
+ * integrate.c (pass_initial_value_sets): Add dump.
+ * jump.c (pass_cleanup_barriers, pass_purge_lineno_notes): Add dump.
+ * loop-init.c (pass_rtl_loop_init, pass_rtl_loop_done): Rename dump.
+ (pass_rtl_move_loop_invariants, pass_rtl_unswitch, pass_rtl_doloop,
+ pass_rtl_unroll_and_peel_loops): Rename dump and add gate.
+ (gate_rtl_move_loop_invariants, gate_rtl_unswitch, gate_rtl_doloop,
+ gate_rtl_unrool_and_peel_loops): New.
+ (rtl_move_loop_invariants, rtl_unswitch, rtl_unrool_and_peel_loops,
+ rtl_doloop): Do not look at flags.
+ * mode-switching.c (pass_mode_switching): Add dump.
+ * recog.c (pass_split_all_insns, pass_split_for_shorten_branches,
+ pass_split_before_regstack): Add dump.
+ * regmove.c (pass_stack_adjustments): Add dump.
+ * tree-optimize.c (pass_fixup_cfg): Add dump.
+
+2005-08-10 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ PR 23309
+ * config/m32r/m32r.c (m32r_reload_lr): Fix off by one error when
+ deciding which instruction sequence to use.
+
+2005-08-09 Dorit Nuzman <dorit@il.ibm.com>
+
+ * tree-vect-transform.c (vect_create_epilog_for_reduction): Set
+ BIT_FIELD_REF_UNSIGNED for newly created BIT_FIELD_REFs.
+
+2005-08-09 Richard Guenther <rguenther@suse.de>
+
+ * c-common.c (builtin_function_2): Remove.
+ (def_builtin_1): New function.
+ (c_common_nodes_and_builtins): Use def_builtin_1 to
+ build builtin functions.
+
+2005-08-09 Jie Zhang <jie.zhang@analog.com>
+
+ * config/bfin/uclinux.h (NO_IMPLICIT_EXTERN_C): Define.
+ * config/bfin/elf.h (NO_IMPLICIT_EXTERN_C): Define.
+ * config/bfin/bfin.c (bfin_return_in_memory): Update to really match
+ Visual DSP.
+
+2005-08-09 James A. Morrison <phython@gcc.gnu.org>
+
+ * tree-ssa-loop-niter.c (tree_simplify_using_condition_1): Use
+ fold_binary instead of fold_build2 since we don't care about the
+ resulting tree.
+ (loop_niter_by_eval): Likewise.
+ (compare_trees): Likewise.
+ (proved_non_wrapping_p): Likewise.
+
+2005-08-09 James A. Morrison <phython@gcc.gnu.org>
+
+ PR c/23161
+ PR c/23165
+ * c-typeck.c (c_finish_if_stmt): Look into STATEMENT_LISTs to see
+ if the if is really empty.
+
+2005-08-09 Steven Bosscher <stevenb@suse.de>
+
+ PR tree-optimization/23234
+ * tree-ssa-math-opts.c (place_reciprocal): New enum.
+ (execute_cse_reciprocals_1): Replace the 'phi' argument with an
+ argument of the new enum.
+ (execute_cse_reciprocals): Add reciprocals for function arguments
+ on the unique successor edge of the entry block. Update other calls
+ to execute_cse_reciprocals_1.
+
+2005-08-08 Richard Henderson <rth@redhat.com>
+
+ PR 22439
+ * gimplify.c (gimplify_one_sizepos): Preserve the original type.
+
+2005-08-08 Bob Wilson <bob.wilson@acm.org>
+
+ * expr.c (write_complex_part): Return after handling MEM.
+
+2005-08-08 Josh Conner <jconner@apple.com>
+
+ PR rtl-optimization/23241
+ * combine.c (simplify_comparison): Fix error in determining
+ whether to lift a subreg from comparison.
+
+2005-08-08 David Edelsohn <edelsohn@gnu.org>
+
+ PR target/18506
+ * config/rs6000/altivec.md (vec_init<mode>): New.
+ (vec_set<mode>): New.
+ (vec_extract<mode>): New.
+ * config/rs6000/rs6000.c (rs6000_expand_vector_init): New.
+ (rs6000_expand_vector_set): New.
+ (rs6000_expand_vector_extract): New.
+ (rs6000_legitimate_offset_address_p): Offset addresses are valid
+ for Altivec modes before reload.
+ (altivec_expand_vec_init_builtin): New.
+ (get_element_number): New.
+ (altivec_expand_vec_set_builtin): New.
+ (altivec_expand_vec_ext_builtin): New.
+ (altivec_expand_builtin): Expand vec_init, vec_set, and vec_ext
+ builtins.
+ (altivec_init_builtins): Init vec_init, vec_set, and vec_ext
+ builtins.
+ * config/rs6000/rs6000.h (rs6000_builtins): Add
+ ALTIVEC_BUILTIN_VEC_INIT_<mode>, ALTIVEC_BUILTIN_VEC_SET_<mode>,
+ ALTIVEC_BUILTIN_VEC_EXT_<mode>.
+ * config/rs6000/rs6000-protos.h: Declare new functions.
+
+2005-08-08 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (legitimate_pic_address_disp_p): Refuse GOTOFF in 64bit mode.
+ (legitimate_address_p): Refuse GOT and GOTOFF in 64bit mode.
+ * i386.md (movdi*): Use pic_32bit_operand.
+ * predicates.md (pic_32bit_operand): New.
+
+2005-08-08 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/21166
+ * stor-layout.c (finalize_type_size): Undo DECL_PACKED when possible.
+
+2005-08-07 James A. Morrison <phython@gcc.gnu.org>
+
+ * tree-vrp.c (simplify_div_or_mod_using_range): Use build2.
+ (test_for_singularity): Use fold_build2.
+
+2005-08-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Fix loop upper bound.
+
+2005-08-07 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * config/i386/cygming.h (SUBTARGET_ENCODE_SECTION_INFO): Define.
+ (COMMON_ASM_OP) Define.
+ * config/i386/i386.c (ix86_in_large_data_p): Add ATTRIBUTE_UNUSED
+ (ix86_encode_section_info): Likewise.
+ (TARGET_ENCODE_SECTION_INFO): Conditionally define as
+ SUBTARGET_ENCODE_SECTION_INFO.
+
+2005-08-06 Richard Henderson <rth@redhat.com>
+
+ PR 21894
+ * tree-nested.c (convert_local_reference): Save and restore val_only
+ around component_ref and friends. Clear walk_subtrees by default.
+
+2005-08-06 Peter O'Gorman <peter@pogma.com>
+
+ PR 21366
+ * gcc.c (process_command): Check the argument to -b has a dash.
+ * doc/invoke.texi: Update -b and -V docs.
+
+2005-08-06 James E Wilson <wilson@specifix.com>
+
+ * config/mips/cross64.h, config/mips/t-cross64: Delete.
+
+2005-08-06 Michael Matz <matz@suse.de>
+
+ * genattrtab.c (write_attr_get, write_attr_case): Use insn_code
+ member only if only one insn is associated with the value.
+
+2005-08-06 Nick Clifton <nickc@redhat.com>
+
+ * config/stormy16/stormy16.h (SYMBOL_FLAG_XSTORMY16_BELOW100):
+ New define.
+ (ASM_OUTPUT_LABELREF): Delete - it is no longer needed.
+ * config/stormy16/stormy16.c (xstormy16_below100_symbol):
+ Check symbol flags instead of symbol name mangling.
+ (xstormy16_asm_output_aligned_common): Likewise. Also
+ simplify code since the bss100_section cass is the only case
+ where the below100 code will be triggered.
+ (xstormy16_encode_section_info): Encode below100 attribute
+ using the SYMBOL_FLAG_XSTORMY16_BELOW100 instead of mangling
+ the name.
+ (xstormy16_strip_name_encoding): Delete - this function is no
+ longer needed.
+ (TARGET_STRIP_NAME_ENCODING): Undefine.
+ * config/stormy16/stormy16-protos.h: Delete prototype for
+ xstormy16_strip_name_encoding.
+
+2005-08-06 Kazu Hirata <kazu@codesourcery.com>
+
+ * Makefile.in, cfgexpand.c, cfgloop.h, cfgloopmanip.c,
+ config.gcc, ipa-cp.c, ipa-prop.c, ipa-prop.h, reg-stack.c,
+ tree-ssa-structalias.c, tree-vrp.c, value-prof.c, vec.h,
+ config/linux.h, config/alpha/alpha.h, config/alpha/linux.h,
+ config/alpha/predicates.md, config/arc/arc.h,
+ config/arm/arm.h, config/arm/ieee754-df.S,
+ config/arm/ieee754-sf.S, config/bfin/bfin.c,
+ config/bfin/bfin.h, config/c4x/c4x.h, config/crx/crx.c,
+ config/fr30/fr30.h, config/frv/frv.h, config/h8300/h8300.h,
+ config/i386/i386.h, config/ia64/ia64.c, config/ia64/ia64.h,
+ config/m68hc11/m68hc11.h, config/mips/mips.c,
+ config/mips/mips.h, config/mips/openbsd.h,
+ config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.h,
+ config/pdp11/pdp11.h, config/rs6000/linux-unwind.h,
+ config/rs6000/rs6000.c, config/rs6000/rs6000.h,
+ config/s390/s390.c, config/sh/sh.c, config/sh/sh.h,
+ config/sparc/linux.h, config/sparc/linux64.h,
+ config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h,
+ doc/extend.texi, doc/gcov.texi, doc/install.texi,
+ doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix comment/doc
+ typos. Follow spelling conventions.
+
+2005-08-06 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/23113
+ * stmt.c (warn_if_unused_value): Check TREE_NO_WARNING at start.
+ Don't handle NOP_EXPR, CONVERT_EXPR and NON_LVALUE_EXPR
+ specially. Check for side effects only for COND_EXPR.
+ * c-typeck.c (c_finish_stmt_expr): Mark statement expression
+ return with TREE_NO_WARNING.
+
+2005-08-06 Richard Sandiford <richard@codesourcery.com>
+
+ PR rtl-optimization/23233
+ * loop.c (combine_movables): Require the modes to be the same.
+ (move_movables): Remove handling of cases where the replacement
+ had a different mode to the original.
+
+2005-08-05 James A. Morrison <phython@gcc.gnu.org>
+
+ PR tree-optimization/23128
+ * tree-vrp.c (vrp_int_const_binop): Check if unsigned addition or
+ subtraction wrap, and set TREE_OVERFLOW if they do.
+
+2005-08-05 Richard Henderson <rth@redhat.com>
+
+ PR 21728
+ * tree-cfg.c (remove_bb): Transmute DECL_NONLOCAL labels into
+ FORCED_LABEL labels.
+
+2005-08-05 J"orn Rennecke <joern.rennecke@st.com>
+
+ PR middle-end/23135
+ * reload.c (find_reloads_subreg_address): Pass down TYPE
+ unchanged. Change all callers except find_reloads_toplev.
+
+2005-08-05 Michael Matz <matz@suse.de>
+
+ * genattrtab.c (current_alternative_string): Remove.
+ (SIMPLIFY_ALTERNATIVE): Ditto.
+ (attr_alt_bit_p): Ditto.
+ (alternative_name): Make const char *.
+ (evaluate_eq_attr): Remove use of above things.
+ (simplify_test_exp): Ditto.
+ (simplify_test_exp <EQ_ATTR>): Guard for insn_code < 0 .
+ (simplify_test_exp <AND>): Correct typo (test 'right' not 'left').
+
+2005-08-04 James E Wilson <wilson@specifix.com>
+
+ * config/ptx4.h, config/sol2.h, config/arm/freebsd.h,
+ config/arm/linux-elf.h, config/frv/frv.h, config/i386/freebsd.h,
+ config/i386/freebsd64.h, config/i386/netware.h, config/i386/sco5.h,
+ config/ia64/freebsd.h, config/rs6000/sysv4.h, config/sparc/freebsd.h
+ (LINK_SPEC): Delete useless %{Wl,*:%*} item.
+
+2005-08-04 Richard Henderson <rth@redhat.com>
+
+ PR 21529
+ * params.def (PARAM_SRA_MAX_STRUCTURE_COUNT): New.
+ * params.h (SRA_MAX_STRUCTURE_COUNT): New.
+ * tree-sra.c (decide_block_copy): Use it. Disable element copy
+ if we'd have to instantiate too many members.
+
+2005-08-04 Richard Henderson <rth@redhat.com>
+
+ PR 21291
+ * tree-outof-ssa.c (coalesce_asm_operands): New.
+ (coalesce_ssa_name): Use it. Split out ...
+ (coalesce_phi_operands, coalesce_result_decls): ... these.
+
+2005-08-04 Paul Brook <paul@codesourcery.com>
+
+ * read-rtl.c (read_quoted_string): Break if EOF.
+
+2005-08-04 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * tree.h (fold_build1): Change to macro and call fold_build1_stat.
+ (fold_build2): Likewise.
+ (fold_build3): Likewise.
+ (fold_build1_stat): New function prototype.
+ (fold_build2_stat): Likewise.
+ (fold_build3_stat): Likewise.
+ * fold-const.c (fold_build1): Rename to ..
+ (fold_build1_stat): this. Add MEM_STAT_DECL. Pass the mem stats
+ through to build1_stat.
+ (fold_build2): Rename to ..
+ (fold_build2_stat): this. Add MEM_STAT_DECL. Pass the mem stats
+ through to build2_stat.
+ (fold_build3): Rename to ..
+ (fold_build3_stat): this. Add MEM_STAT_DECL. Pass the mem stats
+ through to build3_stat.
+
+2005-08-04 David Edelsohn <edelsohn@gnu.org>
+ Ian Lance Taylor <ian@airs.com>
+
+ * function.c (assign_stack_local_1): Do not correct stack slot
+ address if allocation size is smaller than mode size.
+
+2005-08-04 Diego Novillo <dnovillo@redhat.com>
+
+ PR 22037
+ * tree-cfg.c (replace_uses_by): Call mark_new_vars_to_rename.
+ (tree_merge_blocks): Propagate anything allowed by
+ may_propagate_copy.
+ Clarify documentation.
+ * passes.c (execute_todo): If cleanup_tree_cfg invalidated the
+ SSA form, schedule an update if necessary.
+
+2005-08-04 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/install.texi (Binaries): Remove broken link to
+ Sinix/Reliant Unix binaries.
+
+2005-08-03 Richard Henderson <rth@redhat.com>
+
+ PR 23221
+ * function.c (stack_protect_epilogue): Export.
+ * tree.h (stack_protect_epilogue): Declare.
+ * calls.c (expand_call): Call it.
+
+2005-08-03 Eric Christopher <echristo@apple.com>
+
+ * gcc.c (LINK_SSP_SPEC): Add fstack-protector-all.
+ * config/darwin.h (LINK_COMMAND_SPEC): Add link_ssp
+ spec.
+
+2005-08-04 Jan Hubicka <jh@suse.cz>
+
+ * profile.c (branch_prob): Split edges with goto locus on them
+ to get proper line counts.
+ * tree-cfg.c (make_cond_expr_edges): Record user goto locuses, if any.
+
+2005-08-03 Paul Brook <paul@codesourcery.com>
+
+ * function.c (assign_parms): Round current_function_args_size
+ to PARM_BOUNDARY, not STACK_BOUNDARY.
+
+2005-08-03 Geoffrey Keating <geoffk@apple.com>
+
+ * config/i386/i386.c (x86_elf_aligned_common)
+ (x86_output_aligned_bss): Don't try to use symbols that aren't defined.
+
+2005-08-03 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/23157
+ * tree-scalar-evolution.c (scev_const_prop): Unshare trees
+ before emitting them.
+
+2005-08-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR tree-optimization/19899
+ * Makefile.in (tree-scalar-evolution.o): Add real.h.
+ * tree-scalar-evolution.c: Include real.h.
+ (add_to_evolution): Build constant -1 of correct type.
+
+2005-08-03 Jan Hubicka <jh@suse.cz>
+
+ * cfgloop.h (DLTHE_FLAG_COMPLETTE_PEEL): New flag.
+ * cfgloopmanip.c (duplicate_loop_to_header_edge): Special case
+ profile updating for complette unrolling.
+ * loop-unroll.c (peel_loop_completely): Use it.
+ * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Likewise.
+ (tree_unroll_loops_completely): Disable code growing unrolling of cold
+ loops.
+
+2005-08-03 Paul Brook <paul@codesourcery.com>
+
+ * combine.c (can_change_dest_mode): New function.
+ (try_combine, simplify_set): Use it.
+
+2005-08-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Only force
+ TFmode to BLKmode.
+
+2005-08-03 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/install.texi (Specific): Adjust link to openavr.org.
+ (Specific): Remove broken reference to GCC 2.8.1 for OS/2.
+ (Binaries): Adjust HP-UX Porting Center link.
+ (Binaries): Adjust Free Software Foundation ordering link.
+
+2005-08-03 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * convert.c (convert_to_integer): Use fold_build1 instead of
+ build1 when converting an integer to an integer.
+
+2005-08-02 Richard Henderson <rth@redhat.com>
+
+ * combine.c (combine_instructions): Don't use reg_equal/equiv
+ results if the mode doesn't match.
+
+2005-08-02 Mark Mitchell <mark@codesourcery.com>
+
+ * config/i386/t-mingw32 (NATIVE_SYSTEM_HEADER_DIR): Set it.
+ * doc/fragments.texi (NATIVE_SYSTEM_HEADER_DIR): Document it.
+
+2005-08-02 Richard Henderson <rth@redhat.com>
+
+ PR 23196
+ * explow.c (memory_address): Remove special-case for
+ virtual_stack_vars_rtx and virtual_incoming_args_rtx.
+
+2005-08-02 Diego Novillo <dnovillo@redhat.com>
+
+ PR 23164
+ * tree-cfgcleanup.c (cleanup_tree_cfg): Do not limit the
+ number of calls to cleanup_tree_cfg_1.
+
+2005-08-02 Martin Reinecke <martin@mpa-garching.mpg.de>
+
+ * doc/invoke.texi: document file extensions .F90 and .F95
+
+2005-08-02 Richard Guenther <rguenther@suse.de>
+
+ * fold-const.c (tree_expr_nonnegative_p): frexp(x, &e) is
+ positive if its first argument is positive.
+
+2005-08-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/23177
+ * tree-ssa-operands.c (get_tmr_operands): Use get_expr_operands
+ on TMR_TAG.
+
+2005-08-02 James A. Morrison <phython@gcc.gnu.org>
+
+ PR tree-optimization/23129
+ * tree-vrp.c (extract_range_from_binary_expr): Set value range to
+ varying for divisions with anti-ranges.
+
+2005-08-02 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-dom.c (thread_across_edge): Remove updating here.
+ * tree-ssa-threadupdate.c (thread_block): Add it here.
+
+2005-08-01 James E Wilson <wilson@specifix.com>
+
+ * config/mips/mips.c (mips_encode_section_info, mips_attribute_table,
+ TARGET_ENCODE_SECTION_INFO, TARGET_ATTRIBUTE_TABLE): New.
+ * config/mips/mips.h (SYMBOL_FLAG_LONG_CALL, SYMBOL_REF_LONG_CALL_P):
+ New.
+ * config/mips/predicates.md (const_call_insn_operand): Add check for
+ SYMBOL_REF_LONG_CALL_P.
+ * doc/extend.texi (long_call): Document the new attribute.
+
+2005-08-01 Ian Lance Taylor <ian@airs.com>
+ Richard Henderson <rth@redhat.com>
+
+ * Makefile.in (RTL_BASE_H): Add real.h.
+ * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Use structure copy
+ instead of memcpy.
+ * emit-rtl.c (const_double_from_real_value): Likewise; use rtx.u.rv
+ directly.
+ * rtl.c (rtl_check_failed_code_mode): New.
+ * rtl.h (struct rtx_def): Add u.rv.
+ (XCMWINT, XCNMPRV): New.
+ (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Use XCMWINT.
+ (CONST_DOUBLE_REAL_VALUE): Use XCNMPRV; constify.
+
+2005-08-01 Richard Henderson <rth@redhat.com>
+
+ * dwarf2out.c (mem_loc_descriptor): Use XEXP, not SUBREG_REG,
+ with auto-inc codes.
+
+ * config/alpha/predicates.md (and_operand): Test mode of CONST_DOUBLE.
+
+2005-08-01 Jan Hubicka <jh@suse.cz>
+
+ * i386-protos.h (asm_preferred_eh_data_format): Declare.
+ * i386.c: Include dwarf2.h
+ (asm_preferred_eh_data_format): New.
+ * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Move offline.
+
+2005-08-01 Ian Lance Taylor <ian@airs.com>
+
+ * config/host-linux.c (linux_gt_pch_get_address): Add new name
+ randomize_va_space for virtual address randomization control.
+
+2005-08-01 Steven Bosscher <stevenb@suse.de>
+
+ * common.opt (flag_ipa_cp): Put in right place to maintain
+ alphabetic sort.
+
+2005-08-01 Jan Hubicka <jh@suse.cz>
+
+ * profile.c (compute_value_histograms): Fix thinko.
+ * value-prof.c: Include toplev.h
+ (check_counter): New function.
+ (tree_divmod_fixed_value_transform, tree_mod_pow2_value_transform,
+ tree_mod_subtract_transform): Add sanity check.
+
+2005-08-01 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/23133
+ * tree-ssa-math-opts.c (execute_cse_reciprocals): Walk
+ current functions parameter decls to find defs to cse
+ reciprocals of.
+
+2005-08-01 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/23109
+ * tree-ssa-math-opts.c (execute_cse_reciprocals_1):
+ If trapping math is in effect, use post-dominator information
+ to check if we'd in any case reach a trapping point before
+ doing the reciprocal insertion.
+ (execute_cse_reciprocals): Compute post-dominators, if necessary.
+ * tree-ssa-loop-im.c (determine_invariantness_stmt): RDIV
+ expressions are invariant only if trapping math is not in effect.
+
+2005-08-01 Razya Ladelsky <razya@il.ibm.com>
+
+ * cgraph.h (update_call_expr, cgraph_copy_node_for_versioning,
+ cgraph_function_versioning): New declarations.
+ * cgraphunit.c: Add include to ipa-prop.h.
+ (update_call_expr, cgraph_copy_node_for_versioning,
+ cgraph_function_versioning): New functions.
+ * integrate.c (copy_decl_for_inlining): Remove.
+ * ipa-prop.h (ipa_replace_map): New struct.
+ (struct ipa_node): Add ipcp_orig_node, count_scale, new fields.
+ * ipa-cp.c (ipcp_method_orig_node, ipcp_method_is_cloned,
+ ipcp_method_set_orig_node, ipcp_cloned_create, ipcp_method_get_scale,
+ ipcp_method_set_scale, ipcp_method_compute_scale, ipcp_after_propagate,
+ ipcp_iterate_stage, ipcp_method_scale_print,
+ ipcp_profile_mt_count_print, ipcp_profile_cs_count_print,
+ ipcp_profile_edge_print, ipcp_profile_bb_print , ipcp_profile_print,
+ ipcp_replace_map_create, ipcp_redirect, ipcp_update_callgraph,
+ ipcp_update_bb_counts, ipcp_update_profiling,
+ ipcp_update_edges_counts): New functions.
+ (ipcp_method_cval_init): Remove restriction regarding local methods.
+ (ipcp_init_stage): Add ipcp_method_compute_scale.
+ (ipcp_insert_stage): Add versioning.
+ (ipcp_structures_print): Add ipcp_method_scale_print.
+ (ipcp_driver): Dump profiling info.
+ * Makefile.in: Remove integrate.h dependency from tree-inline.o.
+ Add ipa-prop.h dependency to tree-inline.o and cgraphunit.o.
+ * tree-inline.c: Remove include to integrate.h, Add include ipa-prop.h.
+ (struct inline_data): Add versioning_p, ipa_info, new fields.
+ (remap_decl, mark_local_for_remap_r, setup_one_parameter,
+ declare_return_variable): Replace calls to copy_decl_for_inlining with
+ copy_decl_for_dup.
+ (copy_body_r, copy_bb, copy_cfg_body, copy_tree_r, inlining_p): Add
+ versioning support.
+ (copy_decl_for_dup): Rename from copy_decl_for_inlining.
+ Add argument VERSIONING.
+ (copy_arguments_for_versioning, copy_static_chain,
+ function_versionable_p, tree_versionable_function_p,
+ tree_function_versioning, replace_ref_tree): New functions.
+ * tree-inline.h: Include varray.h.
+ (tree_versionable_function_p, tree_function_versioning,
+ tree copy_decl_for_dup): New declarations.
+
+2005-08-01 Razya Ladelsky <razya@il.ibm.com>
+
+ * ipa-cp.c: New file. Contains IPCP specific functionality.
+ * ipa-prop.h: New file. Contains structures/definitions that can be
+ used by several interprocedural data flow optimizations (and also IPCP).
+ * ipa-prop.c: New file.
+ * Makefile.in: Add ipa-cp.c, ipa-prop.h, ipa-prop.c.
+ * common.opt: Add ipa-cp flag.
+ * timevar.def: Add IPCP optimization.
+ * tree-optimize.c (init_tree_optimization_passes): Schedule
+ pass_ipa_cp.
+ * tree-pass.h (pass_ipa_cp): Declare.
+
+2005-08-01 Kazu Hirata <kazu@codesourcery.com>
+
+ * dwarf2out.c, fold-const.c, ipa-type-escape.c,
+ loop-invariant.c, predict.c, predict.def, reload1.c, reorg.c,
+ tree-sra.c, config/arm/arm.c, config/crx/crx.c,
+ config/i386/i386.c, config/mips/mips.h,
+ config/rs6000/rs6000.h, config/sh/sh.c,
+ config/stormy16/stormy16.c: Fix comment typos.
+
+2005-08-01 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/22311
+ * c-typeck.c (build_binary_op): Use common_type wrapper on
+ shortened types.
+ (common_type): Update comment.
+
+2005-07-31 Steven Bosscher <stevenb@suse.de>
+
+ PR target/23095
+ * common.opt (flag_gcse_after_reload): Don't initialize to 2.
+ (flag_rerun_cse_after_loop): Initialize this to 2 instead.
+ * postreload-gcse.c (hash_scan_set): Do not consider stack regs.
+
+2005-07-31 Jan Hubicka <jh@suse.cz>
+
+ * pretty-print.h (pp_widest_integer): New macro.
+ * tree-pretty-print.c (dump_bb_header): Print BB frequencies and
+ counts.
+
+2005-07-31 Jan Hubicka <jh@suse.cz>
+
+ * output.h (enum section_category): Export from varasm.c
+ (categorize_decl_for_section): Likewise.
+ * varasm.c (enum section_category): Kill.
+ (categorize_decl_for_section): Make global.
+ * i386-protos.h (x86_output_aligned_bss, x86_elf_aligned_common):
+ Declare.
+ * i386.c (ix86_section_threshold): New static variable.
+ (ix86_in_large_data_p, ix86_encode_section_info,
+ x86_64_elf_unique_section,
+ x86_64_elf_select_section): New functions.
+ (TARGET_ENCODE_SECTION_INFO): Define
+ (override_options): Enable medium model for PIC.
+ (ix86_expand_prologue): Expand gen_set_got_rex64.
+ (legitimate_constant_p): Handle new UNSPECs.
+ (legitimate_pic_address_disp_p): Likewise.
+ (legitimize_pic_address): Lower MEDIUM model addressing.
+ * i386.h (PIC_OFFSET_TABLE_REGNUM): Set for medium model PIC.
+ (enum cmodel): Add MEDIUM_PIC.
+ (SYMBOL_REF_FAR_ADDR_P): New macro.
+ (SYMBOL_FLAG_FAR_ADDR): New flag.
+ * i386.md (movdi): Support medium model.
+ (set_got_rex64): New pattern.
+ * i386.opt (mlarge-data-threshold): New flag.
+ * predicates.md (zext_operand/sext_operand): Deal with medium model.
+ * x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Use x86_output_aligned_bss.
+ (ASM_OUTPUT_ALIGNED_COMMON, TARGET_ASM_SELECT_SECTION,
+ TARGET_ASM_UNIQUE_SECTION): New.
+
+ * invoke.texi (-mlarge_data_threshold): Document
+
+2005-07-31 Jan Hubicka <jh@suse.cz>
+
+ * tree-outof-ssa.c (coalesce_ssa_name): Use coalesce_cost.
+ (coalesce_vars): Likewise.
+ * tree-ssa-live.c (coalesce_cost): New.
+ (build_tree_conflict_graph): Use coalesce_cost.
+ * tree-ssa-live.h (coalesce_cost): Declare.
+
+2005-07-30 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ * arm.md (all peepholes for post-increment operations): Delete.
+ (strqi_preinc, strqi_predec, loadqi_preinc, loadqi_predec)
+ (loadqisi_preinc, loadqisi_predec, strsi_preinc, strsi_predec)
+ (loadsi_preinc, loadsi_predec, strqi_shiftpreinc, strqi_shiftpredec)
+ (loadqi_shiftpreinc, loadqi_shiftpredec, strsi_shiftpreinc)
+ (strsishift_predec, loadsi_shiftpreinc, loadsi_shiftpredec): Delete.
+
+2005-07-30 James A. Morrison <phython@gcc.gnu.org>
+
+ * fold-const.c (tree_expr_nonnegative_p): Always return true for
+ non-integral types.
+
+2005-07-29 Wolfgang Bangerth <bangerth@dealii.org>
+
+ PR target/22582
+ * doc/invoke.texi: Document -rdynamic.
+
+2005-07-30 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/23143
+ * c-parser.c (c_parser_parms_list_declarator): Call
+ mark_forward_parm_decls.
+ * c-decl.c (merge_decls): Only check DECL_IN_SYSTEM_HEADER for
+ decls with visibility structure.
+
+2005-07-30 Paul Brook <paul@codesourcery.com>
+
+ * config/arm/arm.c (arm_coproc_mem_operand): Fix inaccurate comment.
+
+2005-07-30 Paul Brook <paul@codesourcery.com>
+
+ * config/arm/arm-protos.h (arm_canonicalize_comparison): Update
+ prototype.
+ * config/arm/arm.c (arm_canonicalize_comparison): Use correct limit
+ value for mode.
+ * config/arm/arm.h (CANONICALIZE_COMPARISON): Pass mode argument.
+
+2005-07-29 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/529
+ * c-decl.c (warn_if_shadowing): Don't check for PARM_DECL in
+ nested function declarators.
+ (pushdecl): Don't call warn_if_shadowing for PARM_DECL.
+ (grokparms): Call warn_if_shadowing for parameters used within the
+ parameter list.
+ (store_parm_decls_newstyle): Call warn_if_shadowing for parameters
+ not used within the parameter list.
+ (store_parm_decls_oldstyle): Call warn_if_shadowing for parameters.
+
+2005-07-30 Jan Hubicka <jh@suse.cz>
+
+ * expr.c (expand_expr_real_1): Do not load mem targets into register.
+ * i386.c (ix86_fixup_binary_operands): Likewise.
+ (ix86_expand_unary_operator): Likewise.
+ (ix86_expand_fp_absneg_operator): Likewise.
+ * optabs.c (expand_vec_cond_expr): Validate dest.
+
+2005-07-29 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/21720
+ * real.c (real_from_string): Also set last bit if there is a
+ nonzero hex digit beyond GCC's internal precision after ".".
+
+2005-07-29 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/altivec.md: Convert UNSPEC numerical values to
+ define_constants. Change duplicate values to unassigned numbers.
+ Change UNSPEC_SUBS to UNSPEC_VSUBS.
+ (*altivec_vspltsf): New.
+ (altivec_vperm_v4sf): Delete.
+ (altivec_vperm_<mode>): Use mode macro V.
+ (altivec_vsldoi_<mode>): Convert to mode macro pattern.
+ (altivec_predicate_v4sf): Delete.
+ (altivec_predicate_<mode>): Use mode macro V.
+ (*altivec_lvesfx): New.
+ (*altivec_stvesfx): New.
+ (vec_realign_load_v4sf): Delete.
+ (vec_realign_load_<mode>): Use mode macro V.
+ * config/rs6000/rs6000.c (generate_set_vrsave): Use
+ UNSPECV_SET_VRSAVE.
+
+2005-07-29 Mark Mitchell <mark@codesourcery.com>
+
+ PR bootstrap/23131
+ * configure.ac (SYSTEM_HEADER_DIR): Avoid setting to empty
+ string.
+ * configure: Regenerated.
+
+2005-07-29 Paul Brook <paul@codesourcery.com>
+
+ * doc/install.texi: Add link to GFortran binaries wiki page.
+
+2005-07-29 David Ung <davidu@mips.com>
+
+ * config/mips/mips.c (mips_cpu_info_table): Add 5kf to the table.
+ (mips_rtx_cost_data): Add costs for 5kc and 5kf.
+ * config/mips/mips.h (processor_type): Add PROCESSOR_5KF.
+ * config/mips/mips.md (cpu): Add 5kf name.
+ (includes): Includes 5k.md.
+ * config/mips/5k.md: New DFA pipeline for the 5kc/5kf.
+ * doc/invoke.texi (MIPS Options): Updated cpu name supported with
+ -march flag.
+
+2005-07-29 Diego Novillo <dnovillo@redhat.com>
+
+ PR 22550
+ * tree-cfgcleanup.c (cleanup_tree_cfg_1): Extract from ...
+ (cleanup_tree_cfg): ... here.
+ Call cleanup_tree_cfg_1 until there are no more cleanups to
+ do.
+
+2005-07-29 James A. Morrison <phython@gcc.gnu.org>
+
+ * tree-vrp.c (compare_range_with_value): Return true or false
+ for ~[VAL_1, VAL_2] OP VAL if VAL_1 <= VAL <= VAL_2 for NE_EXPR and
+ EQ_EXPR respectively.
+
+2005-07-29 Kazu Hirata <kazu@codesourcery.com>
+
+ * cfg.c, tree-complex.c, config/frv/frv.c, config/i386/i386.c:
+ Fix comment typos.
+
+2005-07-29 Diego Novillo <dnovillo@redhat.com>
+
+ * tree-ssa-dom.c (struct opt_stats_d): Add field num_iterations.
+ (tree_ssa_dominator_optimize): Increment it.
+ (dump_dominator_optimization_stats): Print it.
+
+2005-07-29 Richard Earnshaw <richard.earnshaw@arm.com>
+ Steven Bosscher <stevenb@suse.de>
+
+ PR rtl-optimization/23117
+ * sched-rgn.c (add_branch_dependences): Handle COND_EXEC correctly
+ when head == tail. Tidy comment.
+
+2005-07-28 Richard Henderson <rth@redhat.com>
+
+ * cse.c (exp_equiv_p): Special case CONST_DOUBLE.
+ * cselib.c (rtx_equal_for_cselib_p): Likewise.
+ * jump.c (rtx_renumbered_equal_p): Likewise.
+ * loop.c (rtx_equal_for_loop_p): Tidy and special case PC, CC0,
+ CONST_INT and CONST_DOUBLE.
+ (rtx_equal_for_prefetch_p): Likewise, plus LABEL_REF.
+ * reload.c (operands_match_p): Special case CONST_INT and
+ CONST_DOUBLE; check mode earlier.
+
+2005-07-29 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/22240
+ * c-typeck.c (convert_for_assignment): Do not check
+ DECL_IN_SYSTEM_HEADER on NULL fundecl.
+
+2005-07-29 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/22192
+ * c-typeck.c (composite_type): Prefer constant size arrays to
+ VLAs.
+
+2005-07-29 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/21720
+ * real.c (real_from_string): Set last bit if there is a nonzero
+ hex digit beyond GCC's internal precision.
+
+2005-07-28 Richard Henderson <rth@redhat.com>
+
+ PR rtl-opt/22619
+ * cfgcleanup.c (try_forward_edges): Watch out for end of
+ insn chain.
+
+2005-07-28 James E Wilson <wilson@specifixinc.com>
+
+ PR c/23106
+ * doc/invoke.texi (Wstrict-aliasing=2): Fix misleading wording.
+
+2005-07-28 Jan Hubicka <jh@suse.cz>
+
+ * Makefile.in (rtl-profile.o): Kill all traces of it.
+ * common.opt (fspeculative-prefetching, ftree-based-profiling): Kill.
+ * coverage.h (rtl_coverage_counter_ref): Kill.
+ * opts.c (flag_speculative_prefetching_set): Kill.
+ (flag_loop_optimize_set): New.
+ (common_handle_option): Disable loop optimizer when profiling;
+ do not handle speculative prefetching.
+ * passes.c (init_optimization_passes): Replace pass_profiling combo
+ by branch_prob pass.
+ * profile.c (compute_value_histograms): Update for simplified value
+ profiles.
+ (rtl_register_profile_hooks): Kill.
+ (pass_profiling): Kill.
+ (rest_of_handle_branch_prob): Do not profile.
+ * toplev.c (process_options): Remove speculative prefetching.
+ * toplev.h (flag_tree_based_profiling): Kill.
+ * tree-profile.c (prepare_instrumented_value,
+ tree_gen_interval_profiler, tree_gen_pow2_profiler,
+ tree_gen_one_value_profiler, do_tree_profiling): Update for
+ simplified datastructures.
+ * value-prof.c: Add comment that speculative prefetching was dropped;
+ update rest of file for simplified datastructures.
+ (NOPREFETCH_RANGE_MIN, NOPREFETCH_RANGE_MAX,
+ rtl_divmod_values_to_profile, insn_prefetch_values_to_profile,
+ find_mem_reference_1, find_mem_reference_2, find_mem_reference,
+ rtl_values_to_profile, rtl_divmod_fixed_value, rtl_mod_pow2,
+ rtl_mod_subtract, gen_speculative_prefetch,
+ rtl_divmod_fixed_value_transform, rtl_mod_pow2_value_transform,
+ rtl_mod_subtract_transform, speculative_prefetching_transform): Kill.
+ (gate_handle_value_profile_transformations,
+ rest_of_handle_value_profile_transformations,
+ pass_value_profile_transformations): Kill.
+ * value-prof.h (histogram_value_t): Remove IL based unions.
+ (rtl_register_value_prof_hooks, rtl_register_profile_hooks,
+ rtl_profile_hooks): Remove hooks.
+
+ * invoke.texi (-ftree-based-profiling, -fspeculative-prefetching): Kill.
+
+ * cgraph.c (cgraph_clone_edge): New UPDATE_ORIGINAL argument.
+ (cgraph_clone_node): Likewise.
+ * cgraph.h (cgraph_clone_edge): Update prototype.
+ (cgraph_clone_node): Likewise.
+ * ipa-inline.c (cgraph_clone_inlined_nodes): Update call of
+ cgraph_clone_node.
+ (lookup_recursive_calls): Consider profile.
+ (cgraph_decide_recursive_inlining): Fix updating; use new
+ probability argument; use profile.
+ * params.def (PARAM_MIN_INLINE_RECURSIVE_PROBABILITY): New.
+ * tree-inline.c (copy_bb): Update clal of clone_edge.
+ * tree-optimize.c (tree_rest_of_compilation): UPdate cal of clone_node.
+
+ * invoke.texi (min-inline-recursive-probability): Document.
+
+2005-07-28 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/install.texi (Configuration): Update Valgrind homepage.
+
+2005-07-28 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/21362
+ * cfgrtl.c (rtl_merge_blocks): Call maybe_remove_eh_handler on
+ labels we want to delete.
+ (cfg_layout_merge_blocks): Likewise.
+
+2005-07-28 Richard Henderson <rth@redhat.com>
+
+ PR target/17692
+ * config/i386/i386.c (ix86_split_sse_movcc): Emit DELETED note
+ when expanding to nothing.
+
+2005-07-28 Josh Conner <jconner@apple.com>
+
+ * ipa-inline.c (update_caller_keys): Fix estimated_growth caching.
+ (cgraph_decide_inlining_of_small_functions): Likewise.
+
+2005-07-28 Josh Conner <jconner@apple.com>
+
+ * ipa-inline.c (cgraph_edge_badness): Update comments. Invert shift
+ direction of badness if negative.
+ (cgraph_default_inline_p): Add reason to parameters, and assign it
+ a value.
+ (cgraph_decide_inlining_of_small_functions): New parameter in call
+ to cgraph_default_inline_p.
+ (cgraph_decide_inlining_incrementally): Likewise.
+ * cgraphunit.c (decide_is_function_needed): Likewise.
+ * cgraph.h (cgraph_default_inline_p): Likewise.
+
+2005-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * builtins.c: Fix comment typo(s).
+ * genautomata.c: Likewise.
+ * gimplify.c: Likewise.
+ * tree-dfa.c: Likewise.
+ * tree-flow-inline.h: Likewise.
+ * tree-into-ssa.c: Likewise.
+ * tree-ssa-alias.c: Likewise.
+ * tree-ssa-ccp.c: Likewise.
+ * tree-ssa-copy.c: Likewise.
+ * tree-ssa-dce.c: Likewise.
+ * tree-ssa-dom.c: Likewise.
+ * tree-ssa-operands.c: Likewise.
+ * tree-tailcall.c: Likewise.
+ * tree-vectorizer.c: Likewise.
+ * tree-vrp.c: Likewise.
+ * tree.c: Likewise.
+
+2005-07-28 Jeff Law <law@redhat.com>
+
+ * tree-vrp.c (test_for_singularity): Extracted from ...
+ (simplify_cond_using_ranges): Attempt to simplify a relational
+ test to NE_EXPR. Dump information when a COND_EXPR is simplified.
+
+2005-07-28 Dorit Nuzman <dorit@il.ibm.com>
+
+ PR tree-optimization/22506
+ * tree-vectorizer.c (update_phi_nodes_for_guard2): Skip loop-closed
+ phis whose argument is constant.
+
+2005-07-28 J"orn Rennecke <joern.rennecke@st.com>
+
+ PR rtl-optimization/18992
+ Back out this patch:
+ 2003-10-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+ PR optimization/12142
+ * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
+ uses of the register in the SET_SRC. Remove unnecessary argument.
+
+ Replace it with this:
+ * cse.c (count_reg_usage): In INSN, JUMP_INSN and CALL_INSN cases,
+ if flag_non_call_exceptions is set and the insn may trap, pass
+ pc_rtx as dest for recursion.
+ In SET_SRC part of SET case, if dest is already set, pass it down
+ unchanged.
+
+2005-07-28 Jan Hubicka <jh@suse.cz>
+
+ * cfg.c (update_bb_profile_for_threading): Use RDIV.
+ (scale_bbs_frequencies_int): Likewise, assert for possible overflow.
+ (scale_bbs_frequencies_gcov_type): Be more curefull about overflows and
+ roundoff errors.
+ * tree-cfg.c (tree_duplicate_sese_region): Use counts for updating
+ profile when available.
+
+2005-07-28 Jan Beulich <jbeulich@novell.com>
+
+ * config/ia64/ia64.c (ia64_load_pair_ok): New.
+ (ia64_print_operand): Describe and handle 'X'.
+ (ia64_register_move_cost): Also handle FP_REGS.
+ (ia64_preferred_reload_class): Likewise.
+ (ia64_secondary_reload_class): Likewise.
+ (ia64_dependencies_evaluation_hook): New local variable c. Initialize
+ it. Also check for ITANIUM_CLASS_FLDP.
+ * config/ia64/ia64.h (FP_REGNO_P): New.
+ (HARD_REGNO_MODE_OK): Remove explusion of TImode.
+ (reg_class): Add FP_REGS.
+ (REG_CLASS_NAMES): Adjust for it.
+ (REG_CLASS_CONTENTS): Likewise.
+ (REGNO_REG_CLASS): Use FP_REGS where appropriate.
+ (REG_CLASS_FROM_LETTER): Handle 'x'.
+ (CLASS_MAX_NREGS): Handle FP_REGS.
+ (MEMORY_MOVE_COST): Likewise.
+ * config/ia64/ia64.md (itanium_class): Add fldp.
+ (type): Handle fldp.
+ (movti_internal): More allowable operand combinations. Use ldfp8 when
+ splitting unnecessary. Remove predicable attribute. Adjust
+ itanium_class attribute.
+ (smuldi3_highpart): Remove outdated comment.
+ (mulditi3, umulditi3, rotlti3): New expanders.
+ (addti3, subti3, mulditi3_internal, umulditi3_internal, negti2, rotlti3_internal): New insns.
+ (absti2): Disabled new insn for future reference.
+ Respective new splitters.
+ * config/ia64/itanium1.md (1_fldp, 1b_fldp): New insn reservations.
+ * config/ia64/itanium2.md (2_fldp, 2b_fldp): Likewise.
+ * config/ia64/ia64-protos.h (ia64_load_pair_ok): New.
+
+2005-07-25 James A. Morrison <phython@gcc.gnu.org>
+
+ PR rtl-optimization/23047
+ * simplify-rtx.c (simplify_const_relational_operation): Respect
+ flag_wrapv for comparisons with ABS.
+
+2005-07-27 James A. Morrison <phython@gcc.gnu.org>
+
+ PR tree-optimization/22493
+ * tree-vrp.c (extract_range_from_unary_expr): Deal with -fwrapv and
+ VR_ANTI_RANGEs properly for NEGATE_EXPRs and ABS_EXPRs.
+
+2005-07-27 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/frv/frv.opt (moptimize-membar): New.
+
+ * doc/invoke.texi: Document -moptimize-membar and its inverse.
+
+ * config/frv/frv.h: Remove machine_function definition.
+
+ * config/frv/frv.c (struct frv_io): New.
+ (struct machine_function): Moved from frv.h. Add has_membar_p.
+ (frv_same_doubleword_p, frv_io_fixed_order_p, frv_io_union)
+ (frv_extract_membar, frv_io_check_address, frv_io_handle_set)
+ (frv_io_handle_use_1, frv_io_handle_use, frv_optimize_membar_local)
+ (frv_optimize_membar_global, frv_optimize_membar): New functions.
+ (frv_reorg): Call frv_optimize_membar when appropriate.
+ (bdesc_loads, bdesc_stores): Use the membar code as the icode field.
+ (frv_expand_builtin): Adjust calls accordingly.
+ (frv_io_address_cookie): New function.
+ (frv_expand_load_builtin, frv_expand_store_builtin): Emit a normal
+ load or store rather than a special insn. Add ccnstant address and
+ io-type operands to the membar.
+ (frv_ifcvt_modify_tests): Unsign regno.
+ (frv_ifcvt_modify_tests): Same.
+
+ * config/frv/frv.md: Remove UNSPEC_BUILTIN_{LOAD,STORE}. Change
+ UNSPEC_OPTIONAL_MEMBAR constant.
+ (builtin_read_<mode>): Delete.
+ (builtin_write_<mode>): Delete.
+ ("optional_membar_<mode>"): Add operand.
+
+ * testsuite/gcc.target/frv/all-builtin-read8.c: Delete.
+ * testsuite/gcc.target/frv/all-builtin-read16.c: Delete.
+ * testsuite/gcc.target/frv/all-builtin-read32.c: Delete.
+ * testsuite/gcc.target/frv/all-builtin-read64.c: Delete.
+ * testsuite/gcc.target/frv/all-builtin-write8.c: Delete.
+ * testsuite/gcc.target/frv/all-builtin-write16.c: Delete.
+ * testsuite/gcc.target/frv/all-builtin-write32.c: Delete.
+ * testsuite/gcc.target/frv/all-builtin-write64.c: Delete.
+ * testsuite/gcc.target/frv/all-read-write-1.c: New.
+
+2005-07-28 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * df.c (df_uses_record): Handle SCRATCH.
+
+2005-07-28 Steven Bosscher <stevenb@suse.de>
+
+ PR debug/20161
+ * passes.c (rest_of_decl_compilation): If decl is a type and
+ we have encountered errors, don't emit debug information.
+
+2005-07-27 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * params.def: Fixed comment.
+
+2005-07-27 Bjoern Haase <bjoern.m.haase@web.de>
+
+ PR target/19885
+ * config/avr/avr.c (TARGET_ASM_ALIGNED_SI_OP): Add.
+ (TARGET_ASM_UNALIGNED_HI_OP): Add.
+ (TARGET_ASM_UNALIGNED_SI_OP): Add.
+
+2005-07-27 Steven Bosscher <stevenb@suse.de>
+
+ PR c++/22003
+ * varasm.c (assemble_start_function): Don't do anything that may
+ require a CFG if the current function is a thunk.
+
+2005-07-25 Geoffrey Keating <geoffk@apple.com>
+
+ * doc/install.texi (Prerequisites): Mention that perl is needed
+ to do export control in libstdc++ targetting Darwin.
+
+2005-07-27 Steven Bosscher <stevenb@suse.de>
+
+ PR rtl-optimization/17808
+ * sched-deps.c (sched_get_condition): Enable #if 0'ed code.
+ (sched_insns_conditions_mutex_p): Split out from...
+ (add_dependence): ...here. But don't call it from here.
+ (add_dependence_list): Check sched_insns_conditions_mutex_p
+ before calling add_dependence.
+ (add_dependence_list_and_free): Likewise.
+ (fixup_sched_groups): Likewise.
+ (sched_analyze_1): Likewise.
+ (sched_analyze_2): Likewise (and replace a "0" with REG_DEP_TRUE).
+ (sched_analyze): Likewise.
+ (sched_analyze_insn): Likewise.
+ * sched-ebb.c (add_deps_for_risky_insns): Likewise.
+ * sched-rgn.c (add_branch_dependences): Likewise. Also, add
+ dependencies on all COND_EXEC insns to jumps ending basic blocks
+ when doing intrablock scheduling.
+ * sched-int.h (sched_insns_conditions_mutex_p): Add prototype.
+
+2005-07-27 Jeff Law <law@redhat.com>
+
+ * tree-vrp.c (vrp_meet): Intersect the equivalency sets when
+ meeting a VR_ANTI_RANGE with a VR_RANGE. When intersecting
+ equivalency sets, correctly handle the case were vr0 has an
+ equivalency set, but vr1 does not.
+
+2005-07-27 Dorit Nuzman <dorit@il.ibm.com>
+
+ PR tree-optimization/23073
+ * tree-vect-analyze.c (vect_analyze_data_refs_alignment): Call
+ vect_print_dump_info before fprintf.
+
+2005-07-27 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimize/22348
+ * tree-ssa-loop-niter.c (number_of_iterations_cond):
+ Fold the partial computation.
+
+2005-07-27 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/22325
+ * tree-flow.h (compute_phi_arg_on_exit, force_expr_to_var_cost):
+ Declare.
+ * tree-scalar-evolution.c (scev_const_prop): Add generic final
+ value replacement.
+ * tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Split from ...
+ (force_var_cost): ... this function.
+ (compute_phi_arg_on_exit): Export.
+
+2005-07-27 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/20773
+ * tree-ssa-loop-ch.c (copy_loop_headers): Select the correct latch
+ edge.
+
+2005-07-27 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (push_fields_onto_fieldstack):
+ Avoid pushing again if current struct contains only
+ fields we decomposed.
+
2005-07-27 Jan Hubicka <jh@suse.cz>
+ PR tree-optimization/22574
+ * cgraph.c (cgraph_function_body_availability): Unanalyzed bodies are
+ not available.
+
* tree-tailcall.c (decrease_profile): New function.
(eliminate_tail_call): Use it.
@@ -161,7 +2793,7 @@
inhibit_libc.
* configure.ac (inhibit_libc): Set it to true/false.
(--with-build-sysroot): New option. Use it to set
- SYSTEM_HEADER_DIR.
+ SYSTEM_HEADER_DIR.
* configure: Regenerated.
2005-07-25 Manfred Hollstein <mh@suse.com>
@@ -201,8 +2833,8 @@
(dump_data_reference): Use a correct field name.
(analyze_array): Make static. Initialize new data-ref fields.
(analyze_indirect_ref): New function.
- (init_data_ref): Initialize new data-ref fields.
- (strip_conversion): Moved from tree-vect-analyze.c.
+ (init_data_ref): Initialize new data-ref fields.
+ (strip_conversion): Moved from tree-vect-analyze.c.
(analyze_offset_expr, get_ptr_offset, address_analysis,
object_analysis): Likewise.
(analyze_offset): New function.
@@ -213,7 +2845,7 @@
(access_functions_are_affine_or_constant_p): Call macro to get the
address of access functions.
(compute_all_dependences): Add new parameter
- compute_self_and_read_read_dependences. Compute self and read-read
+ compute_self_and_read_read_dependences. Compute self and read-read
dependences if it is true.
(find_data_references_in_loop): Call create_data_ref. Initialize new
data-ref fields.
@@ -228,7 +2860,7 @@
* tree-data-ref.h (struct first_location_in_loop): New structure. Move
fields from stmt_vinfo.
(struct base_object_info): New structure.
- (struct data_reference): Move fields to base_object_info. Add fields
+ (struct data_reference): Move fields to base_object_info. Add fields
first_location and object_info for above structures. Move fields from
stmt_info: memtag, ptr_info, subvars, misalignment. Add new field
aligned_to. Add macros to access the new fields.
@@ -269,7 +2901,7 @@
(vect_strip_conversion): Remove.
* tree-vectorizer.h (enum verbosity_levels): Add new verbosity level.
(struct _loop_vec_info): Unify data_ref_writes and data_ref_reads into
- datarefs. Add new field ddrs.
+ datarefs. Add new field ddrs.
Add macros for the new fields access.
(struct _stmt_vec_info): Remove: base_address, initial_offset, step,
base_aligned_p, misalignment, memtag, ptr_info and subvars.
@@ -313,7 +2945,7 @@
* Makefile.in (STRICT2_WARN): Add -Wmissing-format-attribute.
* configure.ac: Check for -Wmissing-format-attribute.
-
+
* configure: Regenerate.
2005-07-23 Richard Henderson <rth@redhat.com>
@@ -483,7 +3115,7 @@
* config/crx/crx.md: New file.
* config/crx/crx.opt: New file.
* config/crx/t-crx: New file.
-
+
2005-07-22 Manfred Hollstein <mh@suse.com>
* tree-ssa-structalias.c (merge_graph_nodes): Fix uninitialised
@@ -496,9 +3128,9 @@
Laurent GUERBY <laurent@guerby.net>
PR tree-optimization/22336
- * function.c (record_block_change): Check for
+ * function.c (record_block_change): Check for
cfun->ib_boundaries_block.
-
+
2005-07-21 James A. Morrison <phython@gcc.gnu.org>
* fold-const.c (fold_unary): Don't strip signed nops from ABS_EXPRs.
@@ -530,7 +3162,7 @@
and complex_ssa_name_components here.
2005-07-20 Daniel Berlin <dberlin@dberlin.org>
-
+
* alias.c (nonoverlapping_component_refs_p): Use TYPE_MAIN_VARIANT,
revert to returning false.
@@ -553,7 +3185,7 @@
PR middle-end/21180
* fold-const.c (fold_build1): Add checksum for the operands.
- (fold_build2): Likewise.
+ (fold_build2): Likewise.
(fold_build3): Likewise.
2005-07-21 Andrew Pinski <pinskia@physics.uc.edu>
@@ -849,7 +3481,7 @@
2005-07-19 Devang Patel <dpatel@apple.com>
* dbxout.c (dbxout_type): Check Objective-C++ lang.
-
+
2005-07-19 Richard Henderson <rth@redhat.com>
PR tree-opt/22278
@@ -865,7 +3497,7 @@
* c.opt (Wpragmas): New.
* doc/invoke.texi: Document it.
-
+
* function.c (do_warn_unused_parameter): Add warning control to
warning call.
* c-decl.c (warn_if_shadowing): Likewise.
@@ -880,7 +3512,7 @@
(handle_pragma_extern_prefix): Likewise.
(maybe_apply_renaming_pragma): Likewise.
(handle_pragma_visibility): Likewise.
-
+
* config/c4x/c4x-c.c (BAD): Likewise.
(c4x_parse_pragma): Likewise.
* config/ia64/ia64-c.c (ia64_hpux_handle_builtin_pragma): Likewise.
@@ -904,7 +3536,7 @@
* tree-promote-statics.c: Removed.
* common.opt: Removed flag-promote-statics.
* opts.c: Ditto.
- * passes.c: Removed tree-promote-statics pass.
+ * passes.c: Removed tree-promote-statics pass.
* tree-pass.h: Ditto.
* timevar.def: Removed TV_PROMOTE_STATICS.
@@ -914,7 +3546,7 @@
* config.gcc: Add support for *-*-freebsd7, *-*-freebsd8,
and *-*-freebsd9.
* config/freebsd-spec.h (FBSD_TARGET_OS_CPP_BUILTINS): Ditto.
-
+
2005-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
PR c/22476
@@ -969,7 +3601,7 @@
2005-07-18 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/22483
-
+
* tree-complex.c (create_components): Use
safe_referenced_var_iterator and FOR_EACH_REFERENCED_VAR_SAFE.
* tree-flow-inline.h (fill_referenced_var_vec): New function.
@@ -1018,7 +3650,7 @@
in 64-bit mode the same as DImode in 32-bit mode.
(ix86_expand_ashl_const, ix86_split_ashl, ix86_split_ashr,
ix86_split_lshr): Likewise. Rename to no longer refer to a specific
- mode. Add new mode parameter.
+ mode. Add new mode parameter.
* config/i386/i386.h (CONST_OK_FOR_LETTER_P): Describe and handle 'O'.
* config/i386/i386.md (cmpti, addti3, subti3, negti2, ashlti3, ashrti3,
x86_64_shift_adj): New expanders.
@@ -1057,8 +3689,8 @@
* tree-ssa-pre.c (is_copy_stmt): New function.
(follow_copies_till_vuse): Ditto.
(do_eustores): Ditto.
- (gate_eustores): Ditto.
-
+ (gate_eustores): Ditto.
+
2005-07-16 Richard Henderson <rth@redhat.com>
* gcc.c (MFWRAP_SPEC): Don't wrap pthread_join or pthread_exit.
@@ -1070,29 +3702,29 @@
ipa-reference.h, ipa-utils.c, ipa-utils.h, ipa-type-escape.c,
ipa-type-escape.h, tree-promote-statics.c
* ipa-pure-const.c, ipa-reference.c, ipa-reference.h, ipa-utils.c,
- ipa-utils.h, ipa-type-escape.c, ipa-type-escape.h,
+ ipa-utils.h, ipa-type-escape.c, ipa-type-escape.h,
tree-promote-statics.c: new files.
* alias.c: (nonlocal_mentioned_p_1, nonlocal_mentioned_p,
nonlocal_referenced_p_1, nonlocal_referenced_p, nonlocal_set_p_1,
int nonlocal_set_p, mark_constant_function): Deleted.
- (rest_of_handle_cfg): Removed call to mark_constant_function.
+ (rest_of_handle_cfg): Removed call to mark_constant_function.
(nonoverlapping_component_refs_p): Added calls to support
- type based aliasing.
+ type based aliasing.
* tree-ssa-alias.c (may_alias_p,
compute_flow_insensitive_aliasing): Ditto.
* calls.c (flags_from_decl_or_type): Removed reference to
- cgraph_rtl_info.
+ cgraph_rtl_info.
* c-typeck.c (convert_arguments): Make builtins tolerant of having
too many arguments. This is necessary for Spec 2000.
* cgraph.h (const_function, pure_function): Removed.
- * common.opt: Added "fipa-pure-const", "fipa-reference",
+ * common.opt: Added "fipa-pure-const", "fipa-reference",
"fipa-type-escape", and "ftree-promote-static".
* opts.c: Ditto.
- * passes.c: Added ipa and tree-promote-statics passes.
+ * passes.c: Added ipa and tree-promote-statics passes.
* timevar.def: Added TV_IPA_PURE_CONST, TV_IPA_REFERENCE,
TV_IPA_TYPE_ESCAPE, and TV_PROMOTE_STATICS.
* tree-dfa.c (referenced_var_lookup_if_exists): New function.
- * tree-flow.h: Added exposed sra calls and addition of
+ * tree-flow.h: Added exposed sra calls and addition of
reference_vars_info field for FUNCTION_DECLS.
* tree-pass.h: Added passes.
* tree-sra.c: (sra_init_cache): New function.
@@ -1154,7 +3786,7 @@
special var here.
(need_to_solve): New function.
(compute_points_to_sets): Use it.
-
+
2005-07-15 Jan Hubicka <jh@suse.cz>
* cfg.c (update_bb_profile_for_threading): More diagnostic.
@@ -1413,8 +4045,8 @@
if *rhs_p is not a SSA_NAME.
2005-07-12 Daniel Berlin <dberlin@dberlin.org>
-
- Fix PR tree-optimization/22422
+
+ Fix PR tree-optimization/22422
* tree-ssa-structalias.c (struct variable_info): Add flag for
special vars.
(get_varinfo): Now a static function.
@@ -1427,7 +4059,7 @@
(do_sd_constraint): Ditto.
(do_structure_copy): Check for special variable.
(find_func_aliases): Ditto.
- (init_base_vars): Set special vars properly.
+ (init_base_vars): Set special vars properly.
2005-07-13 Jan Hubicka <jh@suse.cz>
@@ -1560,12 +4192,12 @@
(GIMPLE Exception Handling): Clarify TRY_CATCH_EXPR cases.
2005-07-11 Daniel Berlin <dberlin@dberlin.org>
-
+
* print-tree.c (print_node): Use DECL_ARGUMENT_FLD.
* tree.h (DECL_ARGUMENT_FLD): New macro.
2005-07-11 Daniel Berlin <dberlin@dberlin.org>
-
+
Fix PR tree-optimization/22404
* tree-ssa-structalias.c (create_variable_info_for): Use
@@ -1657,7 +4289,7 @@
* tree-ssa-structalias.c (update_alias_info): Change counting of
references to not include vdefs.
-
+
2005-07-10 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-alias.c (free_used_part_map): Add missing free.
@@ -1875,13 +4507,13 @@
visibility on regular DECL's.
(merge_decls): Fix the copying of decl nodes of various types for
the new structures. Don't update RTL, section name, weak status,
- etc, on DECL's without RTL.
+ etc, on DECL's without RTL.
(grokdeclarator): DECL_ARG_TYPE_AS_WRITTEN is gone.
Don't check volatile on non-variable types.
(store_parm_decls_oldstyle): Use pointer_set instead of DECL_WEAK
to check whether we have seen arguments.
* c-objc-common.c (c_tree_printer): Reverse order of tests so that
- flag is checked before field (flag is common, field is not).
+ flag is checked before field (flag is common, field is not).
* dwarf2out.c (decl_ultimate_origin): Only DECL's with
TS_DECL_COMMON could have an origin.
(add_location_or_const_value_attribute): Don't check section name
@@ -1962,7 +4594,7 @@
(struct tree_result_decl): Ditto.
(union tree_node): Add new structures.
* var-tracking.c (track_expr_p): Reverse order of tests.
-
+
* doc/c-tree.texi: Add documentation on DECL node internal structure.
2005-07-08 Kazu Hirata <kazu@codesourcery.com>
@@ -2137,7 +4769,7 @@
* config/s390/s390-protos.h (s390_expand_clrmem): Delete.
(s390_expand_setmem): New.
- * config/s390/s390.c: Likewise.
+ * config/s390/s390.c: Likewise.
(print_shift_count_operand): Truncate to 12 bits instead of 6.
Adapt comments.
* config/s390/s390.md: ("setmem<mode>"): Accept character as
@@ -2146,7 +4778,7 @@
("setmem_long", "*setmem_long"): ... this.
2005-07-07 Adrian Straetling <straetling@de.ibm.com>
-
+
* config/s390/s390.c: (optimization_options): Enable
TARGET_MVCLE at -Os.
* doc/invoke.texi: Document changes in default behaviour.
@@ -2203,7 +4835,7 @@
2005-07-06 Fariborz Jahanian <fjahanian@apple.com>
* doc/invoke.texi: Update -fforce-mem documentation.
- * dojump.c (compare_from_rtx,do_compare_rtx_and_jump): Remove
+ * dojump.c (compare_from_rtx,do_compare_rtx_and_jump): Remove
code for -fforce-mem.
* expmed.c: (store_bit_field,store_fixed_bit_field,
extract_bit_field): Ditto.
@@ -2234,7 +4866,7 @@
variable sized types.
Use correct type for intermediate structure on *a = *b structure
copies.
-
+
2005-07-06 Jakub Jelinek <jakub@redhat.com>
* config/rs6000/rs6000.h (RS6000_VARARGS_AREA, RS6000_VARARGS_SIZE):
@@ -2304,7 +4936,7 @@
(vect_print_dump_info): Use vect_loop_location.
(new_loop_vec_info): Do not set LOOP_VINFO_LOC.
(vectorize_loops): Set vect_loop_location.
- * tree-vect-analyze.c (vect_analyze_offset_expr,
+ * tree-vect-analyze.c (vect_analyze_offset_expr,
vect_determin_vectorization_factor, vect_analyze_operations,
vect_analyze_scalar_cycles, vect_analyze_data_ref_dependence,
vect_analyze_data_ref_dependences, vect_compute_data_ref_alignment,
@@ -2316,8 +4948,8 @@
vect_analyze_loop): Adjust vect_print_dump_info API.
* tree-vect-transform.c (vect_create_addr_base_for_vector_ref,
vect_create_data_ref_ptr, vect_init_vector, vect_get_vec_def_for_operand,
- vect_finish_stmt_generation, vectorizable_assignment,
- vectorizable_operation, vectorizable_store, vectorizable_load,
+ vect_finish_stmt_generation, vectorizable_assignment,
+ vectorizable_operation, vectorizable_store, vectorizable_load,
vectorizable_live_operation, vectorizable_condition, vect_transform_stmt,
vect_update_ivs_after_vectorizer, vect_do_peeling_for_loop_bound,
vect_gen_ninters_for_prolog_loop, vect_do_peeling_for_alignment,
@@ -2339,14 +4971,14 @@
(pa_tls_symbol_ref_1, pa_tls_referenced_p): New.
(TARGET_CANNOT_FORCE_CONST_MEM): Define.
(emit_move_sequence): Handle TLS addresses.
- (pa_encode_section_info): Call default handler to handle common
+ (pa_encode_section_info): Call default handler to handle common
sections.
* config/pa/pa.h (PA_SYMBOL_REF_TLS_P): New.
(CONSTANT_ADDRESS_P): Reject TLS operands.
(TARGET_HAVE_TLS) [HAVE_AS_TLS]: Define.
* config/pa/pa.md (UNSPEC_TP, UNSPEC_TLSGD, UNSPEC_TLSLDM)
(UNSPEC_TLSLDO, UNSPEC_TLSLDBASE, UNSPEC_TLSIE)
- (UNSPEC_TLSLE): Define new constants.
+ (UNSPEC_TLSLE): Define new constants.
(tgd_load, tld_load, tld_offset_load, tp_load, tie_load, tle_load): New.
* config/pa/predicates.md (symbolic_operand): Reject TLS operands.
(tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand)
@@ -2457,7 +5089,7 @@
pass_postreload_cse): New.
* profile.c (gate_handle_profiling, pass_profiling,
rest_of_handle_branch_prob, pass_branch_prob): New.
- * recog.c (pass pass_split_for_shorten_branches, gate_do_final_split,
+ * recog.c (pass pass_split_for_shorten_branches, gate_do_final_split,
pass_split_before_regstack, gate_handle_split_before_regstack,
gate_handle_peephole2, rest_of_handle_peephole2, pass_peephole2,
rest_of_handle_split_all_insns, pass_split_all_insns): New.
@@ -2531,7 +5163,7 @@
dump_enabled_p, dump_initialized_p, dump_begin, dump_end, dump_node,
dump_switch_p, dump_flag_name): Moved to tree-pass.h.
(dump_info_p, dump_flag): Moved to tree-dump.h.
-
+
* Makefile.in: Adjust dependencies for tree-pretty-print.c,
cgraph.c, opts.c.
* passes.c (finish_optimization_passes): Use dump_begin
@@ -2550,7 +5182,7 @@
pass_init_datastructures, pass_fixup_cfg): Make non-static.
* tree-pretty-print.c: Include tree-pass.h.
* cgraph.c: Include tree-dump.h.
-
+
2005-07-04 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-structalias.c (get_constraint_exp_from_ssa_var):
@@ -2608,10 +5240,10 @@
2005-07-04 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/22279
-
+
* tree-ssa-structalias.c (offset_overlaps_with_access): Use
correct operator.
-
+
2005-07-04 J"orn Rennecke <joern.rennecke@st.com>
* sh.c (output_ieee_ccmpeq): Replace "\\;" with "\n\t".
@@ -2686,7 +5318,7 @@
<GOTO_EXPR>, <SWITCH_EXPR>: Add.
(dump_enabled_p): Return TRUE if PHASE is TDI_all and any dump
is enabled.
-
+
2005-07-03 Joseph S. Myers <joseph@codesourcery.com>
* c-common.h (GCC_DIAG_STYLE): Define.
diff --git a/gcc/ChangeLog.killloop b/gcc/ChangeLog.killloop
index 3bcd3737893..674f107ffb6 100644
--- a/gcc/ChangeLog.killloop
+++ b/gcc/ChangeLog.killloop
@@ -1,5 +1,9 @@
2005-09-02 Zdenek Dvorak <dvorakz@suse.cz>
+ Merge from mainline (killloop-merge-20050902).
+
+2005-09-02 Zdenek Dvorak <dvorakz@suse.cz>
+
* Makefile.in (tree-ssa-loop-endcond.o): Add.
* tree-flow.h (select_condition_shape): Declare.
* tree-ssa-loop-endcond.c: New file.
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 29fdb6d4dbc..4eb83b4a90b 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20050727
+20050902
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index a85e4691cef..55861476473 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -716,7 +716,7 @@ HOSTHOOKS_DEF_H = hosthooks-def.h $(HOOKS_H)
LANGHOOKS_DEF_H = langhooks-def.h $(HOOKS_H)
TARGET_DEF_H = target-def.h $(HOOKS_H)
RTL_BASE_H = rtl.h rtl.def $(MACHMODE_H) reg-notes.def insn-notes.def \
- input.h statistics.h
+ input.h real.h statistics.h
RTL_H = $(RTL_BASE_H) genrtl.h
PARAMS_H = params.h params.def
TREE_H = tree.h tree.def $(MACHMODE_H) tree-check.h builtins.def \
@@ -785,8 +785,10 @@ INTERNAL_CFLAGS = -DIN_GCC @CROSS@
ALL_CFLAGS = $(X_CFLAGS) $(T_CFLAGS) \
$(CFLAGS) $(INTERNAL_CFLAGS) $(COVERAGE_FLAGS) $(WARN_CFLAGS) $(XCFLAGS) @DEFS@
-# Likewise.
-ALL_CPPFLAGS = $(CPPFLAGS) $(X_CPPFLAGS) $(T_CPPFLAGS)
+# Likewise. Put INCLUDES at the beginning: this way, if some autoconf macro
+# puts -I options in CPPFLAGS, our include files in the srcdir will always
+# win against random include files in /usr/include.
+ALL_CPPFLAGS = $(INCLUDES) $(CPPFLAGS) $(X_CPPFLAGS) $(T_CPPFLAGS)
# Build and host support libraries.
LIBIBERTY = ../libiberty/libiberty.a
@@ -834,7 +836,7 @@ INCLUDES = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
$(CPPINC) $(GMPINC)
.c.o:
- $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
+ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION)
#
# Support for additional languages (other than C).
@@ -966,7 +968,7 @@ OBJS-common = \
targhooks.o timevar.o toplev.o tracer.o tree.o tree-dump.o \
varasm.o varray.o vec.o version.o vmsdbgout.o xcoffout.o alloc-pool.o \
et-forest.o cfghooks.o bt-load.o pretty-print.o $(GGC) web.o passes.o \
- rtl-profile.o tree-profile.o rtlhooks.o cfgexpand.o lambda-mat.o \
+ tree-profile.o rtlhooks.o cfgexpand.o lambda-mat.o \
lambda-trans.o lambda-code.o tree-loop-linear.o tree-ssa-sink.o \
tree-vrp.o tree-stdarg.o tree-cfgcleanup.o tree-ssa-reassoc.o \
tree-ssa-structalias.o tree-object-size.o
@@ -975,7 +977,8 @@ OBJS-common = \
OBJS-md = $(out_object_file)
OBJS-archive = $(EXTRA_OBJS) $(host_hook_obj) tree-inline.o \
cgraph.o cgraphunit.o tree-nomudflap.o ipa.o ipa-inline.o \
- ipa-utils.o ipa-reference.o ipa-pure-const.o ipa-type-escape.o
+ ipa-utils.o ipa-reference.o ipa-pure-const.o ipa-type-escape.o \
+ ipa-prop.o ipa-cp.o
OBJS = $(OBJS-common) $(out_object_file) $(OBJS-archive)
@@ -1517,7 +1520,7 @@ collect2$(exeext): $(COLLECT2_OBJS) $(LIBDEPS)
collect2.o : collect2.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) intl.h \
$(OBSTACK_H) $(DEMANGLE_H) collect2.h version.h
- $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
-DTARGET_MACHINE=\"$(target_noncanonical)\" \
-c $(srcdir)/collect2.c $(OUTPUT_OPTION)
@@ -1542,7 +1545,7 @@ c-opts.o : c-opts.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(TREE_H) $(C_PRAGMA_H) $(FLAGS_H) toplev.h langhooks.h \
tree-inline.h $(DIAGNOSTIC_H) intl.h debug.h $(C_COMMON_H) \
opts.h options.h $(MKDEPS_H) c-incpath.h cppdefault.h
- $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
+ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
$< $(OUTPUT_OPTION) @TARGET_SYSTEM_ROOT_DEFINE@
c-cppbuiltin.o : c-cppbuiltin.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
@@ -1570,7 +1573,7 @@ c-dump.o : c-dump.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
c-pch.o : c-pch.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(CPPLIB_H) $(TREE_H) \
$(C_COMMON_H) output.h toplev.h $(C_PRAGMA_H) $(GGC_H) debug.h \
langhooks.h $(FLAGS_H) hosthooks.h version.h $(TARGET_H)
- $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
+ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
-DHOST_MACHINE=\"$(host)\" -DTARGET_MACHINE=\"$(target)\" \
$< $(OUTPUT_OPTION)
@@ -1594,14 +1597,14 @@ gcc.o: gcc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) intl.h multilib.h \
configargs.h $(OBSTACK_H)
(SHLIB_LINK='$(SHLIB_LINK)' \
SHLIB_MULTILIB='$(SHLIB_MULTILIB)'; \
- $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
$(DRIVER_DEFINES) \
-c $(srcdir)/gcc.c $(OUTPUT_OPTION))
gccspec.o: gccspec.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H)
(SHLIB_LINK='$(SHLIB_LINK)' \
SHLIB_MULTILIB='$(SHLIB_MULTILIB)'; \
- $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
$(DRIVER_DEFINES) \
-c $(srcdir)/gccspec.c $(OUTPUT_OPTION))
@@ -1666,7 +1669,7 @@ options.o: options.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) opts.h intl.h
dumpvers: dumpvers.c
version.o: version.c version.h $(DATESTAMP) $(BASEVER) $(DEVPHASE)
- $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
-DBASEVER=$(BASEVER_s) -DDATESTAMP=$(DATESTAMP_s) \
-DDEVPHASE=$(DEVPHASE_s) -c $(srcdir)/version.c $(OUTPUT_OPTION)
@@ -1694,7 +1697,7 @@ stringpool.o: stringpool.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
prefix.o: prefix.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) prefix.h \
Makefile $(BASEVER)
- $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
-DPREFIX=\"$(prefix)\" -DBASEVER=$(BASEVER_s) \
-c $(srcdir)/prefix.c $(OUTPUT_OPTION)
@@ -1715,9 +1718,10 @@ tree-dump.o: tree-dump.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
tree-iterator.h tree-pass.h $(DIAGNOSTIC_H)
tree-inline.o : tree-inline.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(TREE_H) $(RTL_H) $(EXPR_H) $(FLAGS_H) $(PARAMS_H) input.h insn-config.h \
- $(INTEGRATE_H) $(VARRAY_H) $(HASHTAB_H) $(SPLAY_TREE_H) toplev.h \
+ $(VARRAY_H) $(HASHTAB_H) $(SPLAY_TREE_H) toplev.h \
langhooks.h tree-inline.h $(CGRAPH_H) intl.h function.h $(TREE_GIMPLE_H) \
- debug.h $(DIAGNOSTIC_H) $(TREE_FLOW_H) tree-iterator.h tree-mudflap.h
+ debug.h $(DIAGNOSTIC_H) $(TREE_FLOW_H) tree-iterator.h tree-mudflap.h \
+ ipa-prop.h
print-tree.o : print-tree.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
$(GGC_H) langhooks.h real.h tree-iterator.h
stor-layout.o : stor-layout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
@@ -1946,10 +1950,10 @@ tree-browser.o : tree-browser.c tree-browser.def $(CONFIG_H) $(SYSTEM_H) \
$(TREE_H) tree-inline.h $(DIAGNOSTIC_H) $(HASHTAB_H) \
$(TM_H) coretypes.h
tree-chrec.o: tree-chrec.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
- $(GGC_H) $(TREE_H) tree-chrec.h tree-pass.h $(PARAMS_H) \
+ $(GGC_H) $(TREE_H) real.h tree-chrec.h tree-pass.h $(PARAMS_H) \
$(DIAGNOSTIC_H) $(VARRAY_H) $(CFGLOOP_H) $(TREE_FLOW_H)
tree-scalar-evolution.o: tree-scalar-evolution.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TM_H) $(GGC_H) $(TREE_H) $(RTL_H) \
+ coretypes.h $(TM_H) $(GGC_H) $(TREE_H) real.h $(RTL_H) \
$(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \
$(TIMEVAR_H) $(CFGLOOP_H) $(SCEV_H) tree-pass.h $(FLAGS_H) tree-chrec.h
tree-data-ref.o: tree-data-ref.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
@@ -2020,7 +2024,7 @@ toplev.o : toplev.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
langhooks.h insn-flags.h $(CFGLAYOUT_H) real.h $(CFGLOOP_H) hosthooks.h \
$(CGRAPH_H) $(COVERAGE_H) alloc-pool.h $(GGC_H) $(INTEGRATE_H) \
$(CPPLIB_H) opts.h params.def tree-mudflap.h
- $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
-DTARGET_NAME=\"$(target_noncanonical)\" \
-c $(srcdir)/toplev.c $(OUTPUT_OPTION)
@@ -2157,8 +2161,15 @@ cgraphunit.o : cgraphunit.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(TREE_H) langhooks.h tree-inline.h toplev.h $(FLAGS_H) $(GGC_H) \
$(TARGET_H) $(CGRAPH_H) intl.h pointer-set.h function.h $(TREE_GIMPLE_H) \
$(TREE_FLOW_H) tree-pass.h $(C_COMMON_H) debug.h $(DIAGNOSTIC_H) \
- $(FIBHEAP_H) output.h $(PARAMS_H) $(RTL_H) $(TIMEVAR_H)
+ $(FIBHEAP_H) output.h $(PARAMS_H) $(RTL_H) $(TIMEVAR_H) ipa-prop.h
ipa.o : ipa.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(CGRAPH_H)
+ipa-prop.o : ipa-prop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+ langhooks.h $(GGC_H) target.h $(CGRAPH_H) ipa-prop.h \
+ tree-flow.h $(TM_H) tree-pass.h $(FLAGS_H) $(TREE_H)
+ipa-cp.o : ipa-cp.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+ langhooks.h target.h $(CGRAPH_H) ipa-prop.h \
+ tree-flow.h $(TM_H) tree-pass.h $(FLAGS_H) $(TREE_H) \
+ diagnostic.h
ipa-inline.o : ipa-inline.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(TREE_H) langhooks.h tree-inline.h $(FLAGS_H) $(CGRAPH_H) intl.h \
$(DIAGNOSTIC_H) $(FIBHEAP_H) $(PARAMS_H) $(TIMEVAR_H) tree-pass.h \
@@ -2248,9 +2259,6 @@ tree-profile.o : tree-profile.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
$(TM_H) $(RTL_H) $(TREE_H) $(FLAGS_H) output.h $(REGS_H) $(EXPR_H) \
function.h toplev.h $(COVERAGE_H) $(TREE_H) value-prof.h $(TREE_DUMP_H) \
tree-pass.h $(TREE_FLOW_H) $(TIMEVAR_H) $(GGC_H) gt-tree-profile.h
-rtl-profile.o : tree-profile.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
- $(TM_H) $(RTL_H) $(TREE_H) $(FLAGS_H) output.h $(REGS_H) $(EXPR_H) \
- function.h toplev.h $(COVERAGE_H) value-prof.h $(GGC_H)
value-prof.o : value-prof.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(BASIC_BLOCK_H) hard-reg-set.h value-prof.h $(EXPR_H) output.h $(FLAGS_H) \
$(RECOG_H) insn-config.h $(OPTABS_H) $(REGS_H) $(GGC_H) $(DIAGNOSTIC_H) \
@@ -2481,7 +2489,7 @@ $(out_object_file): $(out_file) $(CONFIG_H) coretypes.h $(TM_H) $(TREE_H) $(GGC_
output.h $(INSN_ATTR_H) $(SYSTEM_H) toplev.h $(TARGET_H) libfuncs.h \
$(TARGET_DEF_H) function.h $(SCHED_INT_H) $(TM_P_H) $(EXPR_H) $(OPTABS_H) \
langhooks.h
- $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
+ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
$(out_file) $(OUTPUT_OPTION)
# Build auxiliary files that support ecoff format.
@@ -2501,7 +2509,7 @@ mips-tdump.o : mips-tdump.c $(CONFIG_H) $(RTL_H) $(SYSTEM_H) coretypes.h \
libbackend.o : $(OBJS-common:.o=.c) $(out_file) \
insn-config.h insn-flags.h insn-codes.h insn-constants.h \
insn-attr.h $(DATESTAMP) $(BASEVER) $(DEVPHASE)
- $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
-DTARGET_NAME=\"$(target_noncanonical)\" \
-DLOCALEDIR=\"$(localedir)\" \
-c $(filter %.c,$^) -o $@ \
@@ -2587,7 +2595,7 @@ insn-emit.o : insn-emit.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(RTL_H) $(EXPR_H) real.h output.h insn-config.h $(OPTABS_H) reload.h \
$(RECOG_H) toplev.h function.h $(FLAGS_H) hard-reg-set.h $(RESOURCE_H) \
$(TM_P_H) $(BASIC_BLOCK_H)
- $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-emit.c \
+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) -c insn-emit.c \
$(OUTPUT_OPTION)
insn-emit.c: s-emit ; @true
@@ -2599,7 +2607,7 @@ s-emit : $(MD_DEPS) build/genemit$(build_exeext)
insn-recog.o : insn-recog.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(RTL_H) insn-config.h $(RECOG_H) real.h output.h $(FLAGS_H) function.h \
hard-reg-set.h $(RESOURCE_H) $(TM_P_H) toplev.h reload.h
- $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-recog.c \
+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) -c insn-recog.c \
$(OUTPUT_OPTION)
insn-recog.c: s-recog ; @true
@@ -2610,7 +2618,7 @@ s-recog : $(MD_DEPS) build/genrecog$(build_exeext)
insn-opinit.o : insn-opinit.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(RTL_H) insn-config.h $(FLAGS_H) $(RECOG_H) $(EXPR_H) $(OPTABS_H) reload.h
- $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-opinit.c \
+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) -c insn-opinit.c \
$(OUTPUT_OPTION)
insn-opinit.c: s-opinit ; @true
@@ -2621,7 +2629,7 @@ s-opinit : $(MD_DEPS) build/genopinit$(build_exeext)
insn-extract.o : insn-extract.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(RTL_H) toplev.h insn-config.h $(RECOG_H)
- $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-extract.c \
+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) -c insn-extract.c \
$(OUTPUT_OPTION)
insn-extract.c: s-extract ; @true
@@ -2633,7 +2641,7 @@ s-extract : $(MD_DEPS) build/genextract$(build_exeext)
insn-peep.o : insn-peep.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(RTL_H) $(REGS_H) output.h real.h insn-config.h $(RECOG_H) except.h \
function.h $(TM_P_H)
- $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-peep.c \
+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) -c insn-peep.c \
$(OUTPUT_OPTION)
insn-peep.c: s-peep ; @true
@@ -2645,7 +2653,7 @@ s-peep : $(MD_DEPS) build/genpeep$(build_exeext)
insn-attrtab.o : insn-attrtab.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(RTL_H) $(REGS_H) real.h output.h $(INSN_ATTR_H) insn-config.h toplev.h \
$(RECOG_H) $(TM_P_H) $(FLAGS_H)
- $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-attrtab.c \
+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) -c insn-attrtab.c \
$(OUTPUT_OPTION)
insn-attr.h: s-attr ; @true
@@ -2664,7 +2672,7 @@ insn-output.o : insn-output.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(RTL_H) $(GGC_H) $(REGS_H) real.h conditions.h hard-reg-set.h \
insn-config.h $(INSN_ATTR_H) $(EXPR_H) output.h $(RECOG_H) function.h \
toplev.h $(FLAGS_H) insn-codes.h $(TM_P_H) $(TARGET_H)
- $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-output.c \
+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) -c insn-output.c \
$(OUTPUT_OPTION)
insn-output.c: s-output ; @true
@@ -2722,6 +2730,7 @@ GTFILES = $(srcdir)/input.h $(srcdir)/coretypes.h \
$(srcdir)/cselib.h $(srcdir)/basic-block.h $(srcdir)/cgraph.h \
$(srcdir)/c-common.h $(srcdir)/c-tree.h $(srcdir)/reload.h \
$(srcdir)/alias.c $(srcdir)/bitmap.c $(srcdir)/cselib.c $(srcdir)/cgraph.c \
+ $(srcdir)/ipa-prop.c $(srcdir)/ipa-cp.c\
$(srcdir)/dbxout.c $(srcdir)/dwarf2out.c $(srcdir)/dwarf2asm.c \
$(srcdir)/dojump.c $(srcdir)/tree-profile.c \
$(srcdir)/emit-rtl.c $(srcdir)/except.c $(srcdir)/explow.c $(srcdir)/expr.c \
@@ -2739,7 +2748,7 @@ GTFILES = $(srcdir)/input.h $(srcdir)/coretypes.h \
$(srcdir)/tree-iterator.c $(srcdir)/gimplify.c \
$(srcdir)/tree-chrec.h $(srcdir)/tree-vect-generic.c \
$(srcdir)/tree-ssa-operands.h $(srcdir)/tree-ssa-operands.c \
- $(srcdir)/tree-profile.c $(srcdir)/rtl-profile.c $(srcdir)/tree-nested.c \
+ $(srcdir)/tree-profile.c $(srcdir)/tree-nested.c \
$(srcdir)/ipa-reference.c \
$(srcdir)/targhooks.c $(out_file) \
@all_gtfiles@
@@ -2831,8 +2840,7 @@ $(genprogs): %$(build_exeext): %.o $(BUILD_RTL) $(BUILD_SUPPORT) \
$(BUILD_ERRORS) $(BUILD_LIBS)
$(genobjs): %.o : # dependencies provided by explicit rule later
- $(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(INCLUDES) \
- -o $@ $<
+ $(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) -o $@ $<
build/read-rtl.o: read-rtl.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) \
$(RTL_BASE_H) $(OBSTACK_H) $(HASHTAB_H)
@@ -2971,7 +2979,7 @@ build/varray.o: varray.c $(BCONFIG_H) coretypes.h $(GTM_H) $(SYSTEM_H) \
#
# Remake internationalization support.
intl.o: intl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) intl.h Makefile
- $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
-DLOCALEDIR=\"$(localedir)\" \
-c $(srcdir)/intl.c $(OUTPUT_OPTION)
@@ -2990,7 +2998,7 @@ PREPROCESSOR_DEFINES = \
cppdefault.o: cppdefault.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
cppdefault.h Makefile
- $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
$(PREPROCESSOR_DEFINES) \
-c $(srcdir)/cppdefault.c $(OUTPUT_OPTION)
@@ -3011,7 +3019,7 @@ protoize.o: protoize.c $(srcdir)/../include/getopt.h $(CONFIG_H) $(SYSTEM_H) \
coretypes.h $(TM_H) Makefile version.h cppdefault.h intl.h
(SHLIB_LINK='$(SHLIB_LINK)' \
SHLIB_MULTILIB='$(SHLIB_MULTILIB)'; \
- $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
+ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
$(DRIVER_DEFINES) \
$(srcdir)/protoize.c $(OUTPUT_OPTION))
@@ -3019,7 +3027,7 @@ unprotoize.o: protoize.c $(srcdir)/../include/getopt.h \
$(CONFIG_H) $(SYSTEM_H) Makefile version.h
(SHLIB_LINK='$(SHLIB_LINK)' \
SHLIB_MULTILIB='$(SHLIB_MULTILIB)'; \
- $(CC) -c -DUNPROTOIZE $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
+ $(CC) -c -DUNPROTOIZE $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
$(DRIVER_DEFINES) \
$(srcdir)/protoize.c $(OUTPUT_OPTION))
@@ -3029,7 +3037,7 @@ SYSCALLS.c.X: $(srcdir)/sys-types.h $(srcdir)/sys-protos.h $(GCC_PASSES) \
-rm -f SYSCALLS.c tmp-SYSCALLS.s
sed -e s/TARGET_GETGROUPS_T/$(TARGET_GETGROUPS_T)/ \
$(srcdir)/sys-types.h $(srcdir)/sys-protos.h > SYSCALLS.c
- $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
+ $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ALL_CPPFLAGS) \
-aux-info $@ -S -o tmp-SYSCALLS.s SYSCALLS.c
-rm -f SYSCALLS.c tmp-SYSCALLS.s
@@ -3141,7 +3149,7 @@ s-macro_list : $(GCC_PASSES)
# working directory in object files (-g absent, or -fno-working-dir
# present), and build and host are the same, fixincl for the host will
# build after fixincl for the build machine, getting a cache hit,
-# thereby updating the timestamp of fixincl.o in the the host tree.
+# thereby updating the timestamp of fixincl.o in the host tree.
# Because of CCACHE_HARDLINK, this will also update the timestamp in
# the build tree, and so fixincl in the build tree will appear to be
# out of date. Yuck.
@@ -3962,7 +3970,7 @@ qmtest-gui: ${QMTEST_DIR}/context
paranoia.o: $(srcdir)/../contrib/paranoia.cc $(CONFIG_H) $(SYSTEM_H) \
real.h $(TREE_H)
- g++ -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
+ g++ -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION)
paranoia: paranoia.o real.o $(LIBIBERTY)
g++ -o $@ paranoia.o real.o $(LIBIBERTY)
diff --git a/gcc/aclocal.m4 b/gcc/aclocal.m4
index 789112bc47d..2b1c198e395 100644
--- a/gcc/aclocal.m4
+++ b/gcc/aclocal.m4
@@ -89,27 +89,6 @@ make_compare_target=$gcc_cv_prog_cmp_skip
AC_SUBST(make_compare_target)
])
-dnl See if the printf functions in libc support %p in format strings.
-AC_DEFUN([gcc_AC_FUNC_PRINTF_PTR],
-[AC_CACHE_CHECK(whether the printf functions support %p,
- gcc_cv_func_printf_ptr,
-[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
-
-int main()
-{
- char buf[64];
- char *p = buf, *q = NULL;
- sprintf(buf, "%p", p);
- sscanf(buf, "%p", &q);
- return (p != q);
-}]])], gcc_cv_func_printf_ptr=yes, gcc_cv_func_printf_ptr=no,
- gcc_cv_func_printf_ptr=no)
-rm -f core core.* *.core])
-if test $gcc_cv_func_printf_ptr = yes ; then
- AC_DEFINE(HAVE_PRINTF_PTR, 1, [Define if printf supports "%p".])
-fi
-])
-
dnl See if symbolic links work and if not, try to substitute either hard links or simple copy.
AC_DEFUN([gcc_AC_PROG_LN_S],
[AC_MSG_CHECKING(whether ln -s works)
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 47e24b140c0..2bc3302d964 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,62 @@
+2005-08-29 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/23187
+ * adaint.c
+ (GNAT_MAXPATH_LEN): Use default value if MAXPATHLEN is undefined.
+
+2005-08-29 Arnaud Charlet <charlet@adacore.com>
+ Doug Rupp <rupp@adacore.com>
+
+ * s-stalib.adb: Add missing pragma Warnings (On) to reenable Warnings
+ when needed.
+ (Inside_Elab_Final_Code): Moved to init.c to avoid having to keep
+ this code in the GNAT run-time.
+
+ * decl.c, fe.h: Replace GCC_ZCX by Back_End_Exceptions.
+
+ PR ada/21053
+ * init.c (__gnat_error_handler [many]): Mark "msg" as const
+ (__gnat_error_handler [HPUX]): Mark siginfo parameter as unused
+
+ (__gnat_inside_elab_final_code): Moved here from
+ Standard_Library and only defined for the compiler.
+ __gnat_error_handler [VMS]: Adjust sigargs to account for PC & PSL.
+ (__gnat_inum_to_ivec): Do not define this function on VxWorks when
+ using RTPs because directly vectored Interrupt routines are not
+ supported on this configuration.
+ (getpid): Do not redefine this function on VxWorks when using RTPs
+ because this primitive is well supported by the RTP libraries.
+ (copy_msg): Correct the code that checks for buffer overflow.
+ Discovered during code reading.
+
+2005-08-29 Olivier Hainque <hainque@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Variable>: When allocating storage for
+ a library level mutable variable with an initializer, tell
+ build_allocator to ignore the initializer's size. It may not be large
+ enough for all the values that might be assigned to the variable later
+ on.
+
+2005-08-29 Arnaud Charlet <charlet@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c: Protect < in error msg with quote
+ Replace GCC_ZCX by Back_End_Exceptions.
+ (addressable_p) <COMPONENT_REF>: Also return 1 if the field
+ has been sufficiently aligned in the record.
+
+2005-08-15 James E. Wilson <wilson@specifix.com>
+
+ * system-linux-alpha.ads: Change ia64 to alpha.
+
+2005-08-01 Kazu Hirata <kazu@codesourcery.com>
+
+ * decl.c, utils.c: Fix comment typos.
+
+2005-07-29 Kazu Hirata <kazu@codesourcery.com>
+
+ * decl.c, init.c, initialize.c: Fix comment typos.
+
2005-07-20 Giovanni Bajo <giovannibajo@libero.it>
Make CONSTRUCTOR use VEC to store initializers.
diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c
index e1453f7e440..d5543b92fa4 100644
--- a/gcc/ada/adaint.c
+++ b/gcc/ada/adaint.c
@@ -263,7 +263,11 @@ const int __gnat_vmsp = 0;
#include <sys/param.h>
#endif
+#ifdef MAXPATHLEN
#define GNAT_MAX_PATH_LEN MAXPATHLEN
+#else
+#define GNAT_MAX_PATH_LEN 256
+#endif
#endif
diff --git a/gcc/ada/decl.c b/gcc/ada/decl.c
index 145ece8ae8e..701501e8889 100644
--- a/gcc/ada/decl.c
+++ b/gcc/ada/decl.c
@@ -497,6 +497,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
|| Present (Renamed_Object (gnat_entity))));
bool inner_const_flag = const_flag;
bool static_p = Is_Statically_Allocated (gnat_entity);
+ bool mutable_p = false;
tree gnu_ext_name = NULL_TREE;
tree renamed_obj = NULL_TREE;
@@ -594,7 +595,10 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
(Etype
(Expression (Declaration_Node (gnat_entity)))));
else
- gnu_size = max_size (TYPE_SIZE (gnu_type), true);
+ {
+ gnu_size = max_size (TYPE_SIZE (gnu_type), true);
+ mutable_p = true;
+ }
}
/* If the size is zero bytes, make it one byte since some linkers have
@@ -928,7 +932,11 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
If we have a template initializer only (that we made above),
pretend there is none and rely on what build_allocator creates
again anyway. Otherwise (if we have a full initializer), get
- the data part and feed that to build_allocator. */
+ the data part and feed that to build_allocator.
+
+ If we are elaborating a mutable object, tell build_allocator to
+ ignore a possibly simpler size from the initializer, if any, as
+ we must allocate the maximum possible size in this case. */
if (definition)
{
@@ -959,7 +967,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
gnat_entity);
gnu_expr = build_allocator (gnu_alloc_type, gnu_expr, gnu_type,
- 0, 0, gnat_entity, false);
+ 0, 0, gnat_entity, mutable_p);
}
else
{
@@ -1100,11 +1108,11 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
SET_DECL_CONST_CORRESPONDING_VAR (gnu_decl, gnu_corr_var);
}
- /* If this is declared in a block that contains an block with an
+ /* If this is declared in a block that contains a block with an
exception handler, we must force this variable in memory to
suppress an invalid optimization. */
if (Has_Nested_Block_With_Handler (Scope (gnat_entity))
- && Exception_Mechanism != GCC_ZCX)
+ && Exception_Mechanism != Back_End_Exceptions)
TREE_ADDRESSABLE (gnu_decl) = 1;
/* Back-annotate the Alignment of the object if not already in the
@@ -5168,7 +5176,7 @@ gnat_to_gnu_field (Entity_Id gnat_field, tree gnu_record_type, int packed,
/* Compute whether we should avoid the substitution. */
int reject =
- /* There is no point subtituting if there is no change. */
+ /* There is no point substituting if there is no change. */
(gnu_packable_type == gnu_field_type
||
/* The size of an aliased field must be an exact multiple of the
diff --git a/gcc/ada/fe.h b/gcc/ada/fe.h
index 523951939f0..5e49ab9c6e7 100644
--- a/gcc/ada/fe.h
+++ b/gcc/ada/fe.h
@@ -155,7 +155,7 @@ extern Boolean In_Same_Source_Unit (Node_Id, Node_Id);
#define Exception_Mechanism opt__exception_mechanism
#define Back_Annotate_Rep_Info opt__back_annotate_rep_info
-typedef enum {Setjmp_Longjmp, Front_End_ZCX, GCC_ZCX} Exception_Mechanism_Type;
+typedef enum {Setjmp_Longjmp, Back_End_Exceptions} Exception_Mechanism_Type;
extern Boolean Global_Discard_Names;
extern Boolean Exception_Locations_Suppressed;
diff --git a/gcc/ada/init.c b/gcc/ada/init.c
index fb08c8bff15..8e2a222bf99 100644
--- a/gcc/ada/init.c
+++ b/gcc/ada/init.c
@@ -80,10 +80,6 @@ extern void (*Lock_Task) (void);
#define Unlock_Task system__soft_links__unlock_task
extern void (*Unlock_Task) (void);
-#define Get_Machine_State_Addr \
- system__soft_links__get_machine_state_addr
-extern struct Machine_State *(*Get_Machine_State_Addr) (void);
-
#define Check_Abort_Status \
system__soft_links__check_abort_status
extern int (*Check_Abort_Status) (void);
@@ -92,12 +88,6 @@ extern int (*Check_Abort_Status) (void);
ada__exceptions__raise_from_signal_handler
extern void Raise_From_Signal_Handler (struct Exception_Data *, const char *);
-#define Propagate_Signal_Exception \
- __gnat_propagate_sig_exc
-extern void Propagate_Signal_Exception (struct Machine_State *,
- struct Exception_Data *,
- const char *);
-
/* Copies of global values computed by the binder */
int __gl_main_priority = -1;
int __gl_time_slice_val = -1;
@@ -117,6 +107,12 @@ int __gl_detect_blocking = 0;
installed by a previous call to adainit */
int __gnat_handler_installed = 0;
+#ifndef IN_RTS
+int __gnat_inside_elab_final_code = 0;
+/* ??? This variable is obsolete since 2001-08-29 but is kept to allow
+ bootstrap from old GNAT versions (< 3.15). */
+#endif
+
/* HAVE_GNAT_INIT_FLOAT must be set on every targets where a __gnat_init_float
is defined. If this is not set them a void implementation will be defined
at the end of this unit. */
@@ -282,7 +278,7 @@ __gnat_set_globals (int main_priority,
as the faulting instruction address in the corresponding signal context
pushed by the kernel. Leaving this address untouched may loose, because if
the triggering instruction happens to be the very first of a region, the
- later adjustements performed by the unwinder would yield an address outside
+ later adjustments performed by the unwinder would yield an address outside
that region. We need to compensate for those adjustments at some point,
which we currently do in the GCC unwinding fallback macro.
@@ -405,18 +401,14 @@ __gnat_install_handler (void)
static void __gnat_error_handler (int, siginfo_t *, struct sigcontext *);
extern char *__gnat_get_code_loc (struct sigcontext *);
extern void __gnat_set_code_loc (struct sigcontext *, char *);
-extern void __gnat_enter_handler (struct sigcontext *, char *);
extern size_t __gnat_machine_state_length (void);
-extern long exc_lookup_gp (char *);
-extern void exc_resume (struct sigcontext *);
-
static void
-__gnat_error_handler (int sig, siginfo_t *sip, struct sigcontext *context)
+__gnat_error_handler
+ (int sig, siginfo_t *sip, struct sigcontext *context ATTRIBUTE_UNUSED)
{
struct Exception_Data *exception;
static int recurse = 0;
- struct sigcontext *mstate;
const char *msg;
/* If this was an explicit signal from a "kill", just resignal it. */
@@ -474,10 +466,6 @@ __gnat_error_handler (int sig, siginfo_t *sip, struct sigcontext *context)
}
recurse = 0;
- mstate = (struct sigcontext *) (*Get_Machine_State_Addr) ();
- if (mstate != 0)
- *mstate = *context;
-
Raise_From_Signal_Handler (exception, (char *) msg);
}
@@ -526,14 +514,6 @@ __gnat_set_code_loc (struct sigcontext *context, char *pc)
}
-void
-__gnat_enter_handler (struct sigcontext *context, char *pc)
-{
- context->sc_pc = (long) pc;
- context->sc_regs[SC_GP] = exc_lookup_gp (pc);
- exc_resume (context);
-}
-
size_t
__gnat_machine_state_length (void)
{
@@ -569,10 +549,11 @@ __gnat_adjust_context_for_raise (int signo ATTRIBUTE_UNUSED, void *ucontext)
}
static void
-__gnat_error_handler (int sig, siginfo_t *siginfo, void *ucontext)
+__gnat_error_handler
+ (int sig, siginfo_t *siginfo ATTRIBUTE_UNUSED, void *ucontext)
{
struct Exception_Data *exception;
- char *msg;
+ const char *msg;
switch (sig)
{
@@ -800,7 +781,7 @@ static void
__gnat_error_handler (int sig)
{
struct Exception_Data *exception;
- char *msg;
+ const char *msg;
switch (sig)
{
@@ -870,11 +851,6 @@ __gnat_install_handler (void)
#define SIGNAL_STACK_SIZE 4096
#define SIGNAL_STACK_ALIGNMENT 64
-struct Machine_State
-{
- sigcontext_t context;
-};
-
static void __gnat_error_handler (int, int, sigcontext_t *);
/* We are not setting the SA_SIGINFO bit in the sigaction flags when
@@ -890,9 +866,8 @@ static void __gnat_error_handler (int, int, sigcontext_t *);
*/
static void
-__gnat_error_handler (int sig, int code, sigcontext_t *sc)
+__gnat_error_handler (int sig, int code, sigcontext_t *sc ATTRIBUTE_UNUSED)
{
- struct Machine_State *mstate;
struct Exception_Data *exception;
const char *msg;
@@ -967,10 +942,6 @@ __gnat_error_handler (int sig, int code, sigcontext_t *sc)
msg = "unhandled signal";
}
- mstate = (*Get_Machine_State_Addr) ();
- if (mstate != 0)
- memcpy ((void *) mstate, (const void *) sc, sizeof (sigcontext_t));
-
Raise_From_Signal_Handler (exception, msg);
}
@@ -1137,7 +1108,7 @@ extern char *__gnat_error_prehandler_stack; /* Alternate signal stack */
/* Define macro symbols for the VMS conditions that become Ada exceptions.
Most of these are also defined in the header file ssdef.h which has not
- yet been converted to be recoginized by Gnu C. */
+ yet been converted to be recognized by Gnu C. */
/* Defining these as macros, as opposed to external addresses, allows
them to be used in a case statement (below */
@@ -1155,7 +1126,7 @@ extern int LIB$_ACTIMAGE;
extern int MTH$_FLOOVEMAT; /* Some ACVC_21 CXA tests */
/* These codes are non standard, which is to say the author is
- not sure if they are defined in the standar message libraries
+ not sure if they are defined in the standard message libraries
so keep them as macros for now. */
#define RDB$_STREAM_EOF 20480426
#define FDL$_UNPRIKW 11829410
@@ -1315,7 +1286,7 @@ static const struct cond_except cond_except_table [] = {
??? This is not a perfect solution to deal with the possible
interactions between the GNAT and the DECAda exception handling
models and better (more general) schemes are studied. This is so
- just provided as a conveniency workaround in the meantime, and
+ just provided as a convenient workaround in the meantime, and
should be use with caution since the implementation has been kept
very simple. */
@@ -1389,7 +1360,7 @@ copy_msg (msgdesc, message)
/* Check for buffer overflow and truncate if necessary */
copy_len = (len + msgdesc->len <= Default_Exception_Msg_Max_Length - 1 ?
msgdesc->len :
- len + msgdesc->len - Default_Exception_Msg_Max_Length);
+ Default_Exception_Msg_Max_Length - 1 - len);
strncpy (&message [len], msgdesc->adr, copy_len);
message [len + copy_len] = 0;
@@ -1404,10 +1375,9 @@ __gnat_error_handler (int *sigargs, void *mechargs)
struct descriptor_s gnat_facility = {4,0,"GNAT"};
char message [Default_Exception_Msg_Max_Length];
- char *msg = "";
+ const char *msg = "";
char curr_icb[544];
long curr_invo_handle;
- long *mstate;
/* Check for conditions to resignal which aren't effected by pragma
Import_Exception. */
@@ -1423,7 +1393,11 @@ __gnat_error_handler (int *sigargs, void *mechargs)
if (exception)
{
message [0] = 0;
+
+ /* Subtract PC & PSL fields which messes with PUTMSG */
+ sigargs [0] -= 2;
SYS$PUTMSG (sigargs, copy_msg, &gnat_facility, message);
+ sigargs [0] += 2;
msg = message;
exception->Name_Length = 19;
@@ -1470,24 +1444,20 @@ __gnat_error_handler (int *sigargs, void *mechargs)
{
int i;
- /* Scan the DEC Ada exception condition table for a match and fetch the
- associated GNAT exception pointer */
+ /* Scan the DEC Ada exception condition table for a match and fetch
+ the associated GNAT exception pointer */
for (i = 0;
dec_ada_cond_except_table [i].cond &&
- !LIB$MATCH_COND (&sigargs [1], &dec_ada_cond_except_table [i].cond);
+ !LIB$MATCH_COND (&sigargs [1],
+ &dec_ada_cond_except_table [i].cond);
i++);
- exception = (struct Exception_Data *) dec_ada_cond_except_table [i].except;
-
- if (exception)
- /* DEC Ada exceptions never have a PC and PSL appended, but LIB$STOP
- (which is how we got here from Bliss code)
- allows slots for them and the result is 2 words of garbage on the
- end, so the count must be decremented. */
- sigargs [0] -= 2;
- else
+ exception = (struct Exception_Data *)
+ dec_ada_cond_except_table [i].except;
+
+ if (!exception)
{
- /* Scan the VMS standard condition table for a match and fetch the
- associated GNAT exception pointer */
+ /* Scan the VMS standard condition table for a match and fetch
+ the associated GNAT exception pointer */
for (i = 0;
cond_except_table [i].cond &&
!LIB$MATCH_COND (&sigargs [1], &cond_except_table [i].cond);
@@ -1504,20 +1474,14 @@ __gnat_error_handler (int *sigargs, void *mechargs)
exception = &program_error;
#endif
message [0] = 0;
+ /* Subtract PC & PSL fields which messes with PUTMSG */
+ sigargs [0] -= 2;
SYS$PUTMSG (sigargs, copy_msg, &gnat_facility, message);
+ sigargs [0] += 2;
msg = message;
break;
}
- mstate = (long *) (*Get_Machine_State_Addr) ();
- if (mstate != 0)
- {
- lib_get_curr_invo_context (&curr_icb);
- lib_get_prev_invo_context (&curr_icb);
- lib_get_prev_invo_context (&curr_icb);
- curr_invo_handle = lib_get_invo_handle (&curr_icb);
- *mstate = curr_invo_handle;
- }
Raise_From_Signal_Handler (exception, msg);
}
@@ -1618,21 +1582,37 @@ __gnat_install_handler ()
#include <signal.h>
#include <taskLib.h>
+
+#ifndef __RTP__
#include <intLib.h>
#include <iv.h>
+#endif
#ifdef VTHREADS
#include "private/vThreadsP.h"
#endif
-extern int __gnat_inum_to_ivec (int);
static void __gnat_error_handler (int, int, struct sigcontext *);
void __gnat_map_signal (int);
-#ifndef __alpha_vxworks
+#ifndef __RTP__
+
+/* Directly vectored Interrupt routines are not supported when using RTPs */
+
+extern int __gnat_inum_to_ivec (int);
+
+/* This is needed by the GNAT run time to handle Vxworks interrupts */
+int
+__gnat_inum_to_ivec (int num)
+{
+ return INUM_TO_IVEC (num);
+}
+#endif
+
+#if !defined(__alpha_vxworks) && (_WRS_VXWORKS_MAJOR != 6) && !defined(__RTP__)
/* getpid is used by s-parint.adb, but is not defined by VxWorks, except
- on Alpha VxWorks */
+ on Alpha VxWorks and VxWorks 6.x (including RTPs). */
extern long getpid (void);
@@ -1643,13 +1623,6 @@ getpid (void)
}
#endif
-/* This is needed by the GNAT run time to handle Vxworks interrupts */
-int
-__gnat_inum_to_ivec (int num)
-{
- return INUM_TO_IVEC (num);
-}
-
/* VxWorks expects the field excCnt to be zeroed when a signal is handled.
The VxWorks version of longjmp does this; gcc's builtin_longjmp does not */
void
@@ -1662,13 +1635,13 @@ __gnat_clear_exception_count (void)
#endif
}
-/* Exported to 5zintman.adb in order to handle different signal
+/* Exported to s-intman-vxworks.adb in order to handle different signal
to exception mappings in different VxWorks versions */
void
__gnat_map_signal (int sig)
{
struct Exception_Data *exception;
- char *msg;
+ const char *msg;
switch (sig)
{
@@ -1767,7 +1740,7 @@ __gnat_init_float (void)
asm ("mtfsb0 26");
#endif
- /* Similarily for sparc64. Achieved by masking bits in the Trap Enable Mask
+ /* Similarly for sparc64. Achieved by masking bits in the Trap Enable Mask
field of the Floating-point Status Register (see the Sparc Architecture
Manual Version 9, p 48). */
#if defined (sparc64)
diff --git a/gcc/ada/initialize.c b/gcc/ada/initialize.c
index 266e0c4b981..9d00698b37f 100644
--- a/gcc/ada/initialize.c
+++ b/gcc/ada/initialize.c
@@ -123,7 +123,7 @@ __gnat_initialize (void *eh)
constructor fashion, typically triggered by the VxWorks loader. This is
achieved by way of a special variable declaration in the crt object, the
name of which has been deduced by analyzing the output of the "munching"
- step documented for C++. The de-registration is handled symetrically,
+ step documented for C++. The de-registration is handled symmetrically,
a-la C++ destructor fashion and typically triggered by the dynamic
unloader. Note that since the tables shall be registered against a
common datastructure, libgcc should be one of the modules (vs beeing
diff --git a/gcc/ada/s-stalib.adb b/gcc/ada/s-stalib.adb
index c26e3efebaf..d1a0a6f1c5a 100644
--- a/gcc/ada/s-stalib.adb
+++ b/gcc/ada/s-stalib.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1995-2004 Free Software Foundation, Inc. --
+-- Copyright (C) 1995-2005 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- --
@@ -36,13 +36,13 @@
-- of System.Standard_Library, since this would cause order of elaboration
-- problems (Elaborate_Body would have the same problem).
-pragma Warnings (Off);
--- Kill warnings from unused withs
-
pragma Polling (Off);
-- We must turn polling off for this unit, because otherwise we get
-- elaboration circularities with Ada.Exceptions if polling is on.
+pragma Warnings (Off);
+-- Kill warnings from unused withs
+
with System.Soft_Links;
-- Referenced directly from generated code using external symbols so it
-- must always be present in a build, even if no unit has a direct with
@@ -56,17 +56,14 @@ with System.Memory;
-- must always be present in a build, even if no unit has a direct with
-- of this unit.
+pragma Warnings (On);
+
package body System.Standard_Library is
Runtime_Finalized : Boolean := False;
-- Set to True when adafinal is called. Used to ensure that subsequent
-- calls to adafinal after the first have no effect.
- Inside_Elab_Final_Code : Integer := 0;
- pragma Export (C, Inside_Elab_Final_Code, "__gnat_inside_elab_final_code");
- -- ???This variable is obsolete since 2001-08-29 but cannot be removed
- -- ???right away due to the bootstrap problems
-
--------------------------
-- Abort_Undefer_Direct --
--------------------------
diff --git a/gcc/ada/system-linux-alpha.ads b/gcc/ada/system-linux-alpha.ads
index 3f058103585..89f8c1f2da9 100644
--- a/gcc/ada/system-linux-alpha.ads
+++ b/gcc/ada/system-linux-alpha.ads
@@ -5,7 +5,7 @@
-- S Y S T E M --
-- --
-- S p e c --
--- (GNU-Linux/ia64 Version) --
+-- (GNU-Linux/alpha Version) --
-- --
-- Copyright (C) 1992-2005 Free Software Foundation, Inc. --
-- --
diff --git a/gcc/ada/trans.c b/gcc/ada/trans.c
index 961425224e8..fb741a3e030 100644
--- a/gcc/ada/trans.c
+++ b/gcc/ada/trans.c
@@ -234,7 +234,7 @@ gigi (Node_Id gnat_root, int max_gnat_node, int number_name,
#endif
/* If we are using the GCC exception mechanism, let GCC know. */
- if (Exception_Mechanism == GCC_ZCX)
+ if (Exception_Mechanism == Back_End_Exceptions)
gnat_init_gcc_eh ();
gcc_assert (Nkind (gnat_root) == N_Compilation_Unit);
@@ -285,8 +285,6 @@ gnat_init_stmt_group ()
/* Enable GNAT stack checking method if needed */
if (!Stack_Check_Probes_On_Target)
set_stack_check_libfunc (gen_rtx_SYMBOL_REF (Pmode, "_gnat_stack_check"));
-
- gcc_assert (Exception_Mechanism != Front_End_ZCX);
}
/* Subroutine of gnat_to_gnu to translate gnat_node, an N_Identifier,
@@ -2020,7 +2018,7 @@ Handled_Sequence_Of_Statements_to_gnu (Node_Id gnat_node)
/* If just annotating, ignore all EH and cleanups. */
bool gcc_zcx = (!type_annotate_only
&& Present (Exception_Handlers (gnat_node))
- && Exception_Mechanism == GCC_ZCX);
+ && Exception_Mechanism == Back_End_Exceptions);
bool setjmp_longjmp
= (!type_annotate_only && Present (Exception_Handlers (gnat_node))
&& Exception_Mechanism == Setjmp_Longjmp);
@@ -3119,7 +3117,7 @@ gnat_to_gnu (Node_Id gnat_node)
if (align != 0 && align < oalign && !TYPE_ALIGN_OK (gnu_obj_type))
post_error_ne_tree_2
- ("?source alignment (^) < alignment of & (^)",
+ ("?source alignment (^) '< alignment of & (^)",
gnat_node, Designated_Type (Etype (gnat_node)),
size_int (align / BITS_PER_UNIT), oalign / BITS_PER_UNIT);
}
@@ -3800,7 +3798,7 @@ gnat_to_gnu (Node_Id gnat_node)
case N_Exception_Handler:
if (Exception_Mechanism == Setjmp_Longjmp)
gnu_result = Exception_Handler_to_gnu_sjlj (gnat_node);
- else if (Exception_Mechanism == GCC_ZCX)
+ else if (Exception_Mechanism == Back_End_Exceptions)
gnu_result = Exception_Handler_to_gnu_zcx (gnat_node);
else
gcc_unreachable ();
@@ -5342,9 +5340,8 @@ convert_with_check (Entity_Id gnat_type, tree gnu_expr, bool overflowp,
}
/* Return 1 if GNU_EXPR can be directly addressed. This is the case unless
- it is an expression involving computation or if it involves a bitfield
- reference. This returns the same as gnat_mark_addressable in most
- cases. */
+ it is an expression involving computation or if it involves a reference
+ to a bitfield or to a field not sufficiently aligned for its type. */
static bool
addressable_p (tree gnu_expr)
@@ -5368,8 +5365,15 @@ addressable_p (tree gnu_expr)
case COMPONENT_REF:
return (!DECL_BIT_FIELD (TREE_OPERAND (gnu_expr, 1))
- && !(STRICT_ALIGNMENT
- && DECL_NONADDRESSABLE_P (TREE_OPERAND (gnu_expr, 1)))
+ && (!STRICT_ALIGNMENT
+ /* If the field was marked as "semantically" addressable
+ in create_field_decl, we are guaranteed that it can
+ be directly addressed. */
+ || !DECL_NONADDRESSABLE_P (TREE_OPERAND (gnu_expr, 1))
+ /* Otherwise it can nevertheless be directly addressed
+ if it has been sufficiently aligned in the record. */
+ || DECL_ALIGN (TREE_OPERAND (gnu_expr, 1))
+ >= TYPE_ALIGN (TREE_TYPE (gnu_expr)))
&& addressable_p (TREE_OPERAND (gnu_expr, 0)));
case ARRAY_REF: case ARRAY_RANGE_REF:
diff --git a/gcc/ada/utils.c b/gcc/ada/utils.c
index baec9ff82cb..1bf00075e54 100644
--- a/gcc/ada/utils.c
+++ b/gcc/ada/utils.c
@@ -712,7 +712,7 @@ finish_record_type (tree record_type, tree fieldlist, bool has_rep,
tree this_ada_size = DECL_SIZE (field);
/* We need to make an XVE/XVU record if any field has variable size,
- whether or not the record does. For example, if we have an union,
+ whether or not the record does. For example, if we have a union,
it may be that all fields, rounded up to the alignment, have the
same size, in which case we'll use that size. But the debug
output routines (except Dwarf2) won't be able to output the fields,
@@ -826,7 +826,7 @@ write_record_type_debug_info (tree record_type)
for (field = fieldlist; field; field = TREE_CHAIN (field))
{
/* We need to make an XVE/XVU record if any field has variable size,
- whether or not the record does. For example, if we have an union,
+ whether or not the record does. For example, if we have a union,
it may be that all fields, rounded up to the alignment, have the
same size, in which case we'll use that size. But the debug
output routines (except Dwarf2) won't be able to output the fields,
diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c
index 76faedaaee3..c5de2352fa2 100644
--- a/gcc/bb-reorder.c
+++ b/gcc/bb-reorder.c
@@ -758,7 +758,7 @@ copy_bb (basic_block old_bb, edge e, basic_block bb, int trace)
{
basic_block new_bb;
- new_bb = duplicate_block (old_bb, e);
+ new_bb = duplicate_block (old_bb, e, bb);
BB_COPY_PARTITION (new_bb, old_bb);
gcc_assert (e->dest == new_bb);
@@ -2072,7 +2072,7 @@ duplicate_computed_gotos (void)
if (!bitmap_bit_p (candidates, single_succ (bb)->index))
continue;
- new_bb = duplicate_block (single_succ (bb), single_succ_edge (bb));
+ new_bb = duplicate_block (single_succ (bb), single_succ_edge (bb), bb);
new_bb->aux = bb->aux;
bb->aux = new_bb;
new_bb->il.rtl->visited = 1;
@@ -2086,7 +2086,7 @@ done:
struct tree_opt_pass pass_duplicate_computed_gotos =
{
- NULL, /* name */
+ "compgotos", /* name */
gate_duplicate_computed_gotos, /* gate */
duplicate_computed_gotos, /* execute */
NULL, /* sub */
@@ -2097,7 +2097,7 @@ struct tree_opt_pass pass_duplicate_computed_gotos =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- 0, /* todo_flags_finish */
+ TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};
@@ -2276,7 +2276,7 @@ rest_of_handle_partition_blocks (void)
struct tree_opt_pass pass_partition_blocks =
{
- NULL, /* name */
+ "bbpart", /* name */
gate_handle_partition_blocks, /* gate */
rest_of_handle_partition_blocks, /* execute */
NULL, /* sub */
@@ -2287,7 +2287,7 @@ struct tree_opt_pass pass_partition_blocks =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- 0, /* todo_flags_finish */
+ TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};
diff --git a/gcc/bitmap.c b/gcc/bitmap.c
index e587c24bda2..3ee8bbd63bc 100644
--- a/gcc/bitmap.c
+++ b/gcc/bitmap.c
@@ -1217,16 +1217,14 @@ debug_bitmap_file (FILE *file, bitmap head)
{
bitmap_element *ptr;
- fprintf (file, "\nfirst = " HOST_PTR_PRINTF
- " current = " HOST_PTR_PRINTF " indx = %u\n",
+ fprintf (file, "\nfirst = %p current = %p indx = %u\n",
(void *) head->first, (void *) head->current, head->indx);
for (ptr = head->first; ptr; ptr = ptr->next)
{
unsigned int i, j, col = 26;
- fprintf (file, "\t" HOST_PTR_PRINTF " next = " HOST_PTR_PRINTF
- " prev = " HOST_PTR_PRINTF " indx = %u\n\t\tbits = {",
+ fprintf (file, "\t%p next = %p prev = %p indx = %u\n\t\tbits = {",
(void*) ptr, (void*) ptr->next, (void*) ptr->prev, ptr->indx);
for (i = 0; i < BITMAP_ELEMENT_WORDS; i++)
diff --git a/gcc/builtins.c b/gcc/builtins.c
index b032fc43784..da8c1d41c7e 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -75,7 +75,7 @@ static int get_pointer_alignment (tree, unsigned int);
static const char *c_getstr (tree);
static rtx c_readstr (const char *, enum machine_mode);
static int target_char_cast (tree, char *);
-static rtx get_memory_rtx (tree);
+static rtx get_memory_rtx (tree, tree);
static tree build_string_literal (int, const char *);
static int apply_args_size (void);
static int apply_result_size (void);
@@ -113,7 +113,7 @@ static rtx expand_builtin_memcpy (tree, rtx, enum machine_mode);
static rtx expand_builtin_mempcpy (tree, tree, rtx, enum machine_mode, int);
static rtx expand_builtin_memmove (tree, tree, rtx, enum machine_mode, tree);
static rtx expand_builtin_bcopy (tree);
-static rtx expand_builtin_strcpy (tree, rtx, enum machine_mode);
+static rtx expand_builtin_strcpy (tree, tree, rtx, enum machine_mode);
static rtx expand_builtin_stpcpy (tree, rtx, enum machine_mode);
static rtx builtin_strncpy_read_str (void *, HOST_WIDE_INT, enum machine_mode);
static rtx expand_builtin_strncpy (tree, rtx, enum machine_mode);
@@ -431,7 +431,7 @@ c_readstr (const char *str, enum machine_mode mode)
}
/* Cast a target constant CST to target CHAR and if that value fits into
- host char type, return zero and put that value into variable pointed by
+ host char type, return zero and put that value into variable pointed to by
P. */
static int
@@ -485,7 +485,22 @@ expand_builtin_return_addr (enum built_in_function fndecl_code, int count)
#ifdef INITIAL_FRAME_ADDRESS_RTX
rtx tem = INITIAL_FRAME_ADDRESS_RTX;
#else
- rtx tem = hard_frame_pointer_rtx;
+ rtx tem;
+
+ /* For a zero count, we don't care what frame address we return, so frame
+ pointer elimination is OK, and using the soft frame pointer is OK.
+ For a non-zero count, we require a stable offset from the current frame
+ pointer to the previous one, so we must use the hard frame pointer, and
+ we must disable frame pointer elimination. */
+ if (count == 0)
+ tem = frame_pointer_rtx;
+ else
+ {
+ tem = hard_frame_pointer_rtx;
+
+ /* Tell reload not to eliminate the frame pointer. */
+ current_function_accesses_prior_frames = 1;
+ }
#endif
/* Some machines need special handling before we can access
@@ -998,10 +1013,12 @@ expand_builtin_prefetch (tree arglist)
}
/* Get a MEM rtx for expression EXP which is the address of an operand
- to be used to be used in a string instruction (cmpstrsi, movmemsi, ..). */
+ to be used in a string instruction (cmpstrsi, movmemsi, ..). LEN is
+ the maximum length of the block of memory that might be accessed or
+ NULL if unknown. */
static rtx
-get_memory_rtx (tree exp)
+get_memory_rtx (tree exp, tree len)
{
rtx addr = expand_expr (exp, NULL_RTX, ptr_mode, EXPAND_NORMAL);
rtx mem = gen_rtx_MEM (BLKmode, memory_address (BLKmode, addr));
@@ -1027,6 +1044,80 @@ get_memory_rtx (tree exp)
if (exp)
{
set_mem_attributes (mem, exp, 0);
+
+ /* Allow the string and memory builtins to overflow from one
+ field into another, see http://gcc.gnu.org/PR23561.
+ Thus avoid COMPONENT_REFs in MEM_EXPR unless we know the whole
+ memory accessed by the string or memory builtin will fit
+ within the field. */
+ if (MEM_EXPR (mem) && TREE_CODE (MEM_EXPR (mem)) == COMPONENT_REF)
+ {
+ tree mem_expr = MEM_EXPR (mem);
+ HOST_WIDE_INT offset = -1, length = -1;
+ tree inner = exp;
+
+ while (TREE_CODE (inner) == ARRAY_REF
+ || TREE_CODE (inner) == NOP_EXPR
+ || TREE_CODE (inner) == CONVERT_EXPR
+ || TREE_CODE (inner) == NON_LVALUE_EXPR
+ || TREE_CODE (inner) == VIEW_CONVERT_EXPR
+ || TREE_CODE (inner) == SAVE_EXPR)
+ inner = TREE_OPERAND (inner, 0);
+
+ gcc_assert (TREE_CODE (inner) == COMPONENT_REF);
+
+ if (MEM_OFFSET (mem)
+ && GET_CODE (MEM_OFFSET (mem)) == CONST_INT)
+ offset = INTVAL (MEM_OFFSET (mem));
+
+ if (offset >= 0 && len && host_integerp (len, 0))
+ length = tree_low_cst (len, 0);
+
+ while (TREE_CODE (inner) == COMPONENT_REF)
+ {
+ tree field = TREE_OPERAND (inner, 1);
+ gcc_assert (! DECL_BIT_FIELD (field));
+ gcc_assert (TREE_CODE (mem_expr) == COMPONENT_REF);
+ gcc_assert (field == TREE_OPERAND (mem_expr, 1));
+
+ if (length >= 0
+ && TYPE_SIZE_UNIT (TREE_TYPE (inner))
+ && host_integerp (TYPE_SIZE_UNIT (TREE_TYPE (inner)), 0))
+ {
+ HOST_WIDE_INT size
+ = tree_low_cst (TYPE_SIZE_UNIT (TREE_TYPE (inner)), 0);
+ /* If we can prove the memory starting at XEXP (mem, 0)
+ and ending at XEXP (mem, 0) + LENGTH will fit into
+ this field, we can keep that COMPONENT_REF in MEM_EXPR. */
+ if (offset <= size
+ && length <= size
+ && offset + length <= size)
+ break;
+ }
+
+ if (offset >= 0
+ && host_integerp (DECL_FIELD_OFFSET (field), 0))
+ offset += tree_low_cst (DECL_FIELD_OFFSET (field), 0)
+ + tree_low_cst (DECL_FIELD_BIT_OFFSET (field), 1)
+ / BITS_PER_UNIT;
+ else
+ {
+ offset = -1;
+ length = -1;
+ }
+
+ mem_expr = TREE_OPERAND (mem_expr, 0);
+ inner = TREE_OPERAND (inner, 0);
+ }
+
+ if (mem_expr == NULL)
+ offset = -1;
+ if (mem_expr != MEM_EXPR (mem))
+ {
+ set_mem_expr (mem, mem_expr);
+ set_mem_offset (mem, offset >= 0 ? GEN_INT (offset) : NULL_RTX);
+ }
+ }
set_mem_alias_set (mem, 0);
set_mem_size (mem, NULL_RTX);
}
@@ -2793,7 +2884,7 @@ expand_builtin_memcpy (tree exp, rtx target, enum machine_mode mode)
if (src_align == 0)
return 0;
- dest_mem = get_memory_rtx (dest);
+ dest_mem = get_memory_rtx (dest, len);
set_mem_align (dest_mem, dest_align);
len_rtx = expand_expr (len, NULL_RTX, VOIDmode, 0);
src_str = c_getstr (src);
@@ -2815,7 +2906,7 @@ expand_builtin_memcpy (tree exp, rtx target, enum machine_mode mode)
return dest_mem;
}
- src_mem = get_memory_rtx (src);
+ src_mem = get_memory_rtx (src, len);
set_mem_align (src_mem, src_align);
/* Copy word part most expediently. */
@@ -2894,7 +2985,7 @@ expand_builtin_mempcpy (tree arglist, tree type, rtx target, enum machine_mode m
&& can_store_by_pieces (INTVAL (len_rtx), builtin_memcpy_read_str,
(void *) src_str, dest_align))
{
- dest_mem = get_memory_rtx (dest);
+ dest_mem = get_memory_rtx (dest, len);
set_mem_align (dest_mem, dest_align);
dest_mem = store_by_pieces (dest_mem, INTVAL (len_rtx),
builtin_memcpy_read_str,
@@ -2908,9 +2999,9 @@ expand_builtin_mempcpy (tree arglist, tree type, rtx target, enum machine_mode m
&& can_move_by_pieces (INTVAL (len_rtx),
MIN (dest_align, src_align)))
{
- dest_mem = get_memory_rtx (dest);
+ dest_mem = get_memory_rtx (dest, len);
set_mem_align (dest_mem, dest_align);
- src_mem = get_memory_rtx (src);
+ src_mem = get_memory_rtx (src, len);
set_mem_align (src_mem, src_align);
dest_mem = move_by_pieces (dest_mem, src_mem, INTVAL (len_rtx),
MIN (dest_align, src_align), endp);
@@ -3038,8 +3129,8 @@ expand_movstr (tree dest, tree src, rtx target, int endp)
if (!HAVE_movstr)
return 0;
- dest_mem = get_memory_rtx (dest);
- src_mem = get_memory_rtx (src);
+ dest_mem = get_memory_rtx (dest, NULL);
+ src_mem = get_memory_rtx (src, NULL);
if (!endp)
{
target = force_reg (Pmode, XEXP (dest_mem, 0));
@@ -3087,10 +3178,8 @@ expand_movstr (tree dest, tree src, rtx target, int endp)
convenient). */
static rtx
-expand_builtin_strcpy (tree exp, rtx target, enum machine_mode mode)
+expand_builtin_strcpy (tree fndecl, tree arglist, rtx target, enum machine_mode mode)
{
- tree fndecl = get_callee_fndecl (exp);
- tree arglist = TREE_OPERAND (exp, 1);
if (validate_arglist (arglist, POINTER_TYPE, POINTER_TYPE, VOID_TYPE))
{
tree result = fold_builtin_strcpy (fndecl, arglist, 0);
@@ -3159,7 +3248,8 @@ expand_builtin_stpcpy (tree exp, rtx target, enum machine_mode mode)
if (GET_CODE (len_rtx) == CONST_INT)
{
- ret = expand_builtin_strcpy (exp, target, mode);
+ ret = expand_builtin_strcpy (get_callee_fndecl (exp),
+ arglist, target, mode);
if (ret)
{
@@ -3245,7 +3335,7 @@ expand_builtin_strncpy (tree exp, rtx target, enum machine_mode mode)
(void *) p, dest_align))
return 0;
- dest_mem = get_memory_rtx (dest);
+ dest_mem = get_memory_rtx (dest, len);
store_by_pieces (dest_mem, tree_low_cst (len, 1),
builtin_strncpy_read_str,
(void *) p, dest_align, 0);
@@ -3336,7 +3426,7 @@ expand_builtin_memset (tree arglist, rtx target, enum machine_mode mode,
}
len_rtx = expand_expr (len, NULL_RTX, VOIDmode, 0);
- dest_mem = get_memory_rtx (dest);
+ dest_mem = get_memory_rtx (dest, len);
if (TREE_CODE (val) != INTEGER_CST)
{
@@ -3487,8 +3577,8 @@ expand_builtin_memcmp (tree exp ATTRIBUTE_UNUSED, tree arglist, rtx target,
&& REGNO (result) >= FIRST_PSEUDO_REGISTER))
result = gen_reg_rtx (insn_mode);
- arg1_rtx = get_memory_rtx (arg1);
- arg2_rtx = get_memory_rtx (arg2);
+ arg1_rtx = get_memory_rtx (arg1, len);
+ arg2_rtx = get_memory_rtx (arg2, len);
arg3_rtx = expand_expr (len, NULL_RTX, VOIDmode, 0);
/* Set MEM_SIZE as appropriate. */
@@ -3581,8 +3671,8 @@ expand_builtin_strcmp (tree exp, rtx target, enum machine_mode mode)
arg1 = builtin_save_expr (arg1);
arg2 = builtin_save_expr (arg2);
- arg1_rtx = get_memory_rtx (arg1);
- arg2_rtx = get_memory_rtx (arg2);
+ arg1_rtx = get_memory_rtx (arg1, NULL);
+ arg2_rtx = get_memory_rtx (arg2, NULL);
#ifdef HAVE_cmpstrsi
/* Try to call cmpstrsi. */
@@ -3786,8 +3876,8 @@ expand_builtin_strncmp (tree exp, rtx target, enum machine_mode mode)
arg2 = builtin_save_expr (arg2);
len = builtin_save_expr (len);
- arg1_rtx = get_memory_rtx (arg1);
- arg2_rtx = get_memory_rtx (arg2);
+ arg1_rtx = get_memory_rtx (arg1, len);
+ arg2_rtx = get_memory_rtx (arg2, len);
arg3_rtx = expand_expr (len, NULL_RTX, VOIDmode, 0);
insn = gen_cmpstrnsi (result, arg1_rtx, arg2_rtx, arg3_rtx,
GEN_INT (MIN (arg1_align, arg2_align)));
@@ -3825,62 +3915,61 @@ expand_builtin_strncmp (tree exp, rtx target, enum machine_mode mode)
otherwise try to get the result in TARGET, if convenient. */
static rtx
-expand_builtin_strcat (tree arglist, tree type, rtx target, enum machine_mode mode)
+expand_builtin_strcat (tree fndecl, tree arglist, rtx target, enum machine_mode mode)
{
if (!validate_arglist (arglist, POINTER_TYPE, POINTER_TYPE, VOID_TYPE))
return 0;
else
{
tree dst = TREE_VALUE (arglist),
- src = TREE_VALUE (TREE_CHAIN (arglist));
+ src = TREE_VALUE (TREE_CHAIN (arglist));
const char *p = c_getstr (src);
- if (p)
+ /* If the string length is zero, return the dst parameter. */
+ if (p && *p == '\0')
+ return expand_expr (dst, target, mode, EXPAND_NORMAL);
+
+ if (!optimize_size)
{
- /* If the string length is zero, return the dst parameter. */
- if (*p == '\0')
- return expand_expr (dst, target, mode, EXPAND_NORMAL);
- else if (!optimize_size)
+ /* See if we can store by pieces into (dst + strlen(dst)). */
+ tree newsrc, newdst,
+ strlen_fn = implicit_built_in_decls[BUILT_IN_STRLEN];
+ rtx insns;
+
+ /* Stabilize the argument list. */
+ newsrc = builtin_save_expr (src);
+ if (newsrc != src)
+ arglist = build_tree_list (NULL_TREE, newsrc);
+ else
+ arglist = TREE_CHAIN (arglist); /* Reusing arglist if safe. */
+
+ dst = builtin_save_expr (dst);
+
+ start_sequence ();
+
+ /* Create strlen (dst). */
+ newdst =
+ build_function_call_expr (strlen_fn,
+ build_tree_list (NULL_TREE, dst));
+ /* Create (dst + (cast) strlen (dst)). */
+ newdst = fold_convert (TREE_TYPE (dst), newdst);
+ newdst = fold_build2 (PLUS_EXPR, TREE_TYPE (dst), dst, newdst);
+
+ newdst = builtin_save_expr (newdst);
+ arglist = tree_cons (NULL_TREE, newdst, arglist);
+
+ if (!expand_builtin_strcpy (fndecl, arglist, target, mode))
{
- /* Otherwise if !optimize_size, see if we can store by
- pieces into (dst + strlen(dst)). */
- tree newdst, arglist,
- strlen_fn = implicit_built_in_decls[BUILT_IN_STRLEN];
-
- /* This is the length argument. */
- arglist = build_tree_list (NULL_TREE,
- fold (size_binop (PLUS_EXPR,
- c_strlen (src, 0),
- ssize_int (1))));
- /* Prepend src argument. */
- arglist = tree_cons (NULL_TREE, src, arglist);
-
- /* We're going to use dst more than once. */
- dst = builtin_save_expr (dst);
-
- /* Create strlen (dst). */
- newdst =
- fold (build_function_call_expr (strlen_fn,
- build_tree_list (NULL_TREE,
- dst)));
- /* Create (dst + (cast) strlen (dst)). */
- newdst = fold_convert (TREE_TYPE (dst), newdst);
- newdst = fold_build2 (PLUS_EXPR, TREE_TYPE (dst), dst, newdst);
-
- /* Prepend the new dst argument. */
- arglist = tree_cons (NULL_TREE, newdst, arglist);
-
- /* We don't want to get turned into a memcpy if the
- target is const0_rtx, i.e. when the return value
- isn't used. That would produce pessimized code so
- pass in a target of zero, it should never actually be
- used. If this was successful return the original
- dst, not the result of mempcpy. */
- if (expand_builtin_mempcpy (arglist, type, /*target=*/0, mode, /*endp=*/0))
- return expand_expr (dst, target, mode, EXPAND_NORMAL);
- else
- return 0;
+ end_sequence (); /* Stop sequence. */
+ return 0;
}
+
+ /* Output the entire sequence. */
+ insns = get_insns ();
+ end_sequence ();
+ emit_insn (insns);
+
+ return expand_expr (dst, target, mode, EXPAND_NORMAL);
}
return 0;
@@ -5829,7 +5918,7 @@ expand_builtin (tree exp, rtx target, rtx subtarget, enum machine_mode mode,
break;
case BUILT_IN_STRCPY:
- target = expand_builtin_strcpy (exp, target, mode);
+ target = expand_builtin_strcpy (fndecl, arglist, target, mode);
if (target)
return target;
break;
@@ -5847,7 +5936,7 @@ expand_builtin (tree exp, rtx target, rtx subtarget, enum machine_mode mode,
break;
case BUILT_IN_STRCAT:
- target = expand_builtin_strcat (arglist, TREE_TYPE (exp), target, mode);
+ target = expand_builtin_strcat (fndecl, arglist, target, mode);
if (target)
return target;
break;
@@ -8291,9 +8380,8 @@ fold_builtin_isdigit (tree arglist)
arg = fold_convert (unsigned_type_node, TREE_VALUE (arglist));
arg = build2 (MINUS_EXPR, unsigned_type_node, arg,
build_int_cst (unsigned_type_node, target_digit0));
- arg = build2 (LE_EXPR, integer_type_node, arg,
- build_int_cst (unsigned_type_node, 9));
- arg = fold (arg);
+ arg = fold_build2 (LE_EXPR, integer_type_node, arg,
+ build_int_cst (unsigned_type_node, 9));
if (in_gimple_form && !TREE_CONSTANT (arg))
return NULL_TREE;
else
@@ -8912,9 +9000,7 @@ fold_builtin (tree fndecl, tree arglist, bool ignore)
tree exp = fold_builtin_1 (fndecl, arglist, ignore);
if (exp)
{
- /* ??? Don't clobber shared nodes such as integer_zero_node. */
- if (CONSTANT_CLASS_P (exp))
- exp = build1 (NOP_EXPR, TREE_TYPE (exp), exp);
+ exp = build1 (NOP_EXPR, TREE_TYPE (exp), exp);
TREE_NO_WARNING (exp) = 1;
}
@@ -8929,9 +9015,8 @@ build_function_call_expr (tree fn, tree arglist)
tree call_expr;
call_expr = build1 (ADDR_EXPR, build_pointer_type (TREE_TYPE (fn)), fn);
- call_expr = build3 (CALL_EXPR, TREE_TYPE (TREE_TYPE (fn)),
+ return fold_build3 (CALL_EXPR, TREE_TYPE (TREE_TYPE (fn)),
call_expr, arglist, NULL_TREE);
- return fold (call_expr);
}
/* This function validates the types of a function call argument list
@@ -10122,10 +10207,11 @@ fold_builtin_memory_chk (tree fndecl, tree arglist, tree maxlen, bool ignore,
}
return 0;
}
- len = maxlen;
}
+ else
+ maxlen = len;
- if (tree_int_cst_lt (size, len))
+ if (tree_int_cst_lt (size, maxlen))
return 0;
}
@@ -10227,10 +10313,11 @@ fold_builtin_stxcpy_chk (tree fndecl, tree arglist, tree maxlen, bool ignore,
return fold_convert (TREE_TYPE (TREE_TYPE (fndecl)),
build_function_call_expr (fn, arglist));
}
- len = maxlen;
}
-
- if (! tree_int_cst_lt (len, size))
+ else
+ maxlen = len;
+
+ if (! tree_int_cst_lt (maxlen, size))
return 0;
}
@@ -10275,10 +10362,11 @@ fold_builtin_strncpy_chk (tree arglist, tree maxlen)
if SIZE is >= MAXLEN, never convert to __ocs_fail (). */
if (maxlen == NULL_TREE || ! host_integerp (maxlen, 1))
return 0;
- len = maxlen;
}
+ else
+ maxlen = len;
- if (tree_int_cst_lt (size, len))
+ if (tree_int_cst_lt (size, maxlen))
return 0;
}
@@ -10544,10 +10632,11 @@ fold_builtin_snprintf_chk (tree arglist, tree maxlen,
if SIZE is >= MAXLEN, never convert to __ocs_fail (). */
if (maxlen == NULL_TREE || ! host_integerp (maxlen, 1))
return 0;
- len = maxlen;
}
+ else
+ maxlen = len;
- if (tree_int_cst_lt (size, len))
+ if (tree_int_cst_lt (size, maxlen))
return 0;
}
diff --git a/gcc/c-common.c b/gcc/c-common.c
index 10350f3751d..edd744893cb 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -2494,12 +2494,12 @@ c_common_truthvalue_conversion (tree expr)
return build_binary_op (NE_EXPR, expr, integer_zero_node, 1);
}
-static tree builtin_function_2 (const char *builtin_name, const char *name,
- tree builtin_type, tree type,
- enum built_in_function function_code,
- enum built_in_class cl, int library_name_p,
- bool nonansi_p,
- tree attrs);
+static void def_builtin_1 (enum built_in_function fncode,
+ const char *name,
+ enum built_in_class fnclass,
+ tree fntype, tree libtype,
+ bool both_p, bool fallback_p, bool nonansi_p,
+ tree fnattrs, bool implicit_p);
/* Make a variant type in the proper way for C/C++, propagating qualifiers
down to the element type of an array. */
@@ -2951,7 +2951,7 @@ c_common_nodes_and_builtins (void)
typedef enum builtin_type builtin_type;
- tree builtin_types[(int) BT_LAST];
+ tree builtin_types[(int) BT_LAST + 1];
int wchar_type_size;
tree array_domain_type;
tree va_list_ref_type_node;
@@ -3311,42 +3311,18 @@ c_common_nodes_and_builtins (void)
#undef DEF_FUNCTION_TYPE_VAR_4
#undef DEF_FUNCTION_TYPE_VAR_5
#undef DEF_POINTER_TYPE
+ builtin_types[(int) BT_LAST] = NULL_TREE;
c_init_attributes ();
#define DEF_BUILTIN(ENUM, NAME, CLASS, TYPE, LIBTYPE, BOTH_P, FALLBACK_P, \
NONANSI_P, ATTRS, IMPLICIT, COND) \
if (NAME && COND) \
- { \
- tree decl; \
- \
- gcc_assert ((!BOTH_P && !FALLBACK_P) \
- || !strncmp (NAME, "__builtin_", \
- strlen ("__builtin_"))); \
- \
- if (!BOTH_P) \
- decl = lang_hooks.builtin_function (NAME, builtin_types[TYPE], \
- ENUM, \
- CLASS, \
- (FALLBACK_P \
- ? (NAME + strlen ("__builtin_")) \
- : NULL), \
- built_in_attributes[(int) ATTRS]); \
- else \
- decl = builtin_function_2 (NAME, \
- NAME + strlen ("__builtin_"), \
- builtin_types[TYPE], \
- builtin_types[LIBTYPE], \
- ENUM, \
- CLASS, \
- FALLBACK_P, \
- NONANSI_P, \
- built_in_attributes[(int) ATTRS]); \
- \
- built_in_decls[(int) ENUM] = decl; \
- if (IMPLICIT) \
- implicit_built_in_decls[(int) ENUM] = decl; \
- }
+ def_builtin_1 (ENUM, NAME, CLASS, \
+ builtin_types[(int) TYPE], \
+ builtin_types[(int) LIBTYPE], \
+ BOTH_P, FALLBACK_P, NONANSI_P, \
+ built_in_attributes[(int) ATTRS], IMPLICIT);
#include "builtins.def"
#undef DEF_BUILTIN
@@ -3436,42 +3412,39 @@ builtin_function_disabled_p (const char *name)
}
-/* Possibly define a builtin function with one or two names. BUILTIN_NAME
- is an __builtin_-prefixed name; NAME is the ordinary name; one or both
- of these may be NULL (though both being NULL is useless).
- BUILTIN_TYPE is the type of the __builtin_-prefixed function;
- TYPE is the type of the function with the ordinary name. These
- may differ if the ordinary name is declared with a looser type to avoid
- conflicts with headers. FUNCTION_CODE and CL are as for
- builtin_function. If LIBRARY_NAME_P is nonzero, NAME is passed as
- the LIBRARY_NAME parameter to builtin_function when declaring BUILTIN_NAME.
- If NONANSI_P is true, the name NAME is treated as a non-ANSI name;
- ATTRS is the tree list representing the builtin's function attributes.
- Returns the declaration of BUILTIN_NAME, if any, otherwise
- the declaration of NAME. Does not declare NAME if flag_no_builtin,
- or if NONANSI_P and flag_no_nonansi_builtin. */
+/* Worker for DEF_BUILTIN.
+ Possibly define a builtin function with one or two names.
+ Does not declare a non-__builtin_ function if flag_no_builtin, or if
+ nonansi_p and flag_no_nonansi_builtin. */
-static tree
-builtin_function_2 (const char *builtin_name, const char *name,
- tree builtin_type, tree type,
- enum built_in_function function_code,
- enum built_in_class cl, int library_name_p,
- bool nonansi_p, tree attrs)
+static void
+def_builtin_1 (enum built_in_function fncode,
+ const char *name,
+ enum built_in_class fnclass,
+ tree fntype, tree libtype,
+ bool both_p, bool fallback_p, bool nonansi_p,
+ tree fnattrs, bool implicit_p)
{
- tree bdecl = NULL_TREE;
- tree decl = NULL_TREE;
-
- if (builtin_name != 0)
- bdecl = lang_hooks.builtin_function (builtin_name, builtin_type,
- function_code, cl,
- library_name_p ? name : NULL, attrs);
-
- if (name != 0 && !flag_no_builtin && !builtin_function_disabled_p (name)
+ tree decl;
+ const char *libname;
+
+ gcc_assert ((!both_p && !fallback_p)
+ || !strncmp (name, "__builtin_",
+ strlen ("__builtin_")));
+
+ libname = name + strlen ("__builtin_");
+ decl = lang_hooks.builtin_function (name, fntype, fncode, fnclass,
+ (fallback_p ? libname : NULL),
+ fnattrs);
+ if (both_p
+ && !flag_no_builtin && !builtin_function_disabled_p (libname)
&& !(nonansi_p && flag_no_nonansi_builtin))
- decl = lang_hooks.builtin_function (name, type, function_code, cl,
- NULL, attrs);
+ lang_hooks.builtin_function (libname, libtype, fncode, fnclass,
+ NULL, fnattrs);
- return (bdecl != 0 ? bdecl : decl);
+ built_in_decls[(int) fncode] = decl;
+ if (implicit_p)
+ implicit_built_in_decls[(int) fncode] = decl;
}
/* Nonzero if the type T promotes to int. This is (nearly) the
@@ -3832,7 +3805,32 @@ c_do_switch_warnings (splay_tree cases, location_t switch_location,
{
splay_tree_node node
= splay_tree_lookup (cases, (splay_tree_key) TREE_VALUE (chain));
-
+ if (!node)
+ {
+ tree low_value = TREE_VALUE (chain);
+ splay_tree_node low_bound;
+ splay_tree_node high_bound;
+ /* Even though there wasn't an exact match, there might be a
+ case range which includes the enumator's value. */
+ low_bound = splay_tree_predecessor (cases,
+ (splay_tree_key) low_value);
+ high_bound = splay_tree_successor (cases,
+ (splay_tree_key) low_value);
+
+ /* It is smaller than the LOW_VALUE, so there is no need to check
+ unless the LOW_BOUND is in fact itself a case range. */
+ if (low_bound
+ && CASE_HIGH ((tree) low_bound->value)
+ && tree_int_cst_compare (CASE_HIGH ((tree) low_bound->value),
+ low_value) >= 0)
+ node = low_bound;
+ /* The low end of that range is bigger than the current value. */
+ else if (high_bound
+ && (tree_int_cst_compare ((tree) high_bound->key,
+ low_value)
+ <= 0))
+ node = high_bound;
+ }
if (node)
{
/* Mark the CASE_LOW part of the case entry as seen, so
diff --git a/gcc/c-cppbuiltin.c b/gcc/c-cppbuiltin.c
index 44c7a3797dd..9020e0b49f9 100644
--- a/gcc/c-cppbuiltin.c
+++ b/gcc/c-cppbuiltin.c
@@ -440,7 +440,9 @@ c_cpp_builtins (cpp_reader *pfile)
if (targetm.handle_pragma_extern_prefix)
cpp_define (pfile, "__PRAGMA_EXTERN_PREFIX");
- /* Make the choice of the stack protector runtime visible to source code. */
+ /* Make the choice of the stack protector runtime visible to source code.
+ The macro names and values here were chosen for compatibility with an
+ earlier implementation, i.e. ProPolice. */
if (flag_stack_protect == 2)
cpp_define (pfile, "__SSP_ALL__=2");
else if (flag_stack_protect == 1)
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index 71a955380ec..f3b8d64a6d3 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -466,7 +466,7 @@ c_print_identifier (FILE *file, tree node, int indent)
{
tree rid = ridpointers[C_RID_CODE (node)];
indent_to (file, indent + 4);
- fprintf (file, "rid " HOST_PTR_PRINTF " \"%s\"",
+ fprintf (file, "rid %p \"%s\"",
(void *) rid, IDENTIFIER_POINTER (rid));
}
}
@@ -1555,7 +1555,10 @@ diagnose_mismatched_decls (tree newdecl, tree olddecl,
&& !(DECL_EXTERNAL (olddecl) && !DECL_EXTERNAL (newdecl))
/* Don't warn about forward parameter decls. */
&& !(TREE_CODE (newdecl) == PARM_DECL
- && TREE_ASM_WRITTEN (olddecl) && !TREE_ASM_WRITTEN (newdecl)))
+ && TREE_ASM_WRITTEN (olddecl) && !TREE_ASM_WRITTEN (newdecl))
+ /* Don't warn about a variable definition following a declaration. */
+ && !(TREE_CODE (newdecl) == VAR_DECL
+ && DECL_INITIAL (newdecl) && !DECL_INITIAL (olddecl)))
{
warning (OPT_Wredundant_decls, "redundant redeclaration of %q+D",
newdecl);
@@ -1664,18 +1667,18 @@ merge_decls (tree newdecl, tree olddecl, tree newtype, tree oldtype)
&& !C_DECL_BUILTIN_PROTOTYPE (olddecl)))
DECL_SOURCE_LOCATION (newdecl) = DECL_SOURCE_LOCATION (olddecl);
- /* Merge the unused-warning information. */
- if (DECL_IN_SYSTEM_HEADER (olddecl))
- DECL_IN_SYSTEM_HEADER (newdecl) = 1;
- else if (DECL_IN_SYSTEM_HEADER (newdecl))
- DECL_IN_SYSTEM_HEADER (olddecl) = 1;
-
/* Merge the initialization information. */
if (DECL_INITIAL (newdecl) == 0)
DECL_INITIAL (newdecl) = DECL_INITIAL (olddecl);
if (CODE_CONTAINS_STRUCT (TREE_CODE (olddecl), TS_DECL_WITH_VIS))
{
+ /* Merge the unused-warning information. */
+ if (DECL_IN_SYSTEM_HEADER (olddecl))
+ DECL_IN_SYSTEM_HEADER (newdecl) = 1;
+ else if (DECL_IN_SYSTEM_HEADER (newdecl))
+ DECL_IN_SYSTEM_HEADER (olddecl) = 1;
+
/* Merge the section attribute.
We want to issue an error if the sections conflict but that must be
done later in decl_attributes since we are called before attributes
@@ -1891,13 +1894,7 @@ warn_if_shadowing (tree new_decl)
/* No shadow warnings for internally generated vars. */
|| DECL_IS_BUILTIN (new_decl)
/* No shadow warnings for vars made for inlining. */
- || DECL_FROM_INLINE (new_decl)
- /* Don't warn about the parm names in function declarator
- within a function declarator. It would be nice to avoid
- warning in any function declarator in a declaration, as
- opposed to a definition, but there is no way to tell
- it's not a definition at this point. */
- || (TREE_CODE (new_decl) == PARM_DECL && current_scope->outer->parm_flag))
+ || DECL_FROM_INLINE (new_decl))
return;
/* Is anything being shadowed? Invisible decls do not count. */
@@ -2221,7 +2218,8 @@ pushdecl (tree x)
}
}
- warn_if_shadowing (x);
+ if (TREE_CODE (x) != PARM_DECL)
+ warn_if_shadowing (x);
skip_external_and_shadow_checks:
if (TREE_CODE (x) == TYPE_DECL)
@@ -4388,8 +4386,8 @@ grokdeclarator (const struct c_declarator *declarator,
if (TREE_CODE (type) == ARRAY_TYPE
&& COMPLETE_TYPE_P (type)
- && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST
- && TREE_OVERFLOW (TYPE_SIZE (type)))
+ && TREE_CODE (TYPE_SIZE_UNIT (type)) == INTEGER_CST
+ && TREE_OVERFLOW (TYPE_SIZE_UNIT (type)))
{
error ("size of array %qs is too large", name);
/* If we proceed with the array type as it is, we'll eventually
@@ -4836,6 +4834,9 @@ grokparms (struct c_arg_info *arg_info, bool funcdef_flag)
parm, parmno);
}
}
+
+ if (DECL_NAME (parm) && TREE_USED (parm))
+ warn_if_shadowing (parm);
}
return arg_types;
}
@@ -6106,8 +6107,12 @@ store_parm_decls_newstyle (tree fndecl, const struct c_arg_info *arg_info)
{
DECL_CONTEXT (decl) = current_function_decl;
if (DECL_NAME (decl))
- bind (DECL_NAME (decl), decl, current_scope,
- /*invisible=*/false, /*nested=*/false);
+ {
+ bind (DECL_NAME (decl), decl, current_scope,
+ /*invisible=*/false, /*nested=*/false);
+ if (!TREE_USED (decl))
+ warn_if_shadowing (decl);
+ }
else
error ("%Jparameter name omitted", decl);
}
@@ -6181,6 +6186,7 @@ store_parm_decls_oldstyle (tree fndecl, const struct c_arg_info *arg_info)
DECL_ARG_TYPE (decl) = integer_type_node;
layout_decl (decl, 0);
}
+ warn_if_shadowing (decl);
}
/* If no declaration found, default to int. */
else
@@ -6189,6 +6195,7 @@ store_parm_decls_oldstyle (tree fndecl, const struct c_arg_info *arg_info)
DECL_ARG_TYPE (decl) = TREE_TYPE (decl);
DECL_SOURCE_LOCATION (decl) = DECL_SOURCE_LOCATION (fndecl);
pushdecl (decl);
+ warn_if_shadowing (decl);
if (flag_isoc99)
pedwarn ("type of %q+D defaults to %<int%>", decl);
diff --git a/gcc/c-parser.c b/gcc/c-parser.c
index 9a6799435e1..268fa908480 100644
--- a/gcc/c-parser.c
+++ b/gcc/c-parser.c
@@ -2463,6 +2463,7 @@ c_parser_parms_list_declarator (c_parser *parser, tree attrs)
{
tree new_attrs;
c_parser_consume_token (parser);
+ mark_forward_parm_decls ();
new_attrs = c_parser_attributes (parser);
return c_parser_parms_list_declarator (parser, new_attrs);
}
diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c
index 7e98384ce28..c72ba8aceaa 100644
--- a/gcc/c-typeck.c
+++ b/gcc/c-typeck.c
@@ -281,14 +281,30 @@ composite_type (tree t1, tree t2)
tree elt = composite_type (TREE_TYPE (t1), TREE_TYPE (t2));
int quals;
tree unqual_elt;
+ tree d1 = TYPE_DOMAIN (t1);
+ tree d2 = TYPE_DOMAIN (t2);
+ bool d1_variable, d2_variable;
+ bool d1_zero, d2_zero;
/* We should not have any type quals on arrays at all. */
gcc_assert (!TYPE_QUALS (t1) && !TYPE_QUALS (t2));
+ d1_zero = d1 == 0 || !TYPE_MAX_VALUE (d1);
+ d2_zero = d2 == 0 || !TYPE_MAX_VALUE (d2);
+
+ d1_variable = (!d1_zero
+ && (TREE_CODE (TYPE_MIN_VALUE (d1)) != INTEGER_CST
+ || TREE_CODE (TYPE_MAX_VALUE (d1)) != INTEGER_CST));
+ d2_variable = (!d2_zero
+ && (TREE_CODE (TYPE_MIN_VALUE (d2)) != INTEGER_CST
+ || TREE_CODE (TYPE_MAX_VALUE (d2)) != INTEGER_CST));
+
/* Save space: see if the result is identical to one of the args. */
- if (elt == TREE_TYPE (t1) && TYPE_DOMAIN (t1))
+ if (elt == TREE_TYPE (t1) && TYPE_DOMAIN (t1)
+ && (d2_variable || d2_zero || !d1_variable))
return build_type_attribute_variant (t1, attributes);
- if (elt == TREE_TYPE (t2) && TYPE_DOMAIN (t2))
+ if (elt == TREE_TYPE (t2) && TYPE_DOMAIN (t2)
+ && (d1_variable || d1_zero || !d2_variable))
return build_type_attribute_variant (t2, attributes);
if (elt == TREE_TYPE (t1) && !TYPE_DOMAIN (t2) && !TYPE_DOMAIN (t1))
@@ -304,7 +320,12 @@ composite_type (tree t1, tree t2)
quals = TYPE_QUALS (strip_array_types (elt));
unqual_elt = c_build_qualified_type (elt, TYPE_UNQUALIFIED);
t1 = build_array_type (unqual_elt,
- TYPE_DOMAIN (TYPE_DOMAIN (t1) ? t1 : t2));
+ TYPE_DOMAIN ((TYPE_DOMAIN (t1)
+ && (d2_variable
+ || d2_zero
+ || !d1_variable))
+ ? t1
+ : t2));
t1 = c_build_qualified_type (t1, quals);
return build_type_attribute_variant (t1, attributes);
}
@@ -616,7 +637,8 @@ c_common_type (tree t1, tree t2)
return t2;
}
-/* Wrapper around c_common_type that is used by c-common.c. ENUMERAL_TYPEs
+/* Wrapper around c_common_type that is used by c-common.c and other
+ front end optimizations that remove promotions. ENUMERAL_TYPEs
are allowed here and are converted to their compatible integer types.
BOOLEAN_TYPEs are allowed here and return either boolean_type_node or
preferably a non-Boolean type as the common type. */
@@ -2083,13 +2105,10 @@ build_function_call (tree function, tree params)
check_function_arguments (TYPE_ATTRIBUTES (fntype), coerced_params,
TYPE_ARG_TYPES (fntype));
- result = build3 (CALL_EXPR, TREE_TYPE (fntype),
- function, coerced_params, NULL_TREE);
- TREE_SIDE_EFFECTS (result) = 1;
-
if (require_constant_value)
{
- result = fold_initializer (result);
+ result = fold_build3_initializer (CALL_EXPR, TREE_TYPE (fntype),
+ function, coerced_params, NULL_TREE);
if (TREE_CONSTANT (result)
&& (name == NULL_TREE
@@ -2097,7 +2116,8 @@ build_function_call (tree function, tree params)
pedwarn_init ("initializer element is not constant");
}
else
- result = fold (result);
+ result = fold_build3 (CALL_EXPR, TREE_TYPE (fntype),
+ function, coerced_params, NULL_TREE);
if (VOID_TYPE_P (TREE_TYPE (result)))
return result;
@@ -2806,8 +2826,8 @@ build_unary_op (enum tree_code code, tree xarg, int flag)
if (argtype == 0)
argtype = TREE_TYPE (arg);
- val = build1 (code, argtype, arg);
- return require_constant_value ? fold_initializer (val) : fold (val);
+ return require_constant_value ? fold_build1_initializer (code, argtype, arg)
+ : fold_build1 (code, argtype, arg);
}
/* Return nonzero if REF is an lvalue valid for this language.
@@ -3761,7 +3781,7 @@ convert_for_assignment (tree type, tree rhs, enum impl_conv errtype,
"pointer target type"));
}
- if (pedantic && !DECL_IN_SYSTEM_HEADER (fundecl))
+ if (pedantic && (!fundecl || !DECL_IN_SYSTEM_HEADER (fundecl)))
pedwarn ("ISO C prohibits argument conversion to union type");
return build1 (NOP_EXPR, type, rhs);
@@ -4622,7 +4642,7 @@ static int constructor_designated;
static int designator_depth;
/* Nonzero if there were diagnosed errors in this designator list. */
-static int designator_errorneous;
+static int designator_erroneous;
/* This stack has a level for each implicit or explicit level of
@@ -4836,7 +4856,7 @@ really_start_incremental_init (tree type)
constructor_incremental = 1;
constructor_designated = 0;
designator_depth = 0;
- designator_errorneous = 0;
+ designator_erroneous = 0;
if (TREE_CODE (constructor_type) == RECORD_TYPE
|| TREE_CODE (constructor_type) == UNION_TYPE)
@@ -4980,7 +5000,7 @@ push_init_level (int implicit)
p->range_stack = constructor_range_stack;
constructor_range_stack = 0;
designator_depth = 0;
- designator_errorneous = 0;
+ designator_erroneous = 0;
}
/* Don't die if an entire brace-pair level is superfluous
@@ -5274,7 +5294,7 @@ set_designator (int array)
/* If there were errors in this designator list already, bail out
silently. */
- if (designator_errorneous)
+ if (designator_erroneous)
return 1;
if (!designator_depth)
@@ -5353,7 +5373,7 @@ set_init_index (tree first, tree last)
if (set_designator (1))
return;
- designator_errorneous = 1;
+ designator_erroneous = 1;
if (!INTEGRAL_TYPE_P (TREE_TYPE (first))
|| (last && !INTEGRAL_TYPE_P (TREE_TYPE (last))))
@@ -5399,7 +5419,7 @@ set_init_index (tree first, tree last)
}
designator_depth++;
- designator_errorneous = 0;
+ designator_erroneous = 0;
if (constructor_range_stack || last)
push_range_stack (last);
}
@@ -5415,7 +5435,7 @@ set_init_label (tree fieldname)
if (set_designator (0))
return;
- designator_errorneous = 1;
+ designator_erroneous = 1;
if (TREE_CODE (constructor_type) != RECORD_TYPE
&& TREE_CODE (constructor_type) != UNION_TYPE)
@@ -5437,7 +5457,7 @@ set_init_label (tree fieldname)
{
constructor_fields = tail;
designator_depth++;
- designator_errorneous = 0;
+ designator_erroneous = 0;
if (constructor_range_stack)
push_range_stack (NULL_TREE);
}
@@ -6157,7 +6177,7 @@ process_init_element (struct c_expr value)
bool strict_string = value.original_code == STRING_CST;
designator_depth = 0;
- designator_errorneous = 0;
+ designator_erroneous = 0;
/* Handle superfluous braces around string cst as in
char x[] = {"foo"}; */
@@ -6981,20 +7001,31 @@ c_finish_if_stmt (location_t if_locus, tree cond, tree then_block,
/* Diagnose ";" via the special empty statement node that we create. */
if (extra_warnings)
{
- if (TREE_CODE (then_block) == NOP_EXPR && !TREE_TYPE (then_block))
+ tree *inner_then = &then_block, *inner_else = &else_block;
+
+ if (TREE_CODE (*inner_then) == STATEMENT_LIST
+ && STATEMENT_LIST_TAIL (*inner_then))
+ inner_then = &STATEMENT_LIST_TAIL (*inner_then)->stmt;
+ if (*inner_else && TREE_CODE (*inner_else) == STATEMENT_LIST
+ && STATEMENT_LIST_TAIL (*inner_else))
+ inner_else = &STATEMENT_LIST_TAIL (*inner_else)->stmt;
+
+ if (TREE_CODE (*inner_then) == NOP_EXPR && !TREE_TYPE (*inner_then))
{
- if (!else_block)
+ if (!*inner_else)
warning (0, "%Hempty body in an if-statement",
- EXPR_LOCUS (then_block));
- then_block = alloc_stmt_list ();
+ EXPR_LOCUS (*inner_then));
+
+ *inner_then = alloc_stmt_list ();
}
- if (else_block
- && TREE_CODE (else_block) == NOP_EXPR
- && !TREE_TYPE (else_block))
+ if (*inner_else
+ && TREE_CODE (*inner_else) == NOP_EXPR
+ && !TREE_TYPE (*inner_else))
{
warning (0, "%Hempty body in an else-statement",
- EXPR_LOCUS (else_block));
- else_block = alloc_stmt_list ();
+ EXPR_LOCUS (*inner_else));
+
+ *inner_else = alloc_stmt_list ();
}
}
@@ -7053,8 +7084,7 @@ c_finish_loop (location_t start_locus, tree cond, tree incr, tree body,
}
t = build_and_jump (&blab);
- exit = build3 (COND_EXPR, void_type_node, cond, exit, t);
- exit = fold (exit);
+ exit = fold_build3 (COND_EXPR, void_type_node, cond, exit, t);
if (cond_is_first)
SET_EXPR_LOCATION (exit, start_locus);
else
@@ -7293,7 +7323,13 @@ c_finish_stmt_expr (tree body)
if (last == error_mark_node
|| (last == BIND_EXPR_BODY (body)
&& BIND_EXPR_VARS (body) == NULL))
- return last;
+ {
+ /* Do not warn if the return value of a statement expression is
+ unused. */
+ if (EXPR_P (last))
+ TREE_NO_WARNING (last) = 1;
+ return last;
+ }
/* Extract the type of said expression. */
type = TREE_TYPE (last);
@@ -7927,7 +7963,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1,
&& (unsigned0 || !uns))
result_type
= c_common_signed_or_unsigned_type
- (unsigned0, c_common_type (TREE_TYPE (arg0), TREE_TYPE (arg1)));
+ (unsigned0, common_type (TREE_TYPE (arg0), TREE_TYPE (arg1)));
else if (TREE_CODE (arg0) == INTEGER_CST
&& (unsigned1 || !uns)
&& (TYPE_PRECISION (TREE_TYPE (arg1))
@@ -8149,11 +8185,12 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1,
build_type = result_type;
{
- tree result = build2 (resultcode, build_type, op0, op1);
-
/* Treat expressions in initializers specially as they can't trap. */
- result = require_constant_value ? fold_initializer (result)
- : fold (result);
+ tree result = require_constant_value ? fold_build2_initializer (resultcode,
+ build_type,
+ op0, op1)
+ : fold_build2 (resultcode, build_type,
+ op0, op1);
if (final_type != 0)
result = convert (final_type, result);
diff --git a/gcc/calls.c b/gcc/calls.c
index d51fbf6331b..4074dbd8bad 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -1444,7 +1444,7 @@ rtx_for_function_call (tree fndecl, tree addr)
Mark all register-parms as living through the call, putting these USE
insns in the CALL_INSN_FUNCTION_USAGE field.
- When IS_SIBCALL, perform the check_sibcall_overlap_argument_overlap
+ When IS_SIBCALL, perform the check_sibcall_argument_overlap
checking, setting *SIBCALL_FAILURE if appropriate. */
static void
@@ -2247,6 +2247,9 @@ expand_call (tree exp, rtx target, int ignore)
if (pass && (flags & (ECF_LIBCALL_BLOCK | ECF_MALLOC)))
start_sequence ();
+ if (pass == 0 && cfun->stack_protect_guard)
+ stack_protect_epilogue ();
+
adjusted_args_size = args_size;
/* Compute the actual size of the argument block required. The variable
and constant sizes must be combined, the size may have to be rounded,
diff --git a/gcc/cfg.c b/gcc/cfg.c
index e6af6cfbaff..c46ac0b88ee 100644
--- a/gcc/cfg.c
+++ b/gcc/cfg.c
@@ -893,11 +893,11 @@ update_bb_profile_for_threading (basic_block bb, int edge_frequency,
}
else if (prob != REG_BR_PROB_BASE)
{
- int scale = 65536 * REG_BR_PROB_BASE / prob;
+ int scale = RDIV (65536 * REG_BR_PROB_BASE, prob);
FOR_EACH_EDGE (c, ei, bb->succs)
{
- c->probability = (c->probability * scale) / 65536;
+ c->probability = RDIV (c->probability * scale, 65536);
if (c->probability > REG_BR_PROB_BASE)
c->probability = REG_BR_PROB_BASE;
}
@@ -925,16 +925,23 @@ scale_bbs_frequencies_int (basic_block *bbs, int nbbs, int num, int den)
num = 0;
if (num > den)
return;
+ /* Assume that the users are producing the fraction from frequencies
+ that never grow far enough to risk arithmetic overflow. */
+ gcc_assert (num < 65536);
for (i = 0; i < nbbs; i++)
{
edge_iterator ei;
- bbs[i]->frequency = (bbs[i]->frequency * num) / den;
+ bbs[i]->frequency = RDIV (bbs[i]->frequency * num, den);
bbs[i]->count = RDIV (bbs[i]->count * num, den);
FOR_EACH_EDGE (e, ei, bbs[i]->succs)
- e->count = (e->count * num) /den;
+ e->count = RDIV (e->count * num, den);
}
}
+/* numbers smaller than this value are safe to multiply without getting
+ 64bit overflow. */
+#define MAX_SAFE_MULTIPLIER (1 << (sizeof (HOST_WIDEST_INT) * 4 - 1))
+
/* Multiply all frequencies of basic blocks in array BBS of length NBBS
by NUM/DEN, in gcov_type arithmetic. More accurate than previous
function but considerably slower. */
@@ -944,15 +951,37 @@ scale_bbs_frequencies_gcov_type (basic_block *bbs, int nbbs, gcov_type num,
{
int i;
edge e;
+ gcov_type fraction = RDIV (num * 65536, den);
- for (i = 0; i < nbbs; i++)
- {
- edge_iterator ei;
- bbs[i]->frequency = (bbs[i]->frequency * num) / den;
- bbs[i]->count = RDIV (bbs[i]->count * num, den);
- FOR_EACH_EDGE (e, ei, bbs[i]->succs)
- e->count = (e->count * num) /den;
- }
+ gcc_assert (fraction >= 0);
+
+ if (num < MAX_SAFE_MULTIPLIER)
+ for (i = 0; i < nbbs; i++)
+ {
+ edge_iterator ei;
+ bbs[i]->frequency = RDIV (bbs[i]->frequency * num, den);
+ if (bbs[i]->count <= MAX_SAFE_MULTIPLIER)
+ bbs[i]->count = RDIV (bbs[i]->count * num, den);
+ else
+ bbs[i]->count = RDIV (bbs[i]->count * fraction, 65536);
+ FOR_EACH_EDGE (e, ei, bbs[i]->succs)
+ if (bbs[i]->count <= MAX_SAFE_MULTIPLIER)
+ e->count = RDIV (e->count * num, den);
+ else
+ e->count = RDIV (e->count * fraction, 65536);
+ }
+ else
+ for (i = 0; i < nbbs; i++)
+ {
+ edge_iterator ei;
+ if (sizeof (gcov_type) > sizeof (int))
+ bbs[i]->frequency = RDIV (bbs[i]->frequency * num, den);
+ else
+ bbs[i]->frequency = RDIV (bbs[i]->frequency * fraction, 65536);
+ bbs[i]->count = RDIV (bbs[i]->count * fraction, 65536);
+ FOR_EACH_EDGE (e, ei, bbs[i]->succs)
+ e->count = RDIV (e->count * fraction, 65536);
+ }
}
/* Data structures used to maintain mapping between basic blocks and
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c
index fc3137727e6..66a0dec6488 100644
--- a/gcc/cfgcleanup.c
+++ b/gcc/cfgcleanup.c
@@ -537,7 +537,7 @@ try_forward_edges (int mode, basic_block b)
&& NOTE_LINE_NUMBER (insn) == NOTE_INSN_LOOP_BEG)
break;
- if (NOTE_P (insn))
+ if (insn && NOTE_P (insn))
break;
/* Do not clean up branches to just past the end of a loop
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index 220b6adc261..d2c865556af 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -808,8 +808,8 @@ stack_protect_classify_type (tree type)
return ret;
}
-/* Return non-zero if DECL should be segregated into the "vulnerable" upper
- part of the local stack frame. Remember if we ever return non-zero for
+/* Return nonzero if DECL should be segregated into the "vulnerable" upper
+ part of the local stack frame. Remember if we ever return nonzero for
any variable in this function. The return value is the phase number in
which the variable should be allocated. */
diff --git a/gcc/cfghooks.c b/gcc/cfghooks.c
index bc296d43e0b..138bc4ab2ae 100644
--- a/gcc/cfghooks.c
+++ b/gcc/cfghooks.c
@@ -691,10 +691,11 @@ can_duplicate_block_p (basic_block bb)
}
/* Duplicates basic block BB and redirects edge E to it. Returns the
- new basic block. */
+ new basic block. The new basic block is placed after the basic block
+ AFTER. */
basic_block
-duplicate_block (basic_block bb, edge e)
+duplicate_block (basic_block bb, edge e, basic_block after)
{
edge s, n;
basic_block new_bb;
@@ -713,6 +714,8 @@ duplicate_block (basic_block bb, edge e)
#endif
new_bb = cfg_hooks->duplicate_block (bb);
+ if (after)
+ move_block_after (new_bb, after);
new_bb->loop_depth = bb->loop_depth;
new_bb->flags = bb->flags;
diff --git a/gcc/cfghooks.h b/gcc/cfghooks.h
index 5c3e610ea2c..8d5222a5f13 100644
--- a/gcc/cfghooks.h
+++ b/gcc/cfghooks.h
@@ -157,7 +157,7 @@ extern void tidy_fallthru_edges (void);
extern void predict_edge (edge e, enum br_predictor predictor, int probability);
extern bool predicted_by_p (basic_block bb, enum br_predictor predictor);
extern bool can_duplicate_block_p (basic_block);
-extern basic_block duplicate_block (basic_block, edge);
+extern basic_block duplicate_block (basic_block, edge, basic_block);
extern bool block_ends_with_call_p (basic_block bb);
extern bool block_ends_with_condjump_p (basic_block bb);
extern int flow_call_edges_add (sbitmap);
diff --git a/gcc/cfglayout.c b/gcc/cfglayout.c
index 2a8a1221ac9..9cc2f8fa709 100644
--- a/gcc/cfglayout.c
+++ b/gcc/cfglayout.c
@@ -333,7 +333,7 @@ insn_locators_initialize (void)
struct tree_opt_pass pass_insn_locators_initialize =
{
- NULL, /* name */
+ "locators", /* name */
NULL, /* gate */
insn_locators_initialize, /* execute */
NULL, /* sub */
@@ -344,7 +344,7 @@ struct tree_opt_pass pass_insn_locators_initialize =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- 0, /* todo_flags_finish */
+ TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};
@@ -1243,12 +1243,15 @@ end:
is copied, we do not set the new blocks as header or latch.
Created copies of N_EDGES edges in array EDGES are stored in array NEW_EDGES,
- also in the same order. */
+ also in the same order.
+
+ Newly created basic blocks are put after the basic block AFTER in the
+ instruction stream, and the order of the blocks in BBS array is preserved. */
void
copy_bbs (basic_block *bbs, unsigned n, basic_block *new_bbs,
edge *edges, unsigned num_edges, edge *new_edges,
- struct loop *base)
+ struct loop *base, basic_block after)
{
unsigned i, j;
basic_block bb, new_bb, dom_bb;
@@ -1259,7 +1262,8 @@ copy_bbs (basic_block *bbs, unsigned n, basic_block *new_bbs,
{
/* Duplicate. */
bb = bbs[i];
- new_bb = new_bbs[i] = duplicate_block (bb, NULL);
+ new_bb = new_bbs[i] = duplicate_block (bb, NULL, after);
+ after = new_bb;
bb->flags |= BB_DUPLICATED;
/* Add to loop. */
add_bb_to_loop (new_bb, bb->loop_father->copy);
diff --git a/gcc/cfglayout.h b/gcc/cfglayout.h
index ed41aa3c2a3..52bd4e9ee14 100644
--- a/gcc/cfglayout.h
+++ b/gcc/cfglayout.h
@@ -31,7 +31,8 @@ extern void insn_locators_initialize (void);
extern void reemit_insn_block_notes (void);
extern bool can_copy_bbs_p (basic_block *, unsigned);
extern void copy_bbs (basic_block *, unsigned, basic_block *,
- edge *, unsigned, edge *, struct loop *);
+ edge *, unsigned, edge *, struct loop *,
+ basic_block);
extern rtx duplicate_insn_chain (rtx, rtx);
#endif /* GCC_CFGLAYOUT_H */
diff --git a/gcc/cfgloop.h b/gcc/cfgloop.h
index afbeb32d79d..2ff0fb5210a 100644
--- a/gcc/cfgloop.h
+++ b/gcc/cfgloop.h
@@ -298,6 +298,8 @@ extern bool can_duplicate_loop_p (struct loop *loop);
duplicate_loop_to_header_edge. */
#define DLTHE_RECORD_COPY_NUMBER 2 /* Record copy number in the aux
field of newly create BB. */
+#define DLTHE_FLAG_COMPLETTE_PEEL 4 /* Update frequencies expecting
+ a complete peeling. */
extern struct loop * duplicate_loop (struct loops *, struct loop *,
struct loop *);
@@ -307,7 +309,7 @@ extern bool duplicate_loop_to_header_edge (struct loop *, edge, struct loops *,
extern struct loop *loopify (struct loops *, edge, edge,
basic_block, edge, edge, bool);
struct loop * loop_version (struct loops *, struct loop *, void *,
- basic_block *);
+ basic_block *, bool);
extern bool remove_path (struct loops *, edge);
extern edge split_loop_bb (basic_block, void *);
diff --git a/gcc/cfgloopmanip.c b/gcc/cfgloopmanip.c
index 648e8372ff8..806daa789f7 100644
--- a/gcc/cfgloopmanip.c
+++ b/gcc/cfgloopmanip.c
@@ -860,6 +860,7 @@ duplicate_loop_to_header_edge (struct loop *loop, edge e, struct loops *loops,
int p, freq_in, freq_le, freq_out_orig;
int prob_pass_thru, prob_pass_wont_exit, prob_pass_main;
int add_irreducible_flag;
+ basic_block place_after;
gcc_assert (e->dest == loop->header);
gcc_assert (ndupl > 0);
@@ -871,7 +872,10 @@ duplicate_loop_to_header_edge (struct loop *loop, edge e, struct loops *loops,
gcc_assert (!flow_bb_inside_loop_p (loop, orig->dest));
}
- bbs = get_loop_body (loop);
+ n = loop->num_nodes;
+ bbs = get_loop_body_in_dom_order (loop);
+ gcc_assert (bbs[0] == loop->header);
+ gcc_assert (bbs[n - 1] == loop->latch);
/* Check whether duplication is possible. */
if (!can_copy_bbs_p (bbs, loop->num_nodes))
@@ -913,7 +917,28 @@ duplicate_loop_to_header_edge (struct loop *loop, edge e, struct loops *loops,
? prob_pass_wont_exit
: prob_pass_thru;
- if (is_latch)
+ /* Complete peeling is special as the probability of exit in last
+ copy becomes 1. */
+ if (flags & DLTHE_FLAG_COMPLETTE_PEEL)
+ {
+ int wanted_freq = EDGE_FREQUENCY (e);
+
+ if (wanted_freq > freq_in)
+ wanted_freq = freq_in;
+
+ gcc_assert (!is_latch);
+ /* First copy has frequency of incoming edge. Each subsequent
+ frequency should be reduced by prob_pass_wont_exit. Caller
+ should've managed the flags so all except for original loop
+ has won't exist set. */
+ scale_act = RDIV (wanted_freq * REG_BR_PROB_BASE, freq_in);
+ /* Now simulate the duplication adjustments and compute header
+ frequency of the last copy. */
+ for (i = 0; i < ndupl; i++)
+ wanted_freq = RDIV (wanted_freq * scale_step[i], REG_BR_PROB_BASE);
+ scale_main = RDIV (wanted_freq * REG_BR_PROB_BASE, freq_in);
+ }
+ else if (is_latch)
{
prob_pass_main = TEST_BIT (wont_exit, 0)
? prob_pass_wont_exit
@@ -954,8 +979,6 @@ duplicate_loop_to_header_edge (struct loop *loop, edge e, struct loops *loops,
loop->copy = target;
- n = loop->num_nodes;
-
first_active = xmalloc (n * sizeof (basic_block));
if (is_latch)
{
@@ -974,13 +997,16 @@ duplicate_loop_to_header_edge (struct loop *loop, edge e, struct loops *loops,
spec_edges[SE_ORIG] = orig;
spec_edges[SE_LATCH] = latch_edge;
+ place_after = e->src;
for (j = 0; j < ndupl; j++)
{
/* Copy loops. */
copy_loops_to (loops, orig_loops, n_orig_loops, target);
/* Copy bbs. */
- copy_bbs (bbs, n, new_bbs, spec_edges, 2, new_spec_edges, loop);
+ copy_bbs (bbs, n, new_bbs, spec_edges, 2, new_spec_edges, loop,
+ place_after);
+ place_after = new_spec_edges[SE_LATCH]->src;
if (flags & DLTHE_RECORD_COPY_NUMBER)
for (i = 0; i < n; i++)
@@ -1018,7 +1044,7 @@ duplicate_loop_to_header_edge (struct loop *loop, edge e, struct loops *loops,
redirect_edge_and_branch_force (new_spec_edges[SE_LATCH],
loop->header);
set_immediate_dominator (CDI_DOMINATORS, new_bbs[0], latch);
- latch = loop->latch = new_bbs[1];
+ latch = loop->latch = new_bbs[n - 1];
e = latch_edge = new_spec_edges[SE_LATCH];
}
else
@@ -1039,7 +1065,7 @@ duplicate_loop_to_header_edge (struct loop *loop, edge e, struct loops *loops,
if (!first_active_latch)
{
memcpy (first_active, new_bbs, n * sizeof (basic_block));
- first_active_latch = new_bbs[1];
+ first_active_latch = new_bbs[n - 1];
}
/* Set counts and frequencies. */
@@ -1405,21 +1431,26 @@ lv_adjust_loop_entry_edge (basic_block first_head,
/* Main entry point for Loop Versioning transformation.
-This transformation given a condition and a loop, creates
--if (condition) { loop_copy1 } else { loop_copy2 },
-where loop_copy1 is the loop transformed in one way, and loop_copy2
-is the loop transformed in another way (or unchanged). 'condition'
-may be a run time test for things that were not resolved by static
-analysis (overlapping ranges (anti-aliasing), alignment, etc.). */
+ This transformation given a condition and a loop, creates
+ -if (condition) { loop_copy1 } else { loop_copy2 },
+ where loop_copy1 is the loop transformed in one way, and loop_copy2
+ is the loop transformed in another way (or unchanged). 'condition'
+ may be a run time test for things that were not resolved by static
+ analysis (overlapping ranges (anti-aliasing), alignment, etc.).
+
+ If PLACE_AFTER is true, we place the new loop after LOOP in the
+ instruction stream, otherwise it is placed before LOOP. */
struct loop *
loop_version (struct loops *loops, struct loop * loop,
- void *cond_expr, basic_block *condition_bb)
+ void *cond_expr, basic_block *condition_bb,
+ bool place_after)
{
basic_block first_head, second_head;
edge entry, latch_edge, exit, true_edge, false_edge;
int irred_flag;
struct loop *nloop;
+ basic_block cond_bb;
/* CHECKME: Loop versioning does not handle nested loop at this point. */
if (loop->inner)
@@ -1443,9 +1474,12 @@ loop_version (struct loops *loops, struct loop * loop,
second_head = entry->dest;
/* Split loop entry edge and insert new block with cond expr. */
- *condition_bb = lv_adjust_loop_entry_edge (first_head, second_head,
- entry, cond_expr);
- if (!*condition_bb)
+ cond_bb = lv_adjust_loop_entry_edge (first_head, second_head,
+ entry, cond_expr);
+ if (condition_bb)
+ *condition_bb = cond_bb;
+
+ if (!cond_bb)
{
entry->flags |= irred_flag;
return NULL;
@@ -1453,11 +1487,11 @@ loop_version (struct loops *loops, struct loop * loop,
latch_edge = single_succ_edge (get_bb_copy (loop->latch));
- extract_cond_bb_edges (*condition_bb, &true_edge, &false_edge);
+ extract_cond_bb_edges (cond_bb, &true_edge, &false_edge);
nloop = loopify (loops,
latch_edge,
single_pred_edge (get_bb_copy (loop->header)),
- *condition_bb, true_edge, false_edge,
+ cond_bb, true_edge, false_edge,
false /* Do not redirect all edges. */);
exit = loop->single_exit;
@@ -1468,15 +1502,30 @@ loop_version (struct loops *loops, struct loop * loop,
lv_flush_pending_stmts (latch_edge);
/* loopify redirected condition_bb's succ edge. Update its PENDING_STMTS. */
- extract_cond_bb_edges (*condition_bb, &true_edge, &false_edge);
+ extract_cond_bb_edges (cond_bb, &true_edge, &false_edge);
lv_flush_pending_stmts (false_edge);
/* Adjust irreducible flag. */
if (irred_flag)
{
- (*condition_bb)->flags |= BB_IRREDUCIBLE_LOOP;
+ cond_bb->flags |= BB_IRREDUCIBLE_LOOP;
loop_preheader_edge (loop)->flags |= EDGE_IRREDUCIBLE_LOOP;
loop_preheader_edge (nloop)->flags |= EDGE_IRREDUCIBLE_LOOP;
- single_pred_edge ((*condition_bb))->flags |= EDGE_IRREDUCIBLE_LOOP;
+ single_pred_edge (cond_bb)->flags |= EDGE_IRREDUCIBLE_LOOP;
+ }
+
+ if (place_after)
+ {
+ basic_block *bbs = get_loop_body_in_dom_order (nloop), after;
+ unsigned i;
+
+ after = loop->latch;
+
+ for (i = 0; i < nloop->num_nodes; i++)
+ {
+ move_block_after (bbs[i], after);
+ after = bbs[i];
+ }
+ free (bbs);
}
/* At this point condition_bb is loop predheader with two successors,
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c
index 30290d4902c..e39b196be07 100644
--- a/gcc/cfgrtl.c
+++ b/gcc/cfgrtl.c
@@ -539,6 +539,10 @@ rtl_merge_blocks (basic_block a, basic_block b)
/* If there was a CODE_LABEL beginning B, delete it. */
if (LABEL_P (b_head))
{
+ /* This might have been an EH label that no longer has incoming
+ EH edges. Update data structures to match. */
+ maybe_remove_eh_handler (b_head);
+
/* Detect basic blocks with nothing but a label. This can happen
in particular at the end of a function. */
if (b_head == b_end)
@@ -2733,7 +2737,13 @@ cfg_layout_merge_blocks (basic_block a, basic_block b)
/* If there was a CODE_LABEL beginning B, delete it. */
if (LABEL_P (BB_HEAD (b)))
- delete_insn (BB_HEAD (b));
+ {
+ /* This might have been an EH label that no longer has incoming
+ EH edges. Update data structures to match. */
+ maybe_remove_eh_handler (BB_HEAD (b));
+
+ delete_insn (BB_HEAD (b));
+ }
/* We should have fallthru edge in a, or we can do dummy redirection to get
it cleaned up. */
diff --git a/gcc/cgraph.c b/gcc/cgraph.c
index 2538442fd0d..7a67f6d0da8 100644
--- a/gcc/cgraph.c
+++ b/gcc/cgraph.c
@@ -884,7 +884,8 @@ cgraph_function_possibly_inlined_p (tree decl)
/* Create clone of E in the node N represented by CALL_EXPR the callgraph. */
struct cgraph_edge *
cgraph_clone_edge (struct cgraph_edge *e, struct cgraph_node *n,
- tree call_stmt, int count_scale, int loop_nest)
+ tree call_stmt, int count_scale, int loop_nest,
+ bool update_original)
{
struct cgraph_edge *new;
@@ -893,14 +894,20 @@ cgraph_clone_edge (struct cgraph_edge *e, struct cgraph_node *n,
e->loop_nest + loop_nest);
new->inline_failed = e->inline_failed;
- e->count -= new->count;
+ if (update_original)
+ e->count -= new->count;
return new;
}
/* Create node representing clone of N executed COUNT times. Decrease
- the execution counts from original node too. */
+ the execution counts from original node too.
+
+ When UPDATE_ORIGINAL is true, the counts are subtracted from the original
+ function's profile to reflect the fact that part of execution is handled
+ by node. */
struct cgraph_node *
-cgraph_clone_node (struct cgraph_node *n, gcov_type count, int loop_nest)
+cgraph_clone_node (struct cgraph_node *n, gcov_type count, int loop_nest,
+ bool update_original)
{
struct cgraph_node *new = cgraph_create_node ();
struct cgraph_edge *e;
@@ -923,10 +930,12 @@ cgraph_clone_node (struct cgraph_node *n, gcov_type count, int loop_nest)
count_scale = new->count * REG_BR_PROB_BASE / n->count;
else
count_scale = 0;
- n->count -= count;
+ if (update_original)
+ n->count -= count;
for (e = n->callees;e; e=e->next_callee)
- cgraph_clone_edge (e, new, e->call_stmt, count_scale, loop_nest);
+ cgraph_clone_edge (e, new, e->call_stmt, count_scale, loop_nest,
+ update_original);
new->next_clone = n->next_clone;
new->prev_clone = n;
@@ -979,7 +988,7 @@ cgraph_function_body_availability (struct cgraph_node *node)
{
enum availability avail;
gcc_assert (cgraph_function_flags_ready);
- if (!node->local.finalized)
+ if (!node->analyzed)
avail = AVAIL_NOT_AVAILABLE;
else if (node->local.local)
avail = AVAIL_LOCAL;
diff --git a/gcc/cgraph.h b/gcc/cgraph.h
index d063d41906d..ccb2cdd3b64 100644
--- a/gcc/cgraph.h
+++ b/gcc/cgraph.h
@@ -240,8 +240,11 @@ struct cgraph_local_info *cgraph_local_info (tree);
struct cgraph_global_info *cgraph_global_info (tree);
struct cgraph_rtl_info *cgraph_rtl_info (tree);
const char * cgraph_node_name (struct cgraph_node *);
-struct cgraph_edge * cgraph_clone_edge (struct cgraph_edge *, struct cgraph_node *, tree, int, int);
-struct cgraph_node * cgraph_clone_node (struct cgraph_node *, gcov_type, int);
+struct cgraph_edge * cgraph_clone_edge (struct cgraph_edge *,
+ struct cgraph_node *,
+ tree, int, int, bool);
+struct cgraph_node * cgraph_clone_node (struct cgraph_node *, gcov_type,
+ int, bool);
struct cgraph_varpool_node *cgraph_varpool_node (tree);
struct cgraph_varpool_node *cgraph_varpool_node_for_asm (tree asmname);
@@ -278,6 +281,8 @@ void cgraph_clone_inlined_nodes (struct cgraph_edge *e, bool duplicate);
void cgraph_build_static_cdtor (char which, tree body, int priority);
void cgraph_reset_static_var_maps (void);
void init_cgraph (void);
+struct cgraph_node *cgraph_function_versioning (struct cgraph_node *,
+ varray_type, varray_type);
/* In ipa.c */
bool cgraph_remove_unreachable_nodes (bool, FILE *);
@@ -287,5 +292,5 @@ int cgraph_postorder (struct cgraph_node **);
bool cgraph_decide_inlining_incrementally (struct cgraph_node *, bool);
void cgraph_clone_inlined_nodes (struct cgraph_edge *, bool);
void cgraph_mark_inline_edge (struct cgraph_edge *);
-bool cgraph_default_inline_p (struct cgraph_node *);
+bool cgraph_default_inline_p (struct cgraph_node *, const char **);
#endif /* GCC_CGRAPH_H */
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index 7b126cc6f89..012cb7c2308 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -162,6 +162,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
#include "c-common.h"
#include "intl.h"
#include "function.h"
+#include "ipa-prop.h"
#include "tree-gimple.h"
#include "tree-pass.h"
#include "output.h"
@@ -248,7 +249,7 @@ decide_is_function_needed (struct cgraph_node *node, tree decl)
/* When declared inline, defer even the uninlinable functions.
This allows them to be eliminated when unused. */
&& !DECL_DECLARED_INLINE_P (decl)
- && (!node->local.inlinable || !cgraph_default_inline_p (node))))
+ && (!node->local.inlinable || !cgraph_default_inline_p (node, NULL))))
return true;
return false;
@@ -813,7 +814,10 @@ cgraph_varpool_assemble_pending_decls (void)
assemble_variable (decl, 0, 1, 0);
/* Local static variables are never seen by check_global_declarations
so we need to output debug info by hand. */
- if (decl_function_context (decl) && errorcount == 0 && sorrycount == 0)
+ if (DECL_CONTEXT (decl)
+ && (TREE_CODE (DECL_CONTEXT (decl)) == BLOCK
+ || TREE_CODE (DECL_CONTEXT (decl)) == FUNCTION_DECL)
+ && errorcount == 0 && sorrycount == 0)
{
timevar_push (TV_SYMOUT);
(*debug_hooks->global_decl) (decl);
@@ -1368,3 +1372,134 @@ init_cgraph (void)
{
cgraph_dump_file = dump_begin (TDI_cgraph, NULL);
}
+
+/* The edges representing the callers of the NEW_VERSION node were
+ fixed by cgraph_function_versioning (), now the call_expr in their
+ respective tree code should be updated to call the NEW_VERSION. */
+
+static void
+update_call_expr (struct cgraph_node *new_version)
+{
+ struct cgraph_edge *e;
+
+ gcc_assert (new_version);
+ for (e = new_version->callers; e; e = e->next_caller)
+ /* Update the call expr on the edges
+ to call the new version. */
+ TREE_OPERAND (TREE_OPERAND (get_call_expr_in (e->call_stmt), 0), 0) = new_version->decl;
+}
+
+
+/* Create a new cgraph node which is the new version of
+ OLD_VERSION node. REDIRECT_CALLERS holds the callers
+ edges which should be redirected to point to
+ NEW_VERSION. ALL the callees edges of OLD_VERSION
+ are cloned to the new version node. Return the new
+ version node. */
+
+static struct cgraph_node *
+cgraph_copy_node_for_versioning (struct cgraph_node *old_version,
+ tree new_decl, varray_type redirect_callers)
+ {
+ struct cgraph_node *new_version;
+ struct cgraph_edge *e, *new_e;
+ struct cgraph_edge *next_callee;
+ unsigned i;
+
+ gcc_assert (old_version);
+
+ new_version = cgraph_node (new_decl);
+
+ new_version->analyzed = true;
+ new_version->local = old_version->local;
+ new_version->global = old_version->global;
+ new_version->rtl = new_version->rtl;
+ new_version->reachable = true;
+ new_version->count = old_version->count;
+
+ /* Clone the old node callees. Recursive calls are
+ also cloned. */
+ for (e = old_version->callees;e; e=e->next_callee)
+ {
+ new_e = cgraph_clone_edge (e, new_version, e->call_stmt, 0, e->loop_nest, true);
+ new_e->count = e->count;
+ }
+ /* Fix recursive calls.
+ If OLD_VERSION has a recursive call after the
+ previous edge cloning, the new version will have an edge
+ pointing to the old version, which is wrong;
+ Redirect it to point to the new version. */
+ for (e = new_version->callees ; e; e = next_callee)
+ {
+ next_callee = e->next_callee;
+ if (e->callee == old_version)
+ cgraph_redirect_edge_callee (e, new_version);
+
+ if (!next_callee)
+ break;
+ }
+ if (redirect_callers)
+ for (i = 0; i < VARRAY_ACTIVE_SIZE (redirect_callers); i++)
+ {
+ e = VARRAY_GENERIC_PTR (redirect_callers, i);
+ /* Redirect calls to the old version node
+ to point to it's new version. */
+ cgraph_redirect_edge_callee (e, new_version);
+ }
+
+ return new_version;
+ }
+
+ /* Perform function versioning.
+ Function versioning includes copying of the tree and
+ a callgraph update (creating a new cgraph node and updating
+ its callees and callers).
+
+ REDIRECT_CALLERS varray includes the edges to be redirected
+ to the new version.
+
+ TREE_MAP is a mapping of tree nodes we want to replace with
+ new ones (according to results of prior analysis).
+ OLD_VERSION_NODE is the node that is versioned.
+ It returns the new version's cgraph node. */
+
+struct cgraph_node *
+cgraph_function_versioning (struct cgraph_node *old_version_node,
+ varray_type redirect_callers,
+ varray_type tree_map)
+{
+ tree old_decl = old_version_node->decl;
+ struct cgraph_node *new_version_node = NULL;
+ tree new_decl;
+
+ if (!tree_versionable_function_p (old_decl))
+ return NULL;
+
+ /* Make a new FUNCTION_DECL tree node for the
+ new version. */
+ new_decl = copy_node (old_decl);
+
+ /* Create the new version's call-graph node.
+ and update the edges of the new node. */
+ new_version_node =
+ cgraph_copy_node_for_versioning (old_version_node, new_decl,
+ redirect_callers);
+
+ /* Copy the OLD_VERSION_NODE function tree to the new version. */
+ tree_function_versioning (old_decl, new_decl, tree_map);
+ /* Update the call_expr on the edges to call the new version node. */
+ update_call_expr (new_version_node);
+
+ /* Update the new version's properties.
+ Make The new version visible only within this translation unit.
+ ??? We cannot use COMDAT linkage because there is no
+ ABI support for this. */
+ DECL_EXTERNAL (new_version_node->decl) = 0;
+ DECL_ONE_ONLY (new_version_node->decl) = 0;
+ TREE_PUBLIC (new_version_node->decl) = 0;
+ DECL_COMDAT (new_version_node->decl) = 0;
+ new_version_node->local.externally_visible = 0;
+ new_version_node->local.local = 1;
+ new_version_node->lowered = true;
+ return new_version_node;
+}
diff --git a/gcc/collect2.c b/gcc/collect2.c
index a813e51e019..f4cc46aad50 100644
--- a/gcc/collect2.c
+++ b/gcc/collect2.c
@@ -271,26 +271,6 @@ static char *resolve_lib_name (const char *);
#endif
static char *extract_string (const char **);
-#ifndef HAVE_DUP2
-static int
-dup2 (int oldfd, int newfd)
-{
- int fdtmp[256];
- int fdx = 0;
- int fd;
-
- if (oldfd == newfd)
- return oldfd;
- close (newfd);
- while ((fd = dup (oldfd)) != newfd && fd >= 0) /* good enough for low fd's */
- fdtmp[fdx++] = fd;
- while (fdx > 0)
- close (fdtmp[--fdx]);
-
- return fd;
-}
-#endif /* ! HAVE_DUP2 */
-
/* Delete tempfiles and exit function. */
void
diff --git a/gcc/combine.c b/gcc/combine.c
index d8d3baf982a..57f490da76b 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -860,16 +860,19 @@ combine_instructions (rtx f, unsigned int nregs)
rtx temp = XEXP (links, 0);
if ((set = single_set (temp)) != 0
&& (note = find_reg_equal_equiv_note (temp)) != 0
- && GET_CODE (XEXP (note, 0)) != EXPR_LIST
+ && (note = XEXP (note, 0), GET_CODE (note)) != EXPR_LIST
/* Avoid using a register that may already been marked
dead by an earlier instruction. */
- && ! unmentioned_reg_p (XEXP (note, 0), SET_SRC (set)))
+ && ! unmentioned_reg_p (note, SET_SRC (set))
+ && (GET_MODE (note) == VOIDmode
+ ? SCALAR_INT_MODE_P (GET_MODE (SET_DEST (set)))
+ : GET_MODE (SET_DEST (set)) == GET_MODE (note)))
{
/* Temporarily replace the set's source with the
contents of the REG_EQUAL note. The insn will
be deleted or recognized by try_combine. */
rtx orig = SET_SRC (set);
- SET_SRC (set) = XEXP (note, 0);
+ SET_SRC (set) = note;
next = try_combine (insn, temp, NULL_RTX,
&new_direct_jump_p);
if (next)
@@ -1663,6 +1666,29 @@ adjust_for_new_dest (rtx insn)
distribute_links (gen_rtx_INSN_LIST (VOIDmode, insn, NULL_RTX));
}
+/* Return TRUE if combine can reuse reg X in mode MODE.
+ ADDED_SETS is nonzero if the original set is still required. */
+static bool
+can_change_dest_mode (rtx x, int added_sets, enum machine_mode mode)
+{
+ unsigned int regno;
+
+ if (!REG_P(x))
+ return false;
+
+ regno = REGNO (x);
+ /* Allow hard registers if the new mode is legal, and occupies no more
+ registers than the old mode. */
+ if (regno < FIRST_PSEUDO_REGISTER)
+ return (HARD_REGNO_MODE_OK (regno, mode)
+ && (hard_regno_nregs[regno][GET_MODE (x)]
+ >= hard_regno_nregs[regno][mode]));
+
+ /* Or a pseudo that is only used once. */
+ return (REG_N_SETS (regno) == 1 && !added_sets
+ && !REG_USERVAR_P (x));
+}
+
/* Try to combine the insns I1 and I2 into I3.
Here I1 and I2 appear earlier than I3.
I1 can be zero; then we combine just I2 into I3.
@@ -2114,13 +2140,12 @@ try_combine (rtx i3, rtx i2, rtx i1, int *new_direct_jump_p)
i2src, const0_rtx))
!= GET_MODE (SET_DEST (newpat))))
{
- unsigned int regno = REGNO (SET_DEST (newpat));
- rtx new_dest = gen_rtx_REG (compare_mode, regno);
-
- if (regno < FIRST_PSEUDO_REGISTER
- || (REG_N_SETS (regno) == 1 && ! added_sets_2
- && ! REG_USERVAR_P (SET_DEST (newpat))))
+ if (can_change_dest_mode(SET_DEST (newpat), added_sets_2,
+ compare_mode))
{
+ unsigned int regno = REGNO (SET_DEST (newpat));
+ rtx new_dest = gen_rtx_REG (compare_mode, regno);
+
if (regno >= FIRST_PSEUDO_REGISTER)
SUBST (regno_reg_rtx[regno], new_dest);
@@ -2353,14 +2378,12 @@ try_combine (rtx i3, rtx i2, rtx i1, int *new_direct_jump_p)
if (m_split == 0 && ! reg_overlap_mentioned_p (ni2dest, newpat))
{
+ enum machine_mode new_mode = GET_MODE (SET_DEST (newpat));
/* If I2DEST is a hard register or the only use of a pseudo,
we can change its mode. */
- if (GET_MODE (SET_DEST (newpat)) != GET_MODE (i2dest)
- && GET_MODE (SET_DEST (newpat)) != VOIDmode
- && REG_P (i2dest)
- && (REGNO (i2dest) < FIRST_PSEUDO_REGISTER
- || (REG_N_SETS (REGNO (i2dest)) == 1 && ! added_sets_2
- && ! REG_USERVAR_P (i2dest))))
+ if (new_mode != GET_MODE (i2dest)
+ && new_mode != VOIDmode
+ && can_change_dest_mode (i2dest, added_sets_2, new_mode))
ni2dest = gen_rtx_REG (GET_MODE (SET_DEST (newpat)),
REGNO (i2dest));
@@ -2468,13 +2491,8 @@ try_combine (rtx i3, rtx i2, rtx i1, int *new_direct_jump_p)
isn't valid for it, or change the number of registers. */
&& (GET_MODE (*split) == GET_MODE (i2dest)
|| GET_MODE (*split) == VOIDmode
- || (REGNO (i2dest) < FIRST_PSEUDO_REGISTER
- && HARD_REGNO_MODE_OK (REGNO (i2dest), GET_MODE (*split))
- && (hard_regno_nregs[REGNO (i2dest)][GET_MODE (i2dest)]
- == hard_regno_nregs[REGNO (i2dest)][GET_MODE (*split)]))
- || (REGNO (i2dest) >= FIRST_PSEUDO_REGISTER
- && REG_N_SETS (REGNO (i2dest)) == 1 && ! added_sets_2
- && ! REG_USERVAR_P (i2dest)))
+ || can_change_dest_mode (i2dest, added_sets_2,
+ GET_MODE (*split)))
&& (next_real_insn (i2) == i3
|| ! use_crosses_set_p (*split, INSN_CUID (i2)))
/* We can't overwrite I2DEST if its value is still used by
@@ -5279,12 +5297,11 @@ simplify_set (rtx x)
which case we can safely change its mode. */
if (compare_mode != GET_MODE (dest))
{
- unsigned int regno = REGNO (dest);
- rtx new_dest = gen_rtx_REG (compare_mode, regno);
-
- if (regno < FIRST_PSEUDO_REGISTER
- || (REG_N_SETS (regno) == 1 && ! REG_USERVAR_P (dest)))
+ if (can_change_dest_mode (dest, 0, compare_mode))
{
+ unsigned int regno = REGNO (dest);
+ rtx new_dest = gen_rtx_REG (compare_mode, regno);
+
if (regno >= FIRST_PSEUDO_REGISTER)
SUBST (regno_reg_rtx[regno], new_dest);
@@ -6467,11 +6484,13 @@ make_extraction (enum machine_mode mode, rtx inner, HOST_WIDE_INT pos,
&& GET_MODE_SIZE (inner_mode) < GET_MODE_SIZE (is_mode))
offset -= GET_MODE_SIZE (is_mode) - GET_MODE_SIZE (inner_mode);
- /* If this is a constant position, we can move to the desired byte. */
+ /* If this is a constant position, we can move to the desired byte.
+ Be careful not to go beyond the original object. */
if (pos_rtx == 0)
{
- offset += pos / BITS_PER_UNIT;
- pos %= GET_MODE_BITSIZE (wanted_inner_mode);
+ enum machine_mode bfmode = smallest_mode_for_size (len, MODE_INT);
+ offset += pos / GET_MODE_BITSIZE (bfmode);
+ pos %= GET_MODE_BITSIZE (bfmode);
}
if (BYTES_BIG_ENDIAN != BITS_BIG_ENDIAN
@@ -10222,7 +10241,7 @@ simplify_comparison (enum rtx_code code, rtx *pop0, rtx *pop1)
/* (A - C1) always sign-extends, like C2. */
&& num_sign_bit_copies (a, inner_mode)
> (unsigned int) (GET_MODE_BITSIZE (inner_mode)
- - mode_width - 1)))
+ - (mode_width - 1))))
{
op0 = SUBREG_REG (op0);
continue;
diff --git a/gcc/common.opt b/gcc/common.opt
index a50268321c3..bc187a0dc6e 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -359,6 +359,10 @@ fdump-unnumbered
Common Report Var(flag_dump_unnumbered) VarExists
Suppress output of instruction numbers and line number notes in debugging dumps
+fearly-inlining
+Common Report Var(flag_early_inlining) Init(1)
+Perform early inlining
+
feliminate-dwarf2-dups
Common Report Var(flag_eliminate_dwarf2_dups)
Perform DWARF2 duplicate elimination
@@ -435,7 +439,7 @@ Perform redundant load after store elimination in global common subexpression
elimination
fgcse-after-reload
-Common Report Var(flag_gcse_after_reload) Init(2)
+Common Report Var(flag_gcse_after_reload)
Perform global common subexpression elimination after register allocation
has finished
@@ -480,9 +484,9 @@ finline-functions
Common Report Var(flag_inline_functions)
Integrate simple functions into their callers
-fearly-inlining
-Common Report Var(flag_early_inlining) Init(1)
-Perform early inlining
+finline-functions-called-once
+Common Report Var(flag_inline_functions_called_once) Init(1)
+Integrate functions called once into their callers
finline-limit-
Common RejectNegative Joined UInteger
@@ -495,6 +499,10 @@ finstrument-functions
Common Report Var(flag_instrument_function_entry_exit)
Instrument function entry and exit with profiling calls
+fipa-cp
+Common Report Var(flag_ipa_cp)
+Perform Interprocedural constant propagation
+
fipa-pure-const
Common Report Var(flag_ipa_pure_const) Init(0)
Discover pure and const functions
@@ -690,7 +698,7 @@ Common Report Var(flag_reorder_functions)
Reorder functions to improve code placement
frerun-cse-after-loop
-Common Report Var(flag_rerun_cse_after_loop)
+Common Report Var(flag_rerun_cse_after_loop) Init(2)
Add a common subexpression elimination pass after loop optimizations
frerun-loop-opt
@@ -775,10 +783,6 @@ fsingle-precision-constant
Common Report Var(flag_single_precision_constant)
Convert floating point constants to single precision constants
-fspeculative-prefetching
-Common Report Var(flag_speculative_prefetching)
-Use value profiling for speculative prefetching
-
fsplit-ivs-in-unroller
Common Report Var(flag_split_ivs_in_unroller) Init(1)
Split lifetimes of induction variables when loops are unrolled
@@ -859,10 +863,6 @@ ftrapv
Common Report Var(flag_trapv)
Trap for signed overflow in addition, subtraction and multiplication
-ftree-based-profiling
-Common Report Var(flag_tree_based_profiling)
-Use tree-ssa based implementation of profiling
-
ftree-ccp
Common Report Var(flag_tree_ccp)
Enable SSA-CCP optimization on trees
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 8ea8115617a..5b1b2e12c7b 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -533,14 +533,14 @@ case ${target} in
;;
*-*-vxworks*)
tmake_file=t-vxworks
- tm_file="${tm_file} elfos.h svr4.h vxworks.h"
+ tm_file="${tm_file} elfos.h svr4.h"
+ xm_defines=POSIX
+ extra_options="${extra_options} vxworks.opt"
case ${enable_threads} in
no) ;;
"" | yes | vxworks) thread_file='vxworks' ;;
*) echo 'Unknown thread configuration for VxWorks'; exit 1 ;;
esac
- use_collect2=yes
- xm_defines=POSIX
;;
esac
@@ -1019,7 +1019,7 @@ i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu)
i[34567]86-*-knetbsd*-gnu) tm_file="${tm_file} knetbsd-gnu.h i386/knetbsd-gnu.h" ;;
i[34567]86-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu.h" ;;
esac
- tmake_file="${tmake_file} i386/t-crtstuff"
+ tmake_file="${tmake_file} i386/t-crtstuff i386/t-crtfm"
;;
x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h \
@@ -1028,7 +1028,7 @@ x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
x86_64-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h" ;;
x86_64-*-knetbsd*-gnu) tm_file="${tm_file} knetbsd-gnu.h" ;;
esac
- tmake_file="${tmake_file} i386/t-linux64"
+ tmake_file="${tmake_file} i386/t-linux64 i386/t-crtfm"
;;
i[34567]86-*-gnu*)
;;
@@ -1169,9 +1169,18 @@ i[34567]86-*-sysv4*) # Intel 80386's running system V.4
extra_parts="crtbegin.o crtend.o"
use_fixproto=yes
;;
-i[4567]86-wrs-vxworks)
- tm_file="${tm_file} i386/sysv4.h i386/unix.h i386/vxworks.h"
- tmake_file="${tmake_file} i386/t-vxworks"
+i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
+ tm_file="${tm_file} i386/sysv4.h i386/unix.h i386/att.h vx-common.h"
+ case ${target} in
+ *-vxworksae*)
+ tm_file="${tm_file} vxworksae.h i386/vxworksae.h"
+ tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae"
+ ;;
+ *)
+ tm_file="${tm_file} vxworks.h i386/vxworks.h"
+ tmake_file="${tmake_file} i386/t-vxworks"
+ ;;
+ esac
;;
i[34567]86-*-pe | i[34567]86-*-cygwin*)
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h"
@@ -1553,6 +1562,20 @@ mn10300-*-*)
use_collect2=no
use_fixproto=yes
;;
+ms1-*-elf)
+ tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
+ tmake_file="${tmake_file} ms1/t-ms1"
+ ;;
+ns32k-*-netbsdelf*)
+ echo "GCC does not yet support the ${target} target"; exit 1
+ ;;
+ns32k-*-netbsd*)
+ tm_file="${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
+ # On NetBSD, the headers are already okay, except for math.h.
+ tmake_file="t-netbsd ns32k/t-ns32k"
+ extra_parts=""
+ use_collect2=yes
+ ;;
pdp11-*-bsd)
tm_file="${tm_file} pdp11/2bsd.h"
use_fixproto=yes
@@ -1708,22 +1731,30 @@ powerpc-*-gnu*)
thread_file='posix'
fi
;;
-powerpc-wrs-vxworks*)
+powerpc-wrs-vxworks|powerpc-wrs-vxworksae)
# We want vxworks.h after rs6000/sysv4.h, which unfortunately
# means we have to redo the tm_file list from scratch.
tm_file="rs6000/rs6000.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
- tm_file="${tm_file} vxworks.h rs6000/vxworks.h"
tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm rs6000/t-vxworks"
extra_options="${extra_options} rs6000/sysv4.opt"
extra_headers=ppc-asm.h
+ case ${target} in
+ *-vxworksae*)
+ tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/vxworksae.h"
+ tmake_file="${tmake_file} rs6000/t-vxworksae"
+ ;;
+ *-vxworks*)
+ tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h"
+ ;;
+ esac
;;
-powerpc-wrs-windiss*) # Instruction-level simulator for VxWorks.
+powerpc-wrs-windiss*) # Instruction-level simulator for VxWorks.
tm_file="${tm_file} elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/windiss.h"
- tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
+ tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
extra_options="${extra_options} rs6000/sysv4.opt"
- thread_file=""
+ thread_file=""
use_fixproto=yes
- ;;
+ ;;
powerpc-*-lynxos*)
xm_defines=POSIX
tm_file="${tm_file} dbxelf.h elfos.h rs6000/sysv4.h rs6000/lynx.h lynx.h"
@@ -2657,7 +2688,7 @@ case "${target}" in
for which in arch tune; do
eval "val=\$with_$which"
case ${val} in
- "" | g5 | g6 | z900 | z990)
+ "" | g5 | g6 | z900 | z990 | z9-109)
# OK
;;
*)
@@ -2847,7 +2878,7 @@ case ${target} in
;;
esac
- # The Sparc port checks this value at compile-time.
+ # The SPARC port checks this value at compile-time.
target_cpu_default2="TARGET_CPU_$with_cpu"
;;
v850*-*-*)
diff --git a/gcc/config.in b/gcc/config.in
index 3fc2f58a64f..fa39a356efc 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -611,12 +611,6 @@
#endif
-/* Define to 1 if you have the `dup2' function. */
-#ifndef USED_FOR_TARGET
-#undef HAVE_DUP2
-#endif
-
-
/* Define to 1 if you have the <fcntl.h> header file. */
#ifndef USED_FOR_TARGET
#undef HAVE_FCNTL_H
@@ -958,12 +952,6 @@
#endif
-/* Define if printf supports "%p". */
-#ifndef USED_FOR_TARGET
-#undef HAVE_PRINTF_PTR
-#endif
-
-
/* Define to 1 if you have the `putchar_unlocked' function. */
#ifndef USED_FOR_TARGET
#undef HAVE_PUTCHAR_UNLOCKED
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index 0e90b8dcc01..808116a158d 100644
--- a/gcc/config/alpha/alpha.c
+++ b/gcc/config/alpha/alpha.c
@@ -5684,7 +5684,7 @@ alpha_arg_partial_bytes (CUMULATIVE_ARGS *cum ATTRIBUTE_UNUSED,
#if TARGET_ABI_OPEN_VMS
if (cum->num_args < 6
&& 6 < cum->num_args + ALPHA_ARG_SIZE (mode, type, named))
- words = 6 - (CUM).num_args;
+ words = 6 - cum->num_args;
#elif TARGET_ABI_UNICOSMK
/* Never any split arguments. */
#elif TARGET_ABI_OSF
@@ -6090,6 +6090,7 @@ alpha_setup_incoming_varargs (CUMULATIVE_ARGS *pcum, enum machine_mode mode,
tmp = gen_rtx_MEM (BLKmode,
plus_constant (virtual_incoming_args_rtx,
(cum + 6) * UNITS_PER_WORD));
+ MEM_NOTRAP_P (tmp) = 1;
set_mem_alias_set (tmp, set);
move_block_from_reg (16 + cum, tmp, count);
}
@@ -6099,6 +6100,7 @@ alpha_setup_incoming_varargs (CUMULATIVE_ARGS *pcum, enum machine_mode mode,
tmp = gen_rtx_MEM (BLKmode,
plus_constant (virtual_incoming_args_rtx,
cum * UNITS_PER_WORD));
+ MEM_NOTRAP_P (tmp) = 1;
set_mem_alias_set (tmp, set);
move_block_from_reg (16 + cum + TARGET_FPREGS*32, tmp, count);
}
@@ -8731,6 +8733,11 @@ alpha_handle_trap_shadows (void)
/* Alpha can only issue instruction groups simultaneously if they are
suitably aligned. This is very processor-specific. */
+/* There are a number of entries in alphaev4_insn_pipe and alphaev5_insn_pipe
+ that are marked "fake". These instructions do not exist on that target,
+ but it is possible to see these insns with deranged combinations of
+ command-line options, such as "-mtune=ev4 -mmax". Instead of aborting,
+ choose a result at random. */
enum alphaev4_pipe {
EV4_STOP = 0,
@@ -8774,6 +8781,7 @@ alphaev4_insn_pipe (rtx insn)
case TYPE_SHIFT:
case TYPE_IMUL:
case TYPE_FBR:
+ case TYPE_MVI: /* fake */
return EV4_IB0;
case TYPE_IST:
@@ -8788,6 +8796,9 @@ alphaev4_insn_pipe (rtx insn)
case TYPE_FMUL:
case TYPE_ST_C:
case TYPE_MB:
+ case TYPE_FSQRT: /* fake */
+ case TYPE_FTOI: /* fake */
+ case TYPE_ITOF: /* fake */
return EV4_IB1;
default:
@@ -8823,6 +8834,8 @@ alphaev5_insn_pipe (rtx insn)
case TYPE_LD_L:
case TYPE_ST_C:
case TYPE_MB:
+ case TYPE_FTOI: /* fake */
+ case TYPE_ITOF: /* fake */
return EV5_E0;
case TYPE_IBR:
@@ -8837,6 +8850,7 @@ alphaev5_insn_pipe (rtx insn)
case TYPE_FCMOV:
case TYPE_FADD:
case TYPE_FDIV:
+ case TYPE_FSQRT: /* fake */
return EV5_FA;
case TYPE_FMUL:
diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h
index 19668e920bc..91689fbb564 100644
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -735,7 +735,7 @@ extern int alpha_memory_latency;
makes the stack pointer a smaller address. */
#define STACK_GROWS_DOWNWARD
-/* Define this to non-zero if the nominal address of the stack frame
+/* Define this to nonzero if the nominal address of the stack frame
is at the high-address end of the local variables;
that is, each additional local variable allocated
goes at a more negative offset in the frame. */
@@ -1365,11 +1365,6 @@ do { \
} \
while (0)
-/* This is how to output an element of a case-vector that is absolute.
- (Alpha does not use such vectors, but we must define this macro anyway.) */
-
-#define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE) gcc_unreachable ()
-
/* This is how to output an element of a case-vector that is relative. */
#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) \
diff --git a/gcc/config/alpha/linux.h b/gcc/config/alpha/linux.h
index 0773462692d..2768748a2d9 100644
--- a/gcc/config/alpha/linux.h
+++ b/gcc/config/alpha/linux.h
@@ -67,7 +67,7 @@ Boston, MA 02110-1301, USA. */
/* Define this so that all GNU/Linux targets handle the same pragmas. */
#define HANDLE_PRAGMA_PACK_PUSH_POP
-/* Determine whether the the entire c99 runtime is present in the
+/* Determine whether the entire c99 runtime is present in the
runtime library. */
#define TARGET_C99_FUNCTIONS 1
diff --git a/gcc/config/alpha/predicates.md b/gcc/config/alpha/predicates.md
index 51f9f6078bd..fc330ff12c3 100644
--- a/gcc/config/alpha/predicates.md
+++ b/gcc/config/alpha/predicates.md
@@ -72,7 +72,7 @@
(and (match_code "const_int,const_double,const_vector")
(not (match_operand 0 "add_operand"))))
-;; Return 1 if the operand is a non-symbolic, non-zero constant operand.
+;; Return 1 if the operand is a non-symbolic, nonzero constant operand.
(define_predicate "non_zero_const_operand"
(and (match_code "const_int,const_double,const_vector")
(match_test "op != CONST0_RTX (mode)")))
@@ -89,7 +89,8 @@
|| (unsigned HOST_WIDE_INT) ~ INTVAL (op) < 0x100
|| zap_mask (INTVAL (op))")
(if_then_else (match_code "const_double")
- (match_test "zap_mask (CONST_DOUBLE_LOW (op))
+ (match_test "GET_MODE (op) == VOIDmode
+ && zap_mask (CONST_DOUBLE_LOW (op))
&& zap_mask (CONST_DOUBLE_HIGH (op))")
(match_operand 0 "register_operand"))))
diff --git a/gcc/config/arc/arc.h b/gcc/config/arc/arc.h
index 524a88a4e4f..c7253b1146f 100644
--- a/gcc/config/arc/arc.h
+++ b/gcc/config/arc/arc.h
@@ -455,7 +455,7 @@ extern enum reg_class arc_regno_reg_class[FIRST_PSEUDO_REGISTER];
pointer to a smaller address. */
#define STACK_GROWS_DOWNWARD
-/* Define this to non-zero if the nominal address of the stack frame
+/* Define this to nonzero if the nominal address of the stack frame
is at the high-address end of the local variables;
that is, each additional local variable allocated
goes at a more negative offset in the frame. */
diff --git a/gcc/config/arm/arm-protos.h b/gcc/config/arm/arm-protos.h
index b15fe10ce43..c7ec642c728 100644
--- a/gcc/config/arm/arm-protos.h
+++ b/gcc/config/arm/arm-protos.h
@@ -27,7 +27,7 @@
extern void arm_override_options (void);
extern int use_return_insn (int, rtx);
extern int arm_regno_class (int);
-extern void arm_load_pic_register (unsigned int);
+extern void arm_load_pic_register (unsigned long);
extern int arm_volatile_func (void);
extern const char *arm_output_epilogue (rtx);
extern void arm_expand_prologue (void);
@@ -52,7 +52,8 @@ extern int arm_hard_regno_mode_ok (unsigned int, enum machine_mode);
extern int const_ok_for_arm (HOST_WIDE_INT);
extern int arm_split_constant (RTX_CODE, enum machine_mode, rtx,
HOST_WIDE_INT, rtx, rtx, int);
-extern RTX_CODE arm_canonicalize_comparison (RTX_CODE, rtx *);
+extern RTX_CODE arm_canonicalize_comparison (RTX_CODE, enum machine_mode,
+ rtx *);
extern int legitimate_pic_operand_p (rtx);
extern rtx legitimize_pic_address (rtx, enum machine_mode, rtx);
extern int arm_legitimate_address_p (enum machine_mode, rtx, RTX_CODE, int);
@@ -60,6 +61,8 @@ extern int thumb_legitimate_address_p (enum machine_mode, rtx, int);
extern int thumb_legitimate_offset_p (enum machine_mode, HOST_WIDE_INT);
extern rtx arm_legitimize_address (rtx, rtx, enum machine_mode);
extern rtx thumb_legitimize_address (rtx, rtx, enum machine_mode);
+extern rtx thumb_legitimize_reload_address (rtx *, enum machine_mode, int, int,
+ int);
extern int arm_const_double_rtx (rtx);
extern int neg_const_double_rtx_ok_for_fpa (rtx);
extern enum reg_class vfp_secondary_reload_class (enum machine_mode, rtx);
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 31fa08efaa4..128edb699e2 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -1010,6 +1010,11 @@ arm_override_options (void)
target_flags &= ~MASK_APCS_FRAME;
}
+ /* Callee super interworking implies thumb interworking. Adding
+ this to the flags here simplifies the logic elsewhere. */
+ if (TARGET_THUMB && TARGET_CALLEE_INTERWORKING)
+ target_flags |= MASK_INTERWORK;
+
/* TARGET_BACKTRACE calls leaf_function_p, which causes a crash if done
from here where no function is being compiled currently. */
if ((TARGET_TPCS_FRAME || TARGET_TPCS_LEAF_FRAME) && TARGET_ARM)
@@ -1229,10 +1234,6 @@ arm_override_options (void)
if (optimize_size)
{
- /* There's some dispute as to whether this should be 1 or 2. However,
- experiments seem to show that in pathological cases a setting of
- 1 degrades less severely than a setting of 2. This could change if
- other parts of the compiler change their behavior. */
arm_constant_limit = 1;
/* If optimizing for size, bump the number of instructions that we
@@ -2328,9 +2329,12 @@ arm_gen_constant (enum rtx_code code, enum machine_mode mode, rtx cond,
immediate value easier to load. */
enum rtx_code
-arm_canonicalize_comparison (enum rtx_code code, rtx * op1)
+arm_canonicalize_comparison (enum rtx_code code, enum machine_mode mode,
+ rtx * op1)
{
unsigned HOST_WIDE_INT i = INTVAL (*op1);
+ unsigned HOST_WIDE_INT maxval;
+ maxval = (((unsigned HOST_WIDE_INT) 1) << (GET_MODE_BITSIZE(mode) - 1)) - 1;
switch (code)
{
@@ -2340,7 +2344,7 @@ arm_canonicalize_comparison (enum rtx_code code, rtx * op1)
case GT:
case LE:
- if (i != ((((unsigned HOST_WIDE_INT) 1) << (HOST_BITS_PER_WIDE_INT - 1)) - 1)
+ if (i != maxval
&& (const_ok_for_arm (i + 1) || const_ok_for_arm (-(i + 1))))
{
*op1 = GEN_INT (i + 1);
@@ -2350,7 +2354,7 @@ arm_canonicalize_comparison (enum rtx_code code, rtx * op1)
case GE:
case LT:
- if (i != (((unsigned HOST_WIDE_INT) 1) << (HOST_BITS_PER_WIDE_INT - 1))
+ if (i != ~maxval
&& (const_ok_for_arm (i - 1) || const_ok_for_arm (-(i - 1))))
{
*op1 = GEN_INT (i - 1);
@@ -3277,7 +3281,7 @@ thumb_find_work_register (unsigned long pushed_regs_mask)
low register. */
void
-arm_load_pic_register (unsigned int scratch)
+arm_load_pic_register (unsigned long saved_regs ATTRIBUTE_UNUSED)
{
#ifndef AOF_ASSEMBLER
rtx l1, pic_tmp, pic_tmp2, pic_rtx;
@@ -3311,9 +3315,10 @@ arm_load_pic_register (unsigned int scratch)
{
if (REGNO (pic_offset_table_rtx) > LAST_LO_REGNUM)
{
- /* We will have pushed the pic register, so should always be
+ /* We will have pushed the pic register, so we should always be
able to find a work register. */
- pic_tmp = gen_rtx_REG (SImode, scratch);
+ pic_tmp = gen_rtx_REG (SImode,
+ thumb_find_work_register (saved_regs));
emit_insn (gen_pic_load_addr_thumb (pic_tmp, pic_rtx));
emit_insn (gen_movsi (pic_offset_table_rtx, pic_tmp));
}
@@ -3750,6 +3755,34 @@ arm_legitimize_address (rtx x, rtx orig_x, enum machine_mode mode)
x = gen_rtx_MINUS (SImode, xop0, xop1);
}
+ /* Make sure to take full advantage of the pre-indexed addressing mode
+ with absolute addresses which often allows for the base register to
+ be factorized for multiple adjacent memory references, and it might
+ even allows for the mini pool to be avoided entirely. */
+ else if (GET_CODE (x) == CONST_INT && optimize > 0)
+ {
+ unsigned int bits;
+ HOST_WIDE_INT mask, base, index;
+ rtx base_reg;
+
+ /* ldr and ldrb can use a 12 bit index, ldrsb and the rest can only
+ use a 8 bit index. So let's use a 12 bit index for SImode only and
+ hope that arm_gen_constant will enable ldrb to use more bits. */
+ bits = (mode == SImode) ? 12 : 8;
+ mask = (1 << bits) - 1;
+ base = INTVAL (x) & ~mask;
+ index = INTVAL (x) & mask;
+ if (bit_count (base) > (32 - bits)/2)
+ {
+ /* It'll most probably be more efficient to generate the base
+ with more bits set and use a negative index instead. */
+ base |= mask;
+ index -= mask;
+ }
+ base_reg = force_reg (SImode, GEN_INT (base));
+ x = gen_rtx_PLUS (SImode, base_reg, GEN_INT (index));
+ }
+
if (flag_pic)
{
/* We need to find and carefully transform any SYMBOL and LABEL
@@ -3831,6 +3864,49 @@ thumb_legitimize_address (rtx x, rtx orig_x, enum machine_mode mode)
return x;
}
+rtx
+thumb_legitimize_reload_address(rtx *x_p,
+ enum machine_mode mode,
+ int opnum, int type,
+ int ind_levels ATTRIBUTE_UNUSED)
+{
+ rtx x = *x_p;
+
+ if (GET_CODE (x) == PLUS
+ && GET_MODE_SIZE (mode) < 4
+ && REG_P (XEXP (x, 0))
+ && XEXP (x, 0) == stack_pointer_rtx
+ && GET_CODE (XEXP (x, 1)) == CONST_INT
+ && !thumb_legitimate_offset_p (mode, INTVAL (XEXP (x, 1))))
+ {
+ rtx orig_x = x;
+
+ x = copy_rtx (x);
+ push_reload (orig_x, NULL_RTX, x_p, NULL, MODE_BASE_REG_CLASS (mode),
+ Pmode, VOIDmode, 0, 0, opnum, type);
+ return x;
+ }
+
+ /* If both registers are hi-regs, then it's better to reload the
+ entire expression rather than each register individually. That
+ only requires one reload register rather than two. */
+ if (GET_CODE (x) == PLUS
+ && REG_P (XEXP (x, 0))
+ && REG_P (XEXP (x, 1))
+ && !REG_MODE_OK_FOR_REG_BASE_P (XEXP (x, 0), mode)
+ && !REG_MODE_OK_FOR_REG_BASE_P (XEXP (x, 1), mode))
+ {
+ rtx orig_x = x;
+
+ x = copy_rtx (x);
+ push_reload (orig_x, NULL_RTX, x_p, NULL, MODE_BASE_REG_CLASS (mode),
+ Pmode, VOIDmode, 0, 0, opnum, type);
+ return x;
+ }
+
+ return NULL;
+}
+
#define REG_OR_SUBREG_REG(X) \
@@ -4920,7 +4996,7 @@ cirrus_memory_offset (rtx op)
return 0;
}
-/* Return TRUE if OP is a valid VFP memory address pattern.
+/* Return TRUE if OP is a valid coprocessor memory address pattern.
WB if true if writeback address modes are allowed. */
int
@@ -8927,11 +9003,10 @@ thumb_compute_save_reg_mask (void)
if (regs_ever_live[reg] && !call_used_regs[reg])
mask |= 1 << reg;
- if (flag_pic && !TARGET_SINGLE_PIC_BASE)
- mask |= (1 << PIC_OFFSET_TABLE_REGNUM);
-
- if (TARGET_SINGLE_PIC_BASE)
- mask &= ~(1 << arm_pic_register);
+ if (flag_pic
+ && !TARGET_SINGLE_PIC_BASE
+ && current_function_uses_pic_offset_table)
+ mask |= 1 << PIC_OFFSET_TABLE_REGNUM;
/* See if we might need r11 for calls to _interwork_r11_call_via_rN(). */
if (!frame_pointer_needed && CALLER_INTERWORKING_SLOT_SIZE > 0)
@@ -9941,7 +10016,7 @@ thumb_force_lr_save (void)
| | \
| | local
| | variables
- | | /
+ locals base pointer -> | | /
--
| | \
| | outgoing
@@ -10058,8 +10133,9 @@ arm_get_frame_offsets (void)
&& (offsets->soft_frame & 7))
offsets->soft_frame += 4;
- offsets->outgoing_args = offsets->soft_frame + frame_size
- + current_function_outgoing_args_size;
+ offsets->locals_base = offsets->soft_frame + frame_size;
+ offsets->outgoing_args = (offsets->locals_base
+ + current_function_outgoing_args_size);
if (ARM_DOUBLEWORD_ALIGN)
{
@@ -10459,7 +10535,7 @@ arm_expand_prologue (void)
if (flag_pic)
- arm_load_pic_register (INVALID_REGNUM);
+ arm_load_pic_register (0UL);
/* If we are profiling, make sure no instructions are scheduled before
the call to mcount. Similarly if the user has requested no
@@ -13107,8 +13183,10 @@ arm_init_expanders (void)
}
-/* Like arm_compute_initial_elimination offset. Simpler because
- THUMB_HARD_FRAME_POINTER isn't actually the ABI specified frame pointer. */
+/* Like arm_compute_initial_elimination offset. Simpler because there
+ isn't an ABI specified frame pointer for Thumb. Instead, we set it
+ to point at the base of the local variables after static stack
+ space for a function has been allocated. */
HOST_WIDE_INT
thumb_compute_initial_elimination_offset (unsigned int from, unsigned int to)
@@ -13128,10 +13206,12 @@ thumb_compute_initial_elimination_offset (unsigned int from, unsigned int to)
case FRAME_POINTER_REGNUM:
return offsets->soft_frame - offsets->saved_args;
- case THUMB_HARD_FRAME_POINTER_REGNUM:
case ARM_HARD_FRAME_POINTER_REGNUM:
return offsets->saved_regs - offsets->saved_args;
+ case THUMB_HARD_FRAME_POINTER_REGNUM:
+ return offsets->locals_base - offsets->saved_args;
+
default:
gcc_unreachable ();
}
@@ -13143,10 +13223,12 @@ thumb_compute_initial_elimination_offset (unsigned int from, unsigned int to)
case STACK_POINTER_REGNUM:
return offsets->outgoing_args - offsets->soft_frame;
- case THUMB_HARD_FRAME_POINTER_REGNUM:
case ARM_HARD_FRAME_POINTER_REGNUM:
return offsets->saved_regs - offsets->soft_frame;
+ case THUMB_HARD_FRAME_POINTER_REGNUM:
+ return offsets->locals_base - offsets->soft_frame;
+
default:
gcc_unreachable ();
}
@@ -13186,20 +13268,13 @@ thumb_expand_prologue (void)
/* Load the pic register before setting the frame pointer,
so we can use r7 as a temporary work register. */
if (flag_pic)
- arm_load_pic_register (thumb_find_work_register (live_regs_mask));
-
- offsets = arm_get_frame_offsets ();
+ arm_load_pic_register (live_regs_mask);
- if (frame_pointer_needed)
- {
- insn = emit_insn (gen_movsi (hard_frame_pointer_rtx,
- stack_pointer_rtx));
- RTX_FRAME_RELATED_P (insn) = 1;
- }
- else if (CALLER_INTERWORKING_SLOT_SIZE > 0)
+ if (!frame_pointer_needed && CALLER_INTERWORKING_SLOT_SIZE > 0)
emit_move_insn (gen_rtx_REG (Pmode, ARM_HARD_FRAME_POINTER_REGNUM),
stack_pointer_rtx);
+ offsets = arm_get_frame_offsets ();
amount = offsets->outgoing_args - offsets->saved_regs;
if (amount)
{
@@ -13285,12 +13360,29 @@ thumb_expand_prologue (void)
REG_NOTES (insn));
}
}
- /* If the frame pointer is needed, emit a special barrier that
- will prevent the scheduler from moving stores to the frame
- before the stack adjustment. */
- if (frame_pointer_needed)
- emit_insn (gen_stack_tie (stack_pointer_rtx,
- hard_frame_pointer_rtx));
+ }
+
+ if (frame_pointer_needed)
+ {
+ amount = offsets->outgoing_args - offsets->locals_base;
+
+ if (amount < 1024)
+ insn = emit_insn (gen_addsi3 (hard_frame_pointer_rtx,
+ stack_pointer_rtx, GEN_INT (amount)));
+ else
+ {
+ emit_insn (gen_movsi (hard_frame_pointer_rtx, GEN_INT (amount)));
+ insn = emit_insn (gen_addsi3 (hard_frame_pointer_rtx,
+ hard_frame_pointer_rtx,
+ stack_pointer_rtx));
+ dwarf = gen_rtx_SET (SImode, hard_frame_pointer_rtx,
+ plus_constant (stack_pointer_rtx, amount));
+ RTX_FRAME_RELATED_P (dwarf) = 1;
+ REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_FRAME_RELATED_EXPR, dwarf,
+ REG_NOTES (insn));
+ }
+
+ RTX_FRAME_RELATED_P (insn) = 1;
}
if (current_function_profile || !TARGET_SCHED_PROLOG)
@@ -13322,8 +13414,12 @@ thumb_expand_epilogue (void)
amount = offsets->outgoing_args - offsets->saved_regs;
if (frame_pointer_needed)
- emit_insn (gen_movsi (stack_pointer_rtx, hard_frame_pointer_rtx));
- else if (amount)
+ {
+ emit_insn (gen_movsi (stack_pointer_rtx, hard_frame_pointer_rtx));
+ amount = offsets->locals_base - offsets->saved_regs;
+ }
+
+ if (amount)
{
if (amount < 512)
emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx,
@@ -14735,7 +14831,7 @@ arm_unwind_emit_stm (FILE * asm_out_file, rtx p)
if (reg < 16)
{
/* The function prologue may also push pc, but not annotate it as it is
- never restored. We turn this into an stack pointer adjustment. */
+ never restored. We turn this into a stack pointer adjustment. */
if (nregs * 4 == offset - 4)
{
fprintf (asm_out_file, "\t.pad #4\n");
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index 327393c7e3d..64b5e373d3c 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -1282,23 +1282,15 @@ enum reg_class
/* We could probably achieve better results by defining PROMOTE_MODE to help
cope with the variances between the Thumb's signed and unsigned byte and
halfword load instructions. */
-#define THUMB_LEGITIMIZE_RELOAD_ADDRESS(X, MODE, OPNUM, TYPE, IND_LEVELS, WIN) \
-{ \
- if (GET_CODE (X) == PLUS \
- && GET_MODE_SIZE (MODE) < 4 \
- && GET_CODE (XEXP (X, 0)) == REG \
- && XEXP (X, 0) == stack_pointer_rtx \
- && GET_CODE (XEXP (X, 1)) == CONST_INT \
- && ! thumb_legitimate_offset_p (MODE, INTVAL (XEXP (X, 1)))) \
- { \
- rtx orig_X = X; \
- X = copy_rtx (X); \
- push_reload (orig_X, NULL_RTX, &X, NULL, \
- MODE_BASE_REG_CLASS (MODE), \
- Pmode, VOIDmode, 0, 0, OPNUM, TYPE); \
- goto WIN; \
- } \
-}
+#define THUMB_LEGITIMIZE_RELOAD_ADDRESS(X, MODE, OPNUM, TYPE, IND_L, WIN) \
+do { \
+ rtx new_x = thumb_legitimize_reload_address (&X, MODE, OPNUM, TYPE, IND_L); \
+ if (new_x) \
+ { \
+ X = new_x; \
+ goto WIN; \
+ } \
+} while (0)
#define LEGITIMIZE_RELOAD_ADDRESS(X, MODE, OPNUM, TYPE, IND_LEVELS, WIN) \
if (TARGET_ARM) \
@@ -1337,7 +1329,7 @@ enum reg_class
makes the stack pointer a smaller address. */
#define STACK_GROWS_DOWNWARD 1
-/* Define this to non-zero if the nominal address of the stack frame
+/* Define this to nonzero if the nominal address of the stack frame
is at the high-address end of the local variables;
that is, each additional local variable allocated
goes at a more negative offset in the frame. */
@@ -1484,6 +1476,7 @@ typedef struct arm_stack_offsets GTY(())
int frame; /* ARM_HARD_FRAME_POINTER_REGNUM. */
int saved_regs;
int soft_frame; /* FRAME_POINTER_REGNUM. */
+ int locals_base; /* THUMB_HARD_FRAME_POINTER_REGNUM. */
int outgoing_args; /* STACK_POINTER_REGNUM. */
}
arm_stack_offsets;
@@ -2243,7 +2236,8 @@ extern int making_const_table;
|| (const_ok_for_arm (- INTVAL (OP1))))) \
{ \
rtx const_op = OP1; \
- CODE = arm_canonicalize_comparison ((CODE), &const_op); \
+ CODE = arm_canonicalize_comparison ((CODE), GET_MODE (OP0), \
+ &const_op); \
OP1 = const_op; \
} \
} \
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index 052a96fd7ca..3bc62de65e9 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -4951,13 +4951,21 @@
[(set_attr "predicable" "yes")]
)
-(define_insn "thumb_movhi_clobber"
- [(set (match_operand:HI 0 "memory_operand" "=m")
- (match_operand:HI 1 "register_operand" "l"))
- (clobber (match_operand:SI 2 "register_operand" "=&l"))]
+(define_expand "thumb_movhi_clobber"
+ [(set (match_operand:HI 0 "memory_operand" "")
+ (match_operand:HI 1 "register_operand" ""))
+ (clobber (match_operand:DI 2 "register_operand" ""))]
"TARGET_THUMB"
- "*
- gcc_unreachable ();"
+ "
+ if (strict_memory_address_p (HImode, XEXP (operands[0], 0))
+ && REGNO (operands[1]) <= LAST_LO_REGNUM)
+ {
+ emit_insn (gen_movhi (operands[0], operands[1]));
+ DONE;
+ }
+ /* XXX Fixme, need to handle other cases here as well. */
+ gcc_unreachable ();
+ "
)
;; We use a DImode scratch because we may occasionally need an additional
@@ -9405,396 +9413,6 @@
(set_attr "type" "load1")]
)
-;; the arm can support extended pre-inc instructions
-
-;; In all these cases, we use operands 0 and 1 for the register being
-;; incremented because those are the operands that local-alloc will
-;; tie and these are the pair most likely to be tieable (and the ones
-;; that will benefit the most).
-
-;; We reject the frame pointer if it occurs anywhere in these patterns since
-;; elimination will cause too many headaches.
-
-(define_insn "*strqi_preinc"
- [(set (mem:QI (plus:SI (match_operand:SI 1 "s_register_operand" "%0")
- (match_operand:SI 2 "index_operand" "rJ")))
- (match_operand:QI 3 "s_register_operand" "r"))
- (set (match_operand:SI 0 "s_register_operand" "=r")
- (plus:SI (match_dup 1) (match_dup 2)))]
- "TARGET_ARM
- && !arm_eliminable_register (operands[0])
- && !arm_eliminable_register (operands[1])
- && !arm_eliminable_register (operands[2])"
- "str%?b\\t%3, [%0, %2]!"
- [(set_attr "type" "store1")
- (set_attr "predicable" "yes")]
-)
-
-(define_insn "*strqi_predec"
- [(set (mem:QI (minus:SI (match_operand:SI 1 "s_register_operand" "0")
- (match_operand:SI 2 "s_register_operand" "r")))
- (match_operand:QI 3 "s_register_operand" "r"))
- (set (match_operand:SI 0 "s_register_operand" "=r")
- (minus:SI (match_dup 1) (match_dup 2)))]
- "TARGET_ARM
- && !arm_eliminable_register (operands[0])
- && !arm_eliminable_register (operands[1])
- && !arm_eliminable_register (operands[2])"
- "str%?b\\t%3, [%0, -%2]!"
- [(set_attr "type" "store1")
- (set_attr "predicable" "yes")]
-)
-
-(define_insn "*loadqi_preinc"
- [(set (match_operand:QI 3 "s_register_operand" "=r")
- (mem:QI (plus:SI (match_operand:SI 1 "s_register_operand" "%0")
- (match_operand:SI 2 "index_operand" "rJ"))))
- (set (match_operand:SI 0 "s_register_operand" "=r")
- (plus:SI (match_dup 1) (match_dup 2)))]
- "TARGET_ARM
- && !arm_eliminable_register (operands[0])
- && !arm_eliminable_register (operands[1])
- && !arm_eliminable_register (operands[2])"
- "ldr%?b\\t%3, [%0, %2]!"
- [(set_attr "type" "load_byte")
- (set_attr "predicable" "yes")]
-)
-
-(define_insn "*loadqi_predec"
- [(set (match_operand:QI 3 "s_register_operand" "=r")
- (mem:QI (minus:SI (match_operand:SI 1 "s_register_operand" "0")
- (match_operand:SI 2 "s_register_operand" "r"))))
- (set (match_operand:SI 0 "s_register_operand" "=r")
- (minus:SI (match_dup 1) (match_dup 2)))]
- "TARGET_ARM
- && !arm_eliminable_register (operands[0])
- && !arm_eliminable_register (operands[1])
- && !arm_eliminable_register (operands[2])"
- "ldr%?b\\t%3, [%0, -%2]!"
- [(set_attr "type" "load_byte")
- (set_attr "predicable" "yes")]
-)
-
-(define_insn "*loadqisi_preinc"
- [(set (match_operand:SI 3 "s_register_operand" "=r")
- (zero_extend:SI
- (mem:QI (plus:SI (match_operand:SI 1 "s_register_operand" "%0")
- (match_operand:SI 2 "index_operand" "rJ")))))
- (set (match_operand:SI 0 "s_register_operand" "=r")
- (plus:SI (match_dup 1) (match_dup 2)))]
- "TARGET_ARM
- && !arm_eliminable_register (operands[0])
- && !arm_eliminable_register (operands[1])
- && !arm_eliminable_register (operands[2])"
- "ldr%?b\\t%3, [%0, %2]!\\t%@ z_extendqisi"
- [(set_attr "type" "load_byte")
- (set_attr "predicable" "yes")]
-)
-
-(define_insn "*loadqisi_predec"
- [(set (match_operand:SI 3 "s_register_operand" "=r")
- (zero_extend:SI
- (mem:QI (minus:SI (match_operand:SI 1 "s_register_operand" "0")
- (match_operand:SI 2 "s_register_operand" "r")))))
- (set (match_operand:SI 0 "s_register_operand" "=r")
- (minus:SI (match_dup 1) (match_dup 2)))]
- "TARGET_ARM
- && !arm_eliminable_register (operands[0])
- && !arm_eliminable_register (operands[1])
- && !arm_eliminable_register (operands[2])"
- "ldr%?b\\t%3, [%0, -%2]!\\t%@ z_extendqisi"
- [(set_attr "type" "load_byte")
- (set_attr "predicable" "yes")]
-)
-
-(define_insn "*strsi_preinc"
- [(set (mem:SI (plus:SI (match_operand:SI 1 "s_register_operand" "%0")
- (match_operand:SI 2 "index_operand" "rJ")))
- (match_operand:SI 3 "s_register_operand" "r"))
- (set (match_operand:SI 0 "s_register_operand" "=r")
- (plus:SI (match_dup 1) (match_dup 2)))]
- "TARGET_ARM
- && !arm_eliminable_register (operands[0])
- && !arm_eliminable_register (operands[1])
- && !arm_eliminable_register (operands[2])"
- "str%?\\t%3, [%0, %2]!"
- [(set_attr "type" "store1")
- (set_attr "predicable" "yes")]
-)
-
-(define_insn "*strsi_predec"
- [(set (mem:SI (minus:SI (match_operand:SI 1 "s_register_operand" "0")
- (match_operand:SI 2 "s_register_operand" "r")))
- (match_operand:SI 3 "s_register_operand" "r"))
- (set (match_operand:SI 0 "s_register_operand" "=r")
- (minus:SI (match_dup 1) (match_dup 2)))]
- "TARGET_ARM
- && !arm_eliminable_register (operands[0])
- && !arm_eliminable_register (operands[1])
- && !arm_eliminable_register (operands[2])"
- "str%?\\t%3, [%0, -%2]!"
- [(set_attr "type" "store1")
- (set_attr "predicable" "yes")]
-)
-
-(define_insn "*loadsi_preinc"
- [(set (match_operand:SI 3 "s_register_operand" "=r")
- (mem:SI (plus:SI (match_operand:SI 1 "s_register_operand" "%0")
- (match_operand:SI 2 "index_operand" "rJ"))))
- (set (match_operand:SI 0 "s_register_operand" "=r")
- (plus:SI (match_dup 1) (match_dup 2)))]
- "TARGET_ARM
- && !arm_eliminable_register (operands[0])
- && !arm_eliminable_register (operands[1])
- && !arm_eliminable_register (operands[2])"
- "ldr%?\\t%3, [%0, %2]!"
- [(set_attr "type" "load1")
- (set_attr "predicable" "yes")]
-)
-
-(define_insn "*loadsi_predec"
- [(set (match_operand:SI 3 "s_register_operand" "=r")
- (mem:SI (minus:SI (match_operand:SI 1 "s_register_operand" "0")
- (match_operand:SI 2 "s_register_operand" "r"))))
- (set (match_operand:SI 0 "s_register_operand" "=r")
- (minus:SI (match_dup 1) (match_dup 2)))]
- "TARGET_ARM
- && !arm_eliminable_register (operands[0])
- && !arm_eliminable_register (operands[1])
- && !arm_eliminable_register (operands[2])"
- "ldr%?\\t%3, [%0, -%2]!"
- [(set_attr "type" "load1")
- (set_attr "predicable" "yes")]
-)
-
-(define_insn "*strqi_shiftpreinc"
- [(set (mem:QI (plus:SI (match_operator:SI 2 "shift_operator"
- [(match_operand:SI 3 "s_register_operand" "r")
- (match_operand:SI 4 "const_shift_operand" "n")])
- (match_operand:SI 1 "s_register_operand" "0")))
- (match_operand:QI 5 "s_register_operand" "r"))
- (set (match_operand:SI 0 "s_register_operand" "=r")
- (plus:SI (match_op_dup 2 [(match_dup 3) (match_dup 4)])
- (match_dup 1)))]
- "TARGET_ARM
- && !arm_eliminable_register (operands[0])
- && !arm_eliminable_register (operands[1])
- && !arm_eliminable_register (operands[3])"
- "str%?b\\t%5, [%0, %3%S2]!"
- [(set_attr "type" "store1")
- (set_attr "predicable" "yes")]
-)
-
-(define_insn "*strqi_shiftpredec"
- [(set (mem:QI (minus:SI (match_operand:SI 1 "s_register_operand" "0")
- (match_operator:SI 2 "shift_operator"
- [(match_operand:SI 3 "s_register_operand" "r")
- (match_operand:SI 4 "const_shift_operand" "n")])))
- (match_operand:QI 5 "s_register_operand" "r"))
- (set (match_operand:SI 0 "s_register_operand" "=r")
- (minus:SI (match_dup 1) (match_op_dup 2 [(match_dup 3)
- (match_dup 4)])))]
- "TARGET_ARM
- && !arm_eliminable_register (operands[0])
- && !arm_eliminable_register (operands[1])
- && !arm_eliminable_register (operands[3])"
- "str%?b\\t%5, [%0, -%3%S2]!"
- [(set_attr "type" "store1")
- (set_attr "predicable" "yes")]
-)
-
-(define_insn "*loadqi_shiftpreinc"
- [(set (match_operand:QI 5 "s_register_operand" "=r")
- (mem:QI (plus:SI (match_operator:SI 2 "shift_operator"
- [(match_operand:SI 3 "s_register_operand" "r")
- (match_operand:SI 4 "const_shift_operand" "n")])
- (match_operand:SI 1 "s_register_operand" "0"))))
- (set (match_operand:SI 0 "s_register_operand" "=r")
- (plus:SI (match_op_dup 2 [(match_dup 3) (match_dup 4)])
- (match_dup 1)))]
- "TARGET_ARM
- && !arm_eliminable_register (operands[0])
- && !arm_eliminable_register (operands[1])
- && !arm_eliminable_register (operands[3])"
- "ldr%?b\\t%5, [%0, %3%S2]!"
- [(set_attr "type" "load_byte")
- (set_attr "predicable" "yes")]
-)
-
-(define_insn "*loadqi_shiftpredec"
- [(set (match_operand:QI 5 "s_register_operand" "=r")
- (mem:QI (minus:SI (match_operand:SI 1 "s_register_operand" "0")
- (match_operator:SI 2 "shift_operator"
- [(match_operand:SI 3 "s_register_operand" "r")
- (match_operand:SI 4 "const_shift_operand" "n")]))))
- (set (match_operand:SI 0 "s_register_operand" "=r")
- (minus:SI (match_dup 1) (match_op_dup 2 [(match_dup 3)
- (match_dup 4)])))]
- "TARGET_ARM
- && !arm_eliminable_register (operands[0])
- && !arm_eliminable_register (operands[1])
- && !arm_eliminable_register (operands[3])"
- "ldr%?b\\t%5, [%0, -%3%S2]!"
- [(set_attr "type" "load_byte")
- (set_attr "predicable" "yes")]
-)
-
-(define_insn "*strsi_shiftpreinc"
- [(set (mem:SI (plus:SI (match_operator:SI 2 "shift_operator"
- [(match_operand:SI 3 "s_register_operand" "r")
- (match_operand:SI 4 "const_shift_operand" "n")])
- (match_operand:SI 1 "s_register_operand" "0")))
- (match_operand:SI 5 "s_register_operand" "r"))
- (set (match_operand:SI 0 "s_register_operand" "=r")
- (plus:SI (match_op_dup 2 [(match_dup 3) (match_dup 4)])
- (match_dup 1)))]
- "TARGET_ARM
- && !arm_eliminable_register (operands[0])
- && !arm_eliminable_register (operands[1])
- && !arm_eliminable_register (operands[3])"
- "str%?\\t%5, [%0, %3%S2]!"
- [(set_attr "type" "store1")
- (set_attr "predicable" "yes")]
-)
-
-(define_insn "*strsi_shiftpredec"
- [(set (mem:SI (minus:SI (match_operand:SI 1 "s_register_operand" "0")
- (match_operator:SI 2 "shift_operator"
- [(match_operand:SI 3 "s_register_operand" "r")
- (match_operand:SI 4 "const_shift_operand" "n")])))
- (match_operand:SI 5 "s_register_operand" "r"))
- (set (match_operand:SI 0 "s_register_operand" "=r")
- (minus:SI (match_dup 1) (match_op_dup 2 [(match_dup 3)
- (match_dup 4)])))]
- "TARGET_ARM
- && !arm_eliminable_register (operands[0])
- && !arm_eliminable_register (operands[1])
- && !arm_eliminable_register (operands[3])"
- "str%?\\t%5, [%0, -%3%S2]!"
- [(set_attr "type" "store1")
- (set_attr "predicable" "yes")]
-)
-
-(define_insn "*loadsi_shiftpreinc"
- [(set (match_operand:SI 5 "s_register_operand" "=r")
- (mem:SI (plus:SI (match_operator:SI 2 "shift_operator"
- [(match_operand:SI 3 "s_register_operand" "r")
- (match_operand:SI 4 "const_shift_operand" "n")])
- (match_operand:SI 1 "s_register_operand" "0"))))
- (set (match_operand:SI 0 "s_register_operand" "=r")
- (plus:SI (match_op_dup 2 [(match_dup 3) (match_dup 4)])
- (match_dup 1)))]
- "TARGET_ARM
- && !arm_eliminable_register (operands[0])
- && !arm_eliminable_register (operands[1])
- && !arm_eliminable_register (operands[3])"
- "ldr%?\\t%5, [%0, %3%S2]!"
- [(set_attr "type" "load1")
- (set_attr "predicable" "yes")]
-)
-
-(define_insn "*loadsi_shiftpredec"
- [(set (match_operand:SI 5 "s_register_operand" "=r")
- (mem:SI (minus:SI (match_operand:SI 1 "s_register_operand" "0")
- (match_operator:SI 2 "shift_operator"
- [(match_operand:SI 3 "s_register_operand" "r")
- (match_operand:SI 4 "const_shift_operand" "n")]))))
- (set (match_operand:SI 0 "s_register_operand" "=r")
- (minus:SI (match_dup 1) (match_op_dup 2 [(match_dup 3)
- (match_dup 4)])))]
- "TARGET_ARM
- && !arm_eliminable_register (operands[0])
- && !arm_eliminable_register (operands[1])
- && !arm_eliminable_register (operands[3])"
- "ldr%?\\t%5, [%0, -%3%S2]!"
- [(set_attr "type" "load1")
- (set_attr "predicable" "yes")])
-
-; It can also support extended post-inc expressions, but combine doesn't
-; try these....
-; It doesn't seem worth adding peepholes for anything but the most common
-; cases since, unlike combine, the increment must immediately follow the load
-; for this pattern to match.
-; We must watch to see that the source/destination register isn't also the
-; same as the base address register, and that if the index is a register,
-; that it is not the same as the base address register. In such cases the
-; instruction that we would generate would have UNPREDICTABLE behavior so
-; we cannot use it.
-
-(define_peephole
- [(set (mem:QI (match_operand:SI 0 "s_register_operand" "+r"))
- (match_operand:QI 2 "s_register_operand" "r"))
- (set (match_dup 0)
- (plus:SI (match_dup 0) (match_operand:SI 1 "index_operand" "rJ")))]
- "TARGET_ARM
- && (REGNO (operands[2]) != REGNO (operands[0]))
- && (GET_CODE (operands[1]) != REG
- || (REGNO (operands[1]) != REGNO (operands[0])))"
- "str%?b\\t%2, [%0], %1"
-)
-
-(define_peephole
- [(set (match_operand:QI 0 "s_register_operand" "=r")
- (mem:QI (match_operand:SI 1 "s_register_operand" "+r")))
- (set (match_dup 1)
- (plus:SI (match_dup 1) (match_operand:SI 2 "index_operand" "rJ")))]
- "TARGET_ARM
- && REGNO (operands[0]) != REGNO(operands[1])
- && (GET_CODE (operands[2]) != REG
- || REGNO(operands[0]) != REGNO (operands[2]))"
- "ldr%?b\\t%0, [%1], %2"
-)
-
-(define_peephole
- [(set (mem:SI (match_operand:SI 0 "s_register_operand" "+r"))
- (match_operand:SI 2 "s_register_operand" "r"))
- (set (match_dup 0)
- (plus:SI (match_dup 0) (match_operand:SI 1 "index_operand" "rJ")))]
- "TARGET_ARM
- && (REGNO (operands[2]) != REGNO (operands[0]))
- && (GET_CODE (operands[1]) != REG
- || (REGNO (operands[1]) != REGNO (operands[0])))"
- "str%?\\t%2, [%0], %1"
-)
-
-(define_peephole
- [(set (match_operand:SI 0 "s_register_operand" "=r")
- (mem:SI (match_operand:SI 1 "s_register_operand" "+r")))
- (set (match_dup 1)
- (plus:SI (match_dup 1) (match_operand:SI 2 "index_operand" "rJ")))]
- "TARGET_ARM
- && REGNO (operands[0]) != REGNO(operands[1])
- && (GET_CODE (operands[2]) != REG
- || REGNO(operands[0]) != REGNO (operands[2]))"
- "ldr%?\\t%0, [%1], %2"
-)
-
-(define_peephole
- [(set (mem:QI (plus:SI (match_operand:SI 0 "s_register_operand" "+r")
- (match_operand:SI 1 "index_operand" "rJ")))
- (match_operand:QI 2 "s_register_operand" "r"))
- (set (match_dup 0) (plus:SI (match_dup 0) (match_dup 1)))]
- "TARGET_ARM
- && (REGNO (operands[2]) != REGNO (operands[0]))
- && (GET_CODE (operands[1]) != REG
- || (REGNO (operands[1]) != REGNO (operands[0])))"
- "str%?b\\t%2, [%0, %1]!"
-)
-
-(define_peephole
- [(set (mem:QI (plus:SI (match_operator:SI 4 "shift_operator"
- [(match_operand:SI 0 "s_register_operand" "r")
- (match_operand:SI 1 "const_int_operand" "n")])
- (match_operand:SI 2 "s_register_operand" "+r")))
- (match_operand:QI 3 "s_register_operand" "r"))
- (set (match_dup 2) (plus:SI (match_op_dup 4 [(match_dup 0) (match_dup 1)])
- (match_dup 2)))]
- "TARGET_ARM
- && (REGNO (operands[3]) != REGNO (operands[2]))
- && (REGNO (operands[0]) != REGNO (operands[2]))"
- "str%?b\\t%3, [%2, %0%S4]!"
-)
-
; This pattern is never tried by combine, so do it as a peephole
(define_peephole2
diff --git a/gcc/config/arm/freebsd.h b/gcc/config/arm/freebsd.h
index 6457bfcda7c..6bae83def63 100644
--- a/gcc/config/arm/freebsd.h
+++ b/gcc/config/arm/freebsd.h
@@ -30,7 +30,6 @@
#undef LINK_SPEC
#define LINK_SPEC " \
%{p:%nconsider using `-pg' instead of `-p' with gprof(1) } \
- %{Wl,*:%*} \
%{v:-V} \
%{assert*} %{R*} %{rpath*} %{defsym*} \
%{shared:-Bshareable %{h*} %{soname*}} \
diff --git a/gcc/config/arm/ieee754-df.S b/gcc/config/arm/ieee754-df.S
index 3cfb71b71e4..0d6bf969c4a 100644
--- a/gcc/config/arm/ieee754-df.S
+++ b/gcc/config/arm/ieee754-df.S
@@ -994,7 +994,7 @@ LSYM(Ldv_s):
mov xl, yl
mov xh, yh
b LSYM(Lml_n) @ <anything> / NAN -> NAN
-2: @ If both are non-zero, we need to normalize and resume above.
+2: @ If both are nonzero, we need to normalize and resume above.
orrs r6, xl, xh, lsl #1
orrnes r6, yl, yh, lsl #1
bne LSYM(Lml_d)
diff --git a/gcc/config/arm/ieee754-sf.S b/gcc/config/arm/ieee754-sf.S
index d3261956322..f74f458dd18 100644
--- a/gcc/config/arm/ieee754-sf.S
+++ b/gcc/config/arm/ieee754-sf.S
@@ -705,7 +705,7 @@ LSYM(Ldv_s):
beq LSYM(Lml_z) @ <anything> / INF -> 0
mov r0, r1
b LSYM(Lml_n) @ <anything> / NAN -> NAN
-2: @ If both are non-zero, we need to normalize and resume above.
+2: @ If both are nonzero, we need to normalize and resume above.
bics ip, r0, #0x80000000
bicnes ip, r1, #0x80000000
bne LSYM(Ldv_d)
diff --git a/gcc/config/arm/lib1funcs.asm b/gcc/config/arm/lib1funcs.asm
index ebf31eb8cc5..952eb562a92 100644
--- a/gcc/config/arm/lib1funcs.asm
+++ b/gcc/config/arm/lib1funcs.asm
@@ -87,6 +87,10 @@ Boston, MA 02110-1301, USA. */
# define __ARM_ARCH__ 6
#endif
+#ifndef __ARM_ARCH__
+#error Unable to determine architecture.
+#endif
+
/* How to return from a function call depends on the architecture variant. */
#if (__ARM_ARCH__ > 4) || defined(__ARM_ARCH_4T__)
@@ -702,6 +706,7 @@ LSYM(Lgot_result):
#ifdef L_udivsi3
FUNC_START udivsi3
+ FUNC_ALIAS aeabi_uidiv udivsi3
#ifdef __thumb__
@@ -812,6 +817,7 @@ LSYM(Lover10):
#ifdef L_divsi3
FUNC_START divsi3
+ FUNC_ALIAS aeabi_idiv divsi3
#ifdef __thumb__
cmp divisor, #0
diff --git a/gcc/config/arm/libgcc-bpabi.ver b/gcc/config/arm/libgcc-bpabi.ver
index 35966bbfc72..2f259eb646e 100644
--- a/gcc/config/arm/libgcc-bpabi.ver
+++ b/gcc/config/arm/libgcc-bpabi.ver
@@ -42,6 +42,7 @@ GCC_3.5 {
__aeabi_fsub
__aeabi_i2d
__aeabi_i2f
+ __aeabi_idiv
__aeabi_idiv0
__aeabi_idivmod
__aeabi_l2d
@@ -55,11 +56,16 @@ GCC_3.5 {
__aeabi_lmul
__aeabi_ui2d
__aeabi_ui2f
+ __aeabi_uidiv
__aeabi_uidivmod
__aeabi_uldivmod
__aeabi_ulcmp
__aeabi_ul2d
__aeabi_ul2f
+ __aeabi_uread4
+ __aeabi_uread8
+ __aeabi_uwrite4
+ __aeabi_uwrite8
# Exception-Handling
# \S 7.5
diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
index 512d075c36c..100632944d2 100644
--- a/gcc/config/arm/linux-elf.h
+++ b/gcc/config/arm/linux-elf.h
@@ -83,7 +83,7 @@
#undef LINK_SPEC
#define LINK_SPEC "%{h*} %{version:-v} \
- %{b} %{Wl,*:%*} \
+ %{b} \
%{static:-Bstatic} \
%{shared:-shared} \
%{symbolic:-Bsymbolic} \
diff --git a/gcc/config/arm/t-bpabi b/gcc/config/arm/t-bpabi
index 74c0ae138a3..34981078e0e 100644
--- a/gcc/config/arm/t-bpabi
+++ b/gcc/config/arm/t-bpabi
@@ -3,7 +3,8 @@ LIB1ASMFUNCS += _aeabi_lcmp _aeabi_ulcmp _aeabi_ldivmod _aeabi_uldivmod \
_unwind
# Add the BPABI C functions.
-LIB2FUNCS_EXTRA = $(srcdir)/config/arm/bpabi.c
+LIB2FUNCS_EXTRA = $(srcdir)/config/arm/bpabi.c \
+ $(srcdir)/config/arm/unaligned-funcs.c
UNWIND_H = $(srcdir)/config/arm/unwind-arm.h
LIB2ADDEH = $(srcdir)/config/arm/unwind-arm.c \
diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c
index ec519cf17a1..5367bd1fdb2 100644
--- a/gcc/config/avr/avr.c
+++ b/gcc/config/avr/avr.c
@@ -221,6 +221,12 @@ int avr_case_values_threshold = 30000;
/* Initialize the GCC target structure. */
#undef TARGET_ASM_ALIGNED_HI_OP
#define TARGET_ASM_ALIGNED_HI_OP "\t.word\t"
+#undef TARGET_ASM_ALIGNED_SI_OP
+#define TARGET_ASM_ALIGNED_SI_OP "\t.long\t"
+#undef TARGET_ASM_UNALIGNED_HI_OP
+#define TARGET_ASM_UNALIGNED_HI_OP "\t.word\t"
+#undef TARGET_ASM_UNALIGNED_SI_OP
+#define TARGET_ASM_UNALIGNED_SI_OP "\t.long\t"
#undef TARGET_ASM_INTEGER
#define TARGET_ASM_INTEGER avr_assemble_integer
#undef TARGET_ASM_FILE_START
diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c
index 05541640c56..926f27a99d9 100644
--- a/gcc/config/bfin/bfin.c
+++ b/gcc/config/bfin/bfin.c
@@ -435,7 +435,7 @@ bfin_frame_pointer_required (void)
if (fkind != SUBROUTINE)
return 1;
- /* We turn on on -fomit-frame-pointer if -momit-leaf-frame-pointer is used,
+ /* We turn on -fomit-frame-pointer if -momit-leaf-frame-pointer is used,
so we have to override it for non-leaf functions. */
if (TARGET_OMIT_LEAF_FRAME_POINTER && ! current_function_is_leaf)
return 1;
@@ -1406,14 +1406,8 @@ bfin_pass_by_reference (CUMULATIVE_ARGS *cum ATTRIBUTE_UNUSED,
int
bfin_return_in_memory (tree type)
{
- int size;
- enum machine_mode mode = TYPE_MODE (type);
-
- if (mode == BLKmode)
- return 1;
- size = int_size_in_bytes (type);
-
- return size > 8;
+ int size = int_size_in_bytes (type);
+ return size > 2 * UNITS_PER_WORD || size == -1;
}
/* Register in which address to store a structure value
diff --git a/gcc/config/bfin/bfin.h b/gcc/config/bfin/bfin.h
index cfc6f5bc50b..c959e4538b7 100644
--- a/gcc/config/bfin/bfin.h
+++ b/gcc/config/bfin/bfin.h
@@ -79,7 +79,7 @@ extern const char *bfin_library_id_string;
#define STACK_PUSH_CODE PRE_DEC
-/* Define this to non-zero if the nominal address of the stack frame
+/* Define this to nonzero if the nominal address of the stack frame
is at the high-address end of the local variables;
that is, each additional local variable allocated
goes at a more negative offset in the frame. */
diff --git a/gcc/config/bfin/elf.h b/gcc/config/bfin/elf.h
index 643d5197a67..5b0eb20ddf6 100644
--- a/gcc/config/bfin/elf.h
+++ b/gcc/config/bfin/elf.h
@@ -14,3 +14,5 @@
#undef USER_LABEL_PREFIX
#define USER_LABEL_PREFIX "_"
+
+#define NO_IMPLICIT_EXTERN_C
diff --git a/gcc/config/bfin/uclinux.h b/gcc/config/bfin/uclinux.h
index d68008a93ab..361a923326c 100644
--- a/gcc/config/bfin/uclinux.h
+++ b/gcc/config/bfin/uclinux.h
@@ -8,3 +8,5 @@
#undef LIB_SPEC
#define LIB_SPEC "%{pthread:-lpthread} -lc"
+
+#define NO_IMPLICIT_EXTERN_C
diff --git a/gcc/config/c4x/c4x.h b/gcc/config/c4x/c4x.h
index e36fe43e282..43d44b1ce8c 100644
--- a/gcc/config/c4x/c4x.h
+++ b/gcc/config/c4x/c4x.h
@@ -863,7 +863,7 @@ enum reg_class
/* #define STACK_GROWS_DOWNWARD. */
/* Like the dsp16xx, i370, i960, and we32k ports. */
-/* Define this to non-zero if the nominal address of the stack frame
+/* Define this to nonzero if the nominal address of the stack frame
is at the high-address end of the local variables;
that is, each additional local variable allocated
goes at a more negative offset in the frame. */
diff --git a/gcc/config/crx/crx-protos.h b/gcc/config/crx/crx-protos.h
index 342f69ec842..1a598aa650a 100644
--- a/gcc/config/crx/crx-protos.h
+++ b/gcc/config/crx/crx-protos.h
@@ -42,6 +42,18 @@ extern rtx crx_function_arg (struct cumulative_args *, enum machine_mode, tree,
#ifdef RTX_CODE
/* Addressing Modes. */
+struct crx_address
+{
+ rtx base, index, disp, side_effect;
+ int scale;
+};
+
+enum crx_addrtype
+{
+ CRX_INVALID, CRX_REG_REL, CRX_POST_INC, CRX_SCALED_INDX, CRX_ABSOLUTE
+};
+
+extern enum crx_addrtype crx_decompose_address (rtx addr, struct crx_address *out);
extern int crx_legitimate_address_p (enum machine_mode, rtx, int);
extern int crx_const_double_ok (rtx op);
diff --git a/gcc/config/crx/crx.c b/gcc/config/crx/crx.c
index 32b147d19ee..b73cde84ec0 100644
--- a/gcc/config/crx/crx.c
+++ b/gcc/config/crx/crx.c
@@ -54,7 +54,7 @@
/*****************************************************************************/
/* Maximum number of register used for passing parameters. */
-#define MAX_REG_FOR_PASSING_ARGS 5
+#define MAX_REG_FOR_PASSING_ARGS 6
/* Minimum number register used for passing parameters. */
#define MIN_REG_FOR_PASSING_ARGS 2
@@ -65,38 +65,35 @@
/* Predicate is true if the current function is a 'noreturn' function, i.e. it
* is qualified as volatile. */
-#define FUNC_IS_NORETURN_P(decl) (TREE_THIS_VOLATILE (decl))
+#define FUNC_IS_NORETURN_P(decl) (TREE_THIS_VOLATILE (decl))
-/* The following 3 macros are used in crx_legitimate_address_p() */
+/* The following macros are used in crx_decompose_address () */
-/* Returns 1 if the scale factor of an index address is valid. */
-#define SCALE_FOR_INDEX_P(X) \
- (GET_CODE (X) == CONST_INT \
- && (INTVAL (X) == 1 || INTVAL (X) == 2 \
- || INTVAL(X) == 4 || INTVAL (X) == 8))
+/* Returns the factor of a scaled index address or -1 if invalid. */
+#define SCALE_FOR_INDEX_P(X) \
+ (GET_CODE (X) == CONST_INT ? \
+ (INTVAL (X) == 1 ? 1 : \
+ INTVAL (X) == 2 ? 2 : \
+ INTVAL (X) == 4 ? 4 : \
+ INTVAL (X) == 8 ? 8 : \
+ -1) : \
+ -1)
/* Nonzero if the rtx X is a signed const int of n bits */
#define RTX_SIGNED_INT_FITS_N_BITS(X,n) \
- ((GET_CODE(X) == CONST_INT \
- && SIGNED_INT_FITS_N_BITS(INTVAL(X),n)) ? 1 : 0)
+ ((GET_CODE (X) == CONST_INT \
+ && SIGNED_INT_FITS_N_BITS (INTVAL (X), n)) ? 1 : 0)
-/* Nonzero if the rtx X is a unsigned const int of n bits */
-#define RTX_UNSIGNED_INT_FITS_N_BITS(X,n) \
- ((GET_CODE(X) == CONST_INT \
- && UNSIGNED_INT_FITS_N_BITS(INTVAL(X),n)) ? 1 : 0)
-
-
-/* Register relative legal displacement */
-#define CRX_REGISTER_RELATIVE_DISP_P(X) \
- (CONSTANT_ADDRESS_P(X) \
- && (GET_CODE (X) != CONST_INT \
- || RTX_SIGNED_INT_FITS_N_BITS(X, GET_MODE_BITSIZE (Pmode))))
+/* Nonzero if the rtx X is an unsigned const int of n bits. */
+#define RTX_UNSIGNED_INT_FITS_N_BITS(X, n) \
+ ((GET_CODE (X) == CONST_INT \
+ && UNSIGNED_INT_FITS_N_BITS (INTVAL (X), n)) ? 1 : 0)
/*****************************************************************************/
/* STATIC VARIABLES */
/*****************************************************************************/
-/* Non-zero if the last param processed is passed in a register. */
+/* Nonzero if the last param processed is passed in a register. */
static int last_parm_in_reg;
/* Will hold the number of the last register the prologue saves, -1 if no
@@ -114,7 +111,7 @@ static int sum_regs = 0;
static int local_vars_size;
/* The sum of 2 sizes: locals vars and padding byte for saving the registers.
- * Used in expand_prologue() and expand_epilogue(). */
+ * Used in expand_prologue () and expand_epilogue (). */
static int size_for_adjusting_sp;
/* In case of a POST_INC or POST_DEC memory reference, we must report the mode
@@ -140,6 +137,7 @@ static bool crx_fixed_condition_code_regs (unsigned int *, unsigned int *);
static rtx crx_struct_value_rtx (tree fntype ATTRIBUTE_UNUSED,
int incoming ATTRIBUTE_UNUSED);
static bool crx_return_in_memory (tree type, tree fntype ATTRIBUTE_UNUSED);
+static int crx_address_cost (rtx);
/*****************************************************************************/
/* STACK LAYOUT AND CALLING CONVENTIONS */
@@ -155,6 +153,13 @@ static bool crx_return_in_memory (tree type, tree fntype ATTRIBUTE_UNUSED);
#define TARGET_RETURN_IN_MEMORY crx_return_in_memory
/*****************************************************************************/
+/* RELATIVE COSTS OF OPERATIONS */
+/*****************************************************************************/
+
+#undef TARGET_ADDRESS_COST
+#define TARGET_ADDRESS_COST crx_address_cost
+
+/*****************************************************************************/
/* TARGET-SPECIFIC USES OF `__attribute__' */
/*****************************************************************************/
@@ -260,7 +265,7 @@ crx_compute_save_regs (void)
}
/* If this reg is used and not call-used (except RA), save it. */
- if (crx_interrupt_function_p())
+ if (crx_interrupt_function_p ())
{
if (!current_function_is_leaf && call_used_regs[regno])
/* this is a volatile reg in a non-leaf interrupt routine - save it
@@ -353,10 +358,13 @@ crx_regno_reg_class (int regno)
if (regno >= 0 && regno < SP_REGNUM)
return NOSP_REGS;
- if (regno == SP_REGNUM) return GENERAL_REGS;
+ if (regno == SP_REGNUM)
+ return GENERAL_REGS;
- if (regno == LO_REGNUM) return LO_REGS;
- if (regno == HI_REGNUM) return HI_REGS;
+ if (regno == LO_REGNUM)
+ return LO_REGS;
+ if (regno == HI_REGNUM)
+ return HI_REGS;
return NO_REGS;
}
@@ -429,7 +437,7 @@ crx_function_arg (CUMULATIVE_ARGS * cum, enum machine_mode mode, tree type,
{
last_parm_in_reg = 0;
- /* Function_arg() is called with this type just after all the args have had
+ /* Function_arg () is called with this type just after all the args have had
* their registers assigned. The rtx that function_arg returns from this type
* is supposed to pass to 'gen_call' but currently it is not implemented (see
* macro GEN_CALL). */
@@ -522,7 +530,7 @@ crx_function_arg_advance (CUMULATIVE_ARGS * cum, enum machine_mode mode,
}
-/* Implements the macro FUNCTION_ARG_REGNO_P defined in crx.h. Return non-zero
+/* Implements the macro FUNCTION_ARG_REGNO_P defined in crx.h. Return nonzero
* if N is a register used for passing parameters. */
int
@@ -535,7 +543,7 @@ crx_function_arg_regno_p (int n)
/* ---------------- */
/* Implements the macro GO_IF_LEGITIMATE_ADDRESS defined in crx.h.
- * The legitimate addressing modes for the CRX are:
+ * The following addressing modes are supported on CRX:
*
* Relocations --> const | symbol_ref | label_ref
* Absolute address --> 32 bit absolute
@@ -545,129 +553,296 @@ crx_function_arg_regno_p (int n)
* Scaled index --> reg + reg | 22 bit disp. + reg + reg |
* 22 disp. + reg + reg + (2 | 4 | 8) */
-int
-crx_legitimate_address_p (enum machine_mode mode ATTRIBUTE_UNUSED,
- rtx x, int strict)
+static int crx_addr_reg_p (rtx addr_reg)
{
- /* Absolute address */
- if (RTX_UNSIGNED_INT_FITS_N_BITS(x, GET_MODE_BITSIZE(Pmode)))
- return 1;
-
- /* Label */
- if (GET_CODE (x) == CONST
- || GET_CODE (x) == SYMBOL_REF
- || GET_CODE (x) == LABEL_REF
- || (GET_CODE (x) == REG && (strict ? STRICT_REG_OK_FOR_BASE_P (x)
- : NONSTRICT_REG_OK_FOR_BASE_P (x))))
- return 1;
-
- /* Post increment - The first argument is a register and the second is
- * 12-bit long int. */
- if (GET_CODE (x) == POST_INC || GET_CODE (x) == POST_DEC)
+ rtx reg;
+
+ if (REG_P (addr_reg))
{
- /* Don't allow modes to be referenced through post autoinc/dec that
- * cannot be loaded/stored with a single instruction */
- if (GET_MODE_SIZE (mode) > UNITS_PER_WORD)
- return 0;
+ reg = addr_reg;
+ }
+ else if ((GET_CODE (addr_reg) == SUBREG
+ && REG_P (SUBREG_REG (addr_reg))
+ && GET_MODE_SIZE (GET_MODE (SUBREG_REG (addr_reg)))
+ <= UNITS_PER_WORD))
+ {
+ reg = SUBREG_REG (addr_reg);
+ }
+ else
+ return FALSE;
- if((GET_CODE (XEXP (x, 0)) == REG)
- && (strict ? STRICT_REG_OK_FOR_BASE_P (XEXP (x, 0))
- : NONSTRICT_REG_OK_FOR_BASE_P (XEXP (x, 0))))
- return 1;
+ if (GET_MODE (addr_reg) != Pmode)
+ {
+ return FALSE;
}
- /* Post modify */
- if (GET_CODE (x) == POST_MODIFY)
+ return TRUE;
+}
+
+enum crx_addrtype
+crx_decompose_address (rtx addr, struct crx_address *out)
+{
+ rtx base = NULL_RTX, index = NULL_RTX, disp = NULL_RTX;
+ rtx scale_rtx = NULL_RTX, side_effect = NULL_RTX;
+ int scale = -1;
+
+ enum crx_addrtype retval = CRX_INVALID;
+
+ switch (GET_CODE (addr))
{
- /* Don't allow modes to be referenced through post autoinc/dec that
- * cannot be loaded/stored with a single instruction */
- if (GET_MODE_SIZE (mode) > UNITS_PER_WORD)
- return 0;
+ case CONST_INT:
+ /* Absolute address (known at compile time) */
+ retval = CRX_ABSOLUTE;
+ disp = addr;
+ if (!UNSIGNED_INT_FITS_N_BITS (INTVAL (disp), GET_MODE_BITSIZE (Pmode)))
+ return CRX_INVALID;
+ break;
+
+ case CONST:
+ case SYMBOL_REF:
+ case LABEL_REF:
+ /* Absolute address (known at link time) */
+ retval = CRX_ABSOLUTE;
+ disp = addr;
+ break;
- if (!(GET_CODE (XEXP (x, 0)) == REG
- && (strict ? STRICT_REG_OK_FOR_BASE_P (XEXP (x, 0))
- : NONSTRICT_REG_OK_FOR_BASE_P (XEXP (x, 0)))
- && RTX_SIGNED_INT_FITS_N_BITS(XEXP (XEXP (x, 1), 1), 12)))
- return 0;
+ case REG:
+ case SUBREG:
+ /* Register relative address */
+ retval = CRX_REG_REL;
+ base = addr;
+ break;
- if(!(GET_CODE (XEXP (x, 1)) == PLUS || GET_CODE (XEXP (x, 1)) == MINUS))
- return 0;
+ case PLUS:
+ switch (GET_CODE (XEXP (addr, 0)))
+ {
+ case REG:
+ case SUBREG:
+ if (REG_P (XEXP (addr, 1)))
+ {
+ /* Scaled index with scale = 1 and disp. = 0 */
+ retval = CRX_SCALED_INDX;
+ base = XEXP (addr, 1);
+ index = XEXP (addr, 0);
+ scale = 1;
+ }
+ else if (RTX_SIGNED_INT_FITS_N_BITS (XEXP (addr, 1), 28))
+ {
+ /* Register relative address and <= 28-bit disp. */
+ retval = CRX_REG_REL;
+ base = XEXP (addr, 0);
+ disp = XEXP (addr, 1);
+ }
+ else
+ return CRX_INVALID;
+ break;
- if(!rtx_equal_p(XEXP (x, 0), XEXP (XEXP (x, 1), 0)))
- return 0;
+ case PLUS:
+ /* Scaled index and <= 22-bit disp. */
+ retval = CRX_SCALED_INDX;
+ base = XEXP (XEXP (addr, 0), 1);
+ disp = XEXP (addr, 1);
+ if (!RTX_SIGNED_INT_FITS_N_BITS (disp, 22))
+ return CRX_INVALID;
+ switch (GET_CODE (XEXP (XEXP (addr, 0), 0)))
+ {
+ case REG:
+ /* Scaled index with scale = 0 and <= 22-bit disp. */
+ index = XEXP (XEXP (addr, 0), 0);
+ scale = 1;
+ break;
+
+ case MULT:
+ /* Scaled index with scale >= 0 and <= 22-bit disp. */
+ index = XEXP (XEXP (XEXP (addr, 0), 0), 0);
+ scale_rtx = XEXP (XEXP (XEXP (addr, 0), 0), 1);
+ if ((scale = SCALE_FOR_INDEX_P (scale_rtx)) == -1)
+ return CRX_INVALID;
+ break;
+
+ default:
+ return CRX_INVALID;
+ }
+ break;
+
+ case MULT:
+ /* Scaled index with scale >= 0 */
+ retval = CRX_SCALED_INDX;
+ base = XEXP (addr, 1);
+ index = XEXP (XEXP (addr, 0), 0);
+ scale_rtx = XEXP (XEXP (addr, 0), 1);
+ /* Scaled index with scale >= 0 and <= 22-bit disp. */
+ if ((scale = SCALE_FOR_INDEX_P (scale_rtx)) == -1)
+ return CRX_INVALID;
+ break;
+
+ default:
+ return CRX_INVALID;
+ }
+ break;
+
+ case POST_INC:
+ case POST_DEC:
+ /* Simple post-increment */
+ retval = CRX_POST_INC;
+ base = XEXP (addr, 0);
+ side_effect = addr;
+ break;
+
+ case POST_MODIFY:
+ /* Generic post-increment with <= 12-bit disp. */
+ retval = CRX_POST_INC;
+ base = XEXP (addr, 0);
+ side_effect = XEXP (addr, 1);
+ if (base != XEXP (side_effect, 0))
+ return CRX_INVALID;
+ switch (GET_CODE (side_effect))
+ {
+ case PLUS:
+ case MINUS:
+ disp = XEXP (side_effect, 1);
+ if (!RTX_SIGNED_INT_FITS_N_BITS (disp, 12))
+ return CRX_INVALID;
+ break;
+
+ default:
+ /* CRX only supports PLUS and MINUS */
+ return CRX_INVALID;
+ }
+ break;
+
+ default:
+ return CRX_INVALID;
+ }
+
+ if (base && !crx_addr_reg_p (base)) return CRX_INVALID;
+ if (index && !crx_addr_reg_p (index)) return CRX_INVALID;
+
+ out->base = base;
+ out->index = index;
+ out->disp = disp;
+ out->scale = scale;
+ out->side_effect = side_effect;
+
+ return retval;
+}
+
+int
+crx_legitimate_address_p (enum machine_mode mode ATTRIBUTE_UNUSED,
+ rtx addr, int strict)
+{
+ enum crx_addrtype addrtype;
+ struct crx_address address;
+
+ if (TARGET_DEBUG_ADDR)
+ {
+ fprintf (stderr,
+ "\n======\nGO_IF_LEGITIMATE_ADDRESS, mode = %s, strict = %d\n",
+ GET_MODE_NAME (mode), strict);
+ debug_rtx (addr);
+ }
+
+ addrtype = crx_decompose_address (addr, &address);
- return 1;
+ if (addrtype == CRX_POST_INC && GET_MODE_SIZE (mode) > UNITS_PER_WORD)
+ return FALSE;
+
+ if (TARGET_DEBUG_ADDR)
+ {
+ const char *typestr;
+ switch (addrtype)
+ {
+ case CRX_INVALID:
+ typestr = "Invalid";
+ break;
+ case CRX_REG_REL:
+ typestr = "Register relative";
+ break;
+ case CRX_POST_INC:
+ typestr = "Post-increment";
+ break;
+ case CRX_SCALED_INDX:
+ typestr = "Scaled index";
+ break;
+ case CRX_ABSOLUTE:
+ typestr = "Absolute";
+ break;
+ default:
+ abort ();
+ }
+ fprintf (stderr, "CRX Address type: %s\n", typestr);
}
+
+ if (addrtype == CRX_INVALID)
+ return FALSE;
- if (GET_CODE (x) == PLUS)
+ if (strict)
{
- /* Register relative */
- if (GET_CODE (XEXP (x, 0)) == REG
- && (strict ? STRICT_REG_OK_FOR_BASE_P (XEXP (x, 0))
- : NONSTRICT_REG_OK_FOR_BASE_P (XEXP (x, 0)))
- && (CRX_REGISTER_RELATIVE_DISP_P (XEXP (x, 1))))
- return 1;
-
- /* Scaled index with factor 1 */
- /* 1a. reg + reg */
- if (GET_CODE (XEXP (x, 0)) == REG
- && (strict ? STRICT_REG_OK_FOR_BASE_P (XEXP (x, 0))
- : REG_OK_FOR_INDEX_P (XEXP (x, 0)))
- && GET_CODE (XEXP (x, 1)) == REG
- && (strict ? STRICT_REG_OK_FOR_BASE_P (XEXP (x, 1))
- : REG_OK_FOR_INDEXED_BASE_P (XEXP (x, 1))))
- return 1;
-
- /* Scaled index with different factor */
- /* 1b. reg * scale + reg */
- if (GET_CODE (XEXP (x, 0)) == MULT
- && GET_CODE (XEXP( XEXP (x, 0), 0)) == REG
- && (strict ? STRICT_REG_OK_FOR_INDEX_P (XEXP( XEXP (x, 0), 0))
- : NONSTRICT_REG_OK_FOR_INDEX_P (XEXP( XEXP (x, 0), 0)))
- && (SCALE_FOR_INDEX_P (XEXP( XEXP (x, 0), 1)))
- && GET_CODE (XEXP (x, 1)) == REG
- && (strict ? STRICT_REG_OK_FOR_BASE_P (XEXP (x, 1))
- : NONSTRICT_REG_OK_FOR_BASE_P (XEXP (x, 1))))
- return 1;
-
- if (GET_CODE (XEXP (x, 0)) == PLUS)
+ if (address.base && !REGNO_OK_FOR_BASE_P (REGNO (address.base)))
+ {
+ if (TARGET_DEBUG_ADDR)
+ fprintf (stderr, "Base register not strict\n");
+ return FALSE;
+ }
+ if (address.index && !REGNO_OK_FOR_INDEX_P (REGNO (address.index)))
{
- /* 2. reg + reg + 22 bit disp. */
- if (GET_CODE (XEXP (XEXP (x, 0), 0)) == REG
- && (strict ? STRICT_REG_OK_FOR_BASE_P (XEXP (XEXP (x, 0), 0))
- : REG_OK_FOR_INDEX_P (XEXP (XEXP (x, 0), 0)))
- && GET_CODE (XEXP (XEXP (x, 0), 1)) == REG
- && (strict ? STRICT_REG_OK_FOR_BASE_P (XEXP (XEXP (x, 0), 1))
- : REG_OK_FOR_INDEXED_BASE_P (XEXP (XEXP (x, 0), 1)))
- && (RTX_SIGNED_INT_FITS_N_BITS(XEXP (x, 1), 22)))
- return 1;
-
- /* 3. reg * scale + reg + 22 bit disp. */
- if ((GET_CODE (XEXP (XEXP (x, 0), 0)) == MULT)
- && (GET_CODE (XEXP (XEXP (XEXP (x, 0), 0), 0)) == REG)
- && (strict ?
- STRICT_REG_OK_FOR_BASE_P (XEXP (XEXP (XEXP (x, 0), 0), 0))
- :
- REG_OK_FOR_INDEXED_BASE_P (XEXP (XEXP (XEXP (x, 0), 0), 0)))
- && (SCALE_FOR_INDEX_P (XEXP (XEXP (XEXP (x, 0), 0), 1)))
- && (GET_CODE (XEXP (XEXP (x, 0), 1)) == REG)
- && (strict ? STRICT_REG_OK_FOR_BASE_P (XEXP (XEXP (x, 0), 1)) :
- REG_OK_FOR_INDEX_P (XEXP (XEXP (x, 0), 1)))
- && (RTX_SIGNED_INT_FITS_N_BITS(XEXP (x, 1), 22)))
- return 1;
+ if (TARGET_DEBUG_ADDR)
+ fprintf (stderr, "Index register not strict\n");
+ return FALSE;
}
}
- return 0;
+ return TRUE;
}
/* ROUTINES TO COMPUTE COSTS */
/* ------------------------- */
+/* Return cost of the memory address x. */
+
+static int
+crx_address_cost (rtx addr)
+{
+ enum crx_addrtype addrtype;
+ struct crx_address address;
+
+ int cost = 2;
+
+ addrtype = crx_decompose_address (addr, &address);
+
+ gcc_assert (addrtype != CRX_INVALID);
+
+ /* An absolute address causes a 3-word instruction */
+ if (addrtype == CRX_ABSOLUTE)
+ cost+=2;
+
+ /* Post-modifying addresses are more powerfull. */
+ if (addrtype == CRX_POST_INC)
+ cost-=2;
+
+ /* Attempt to minimize number of registers in the address. */
+ if (address.base)
+ cost++;
+
+ if (address.index && address.scale == 1)
+ cost+=5;
+
+ if (address.disp && !INT_CST4 (INTVAL (address.disp)))
+ cost+=2;
+
+ if (TARGET_DEBUG_ADDR)
+ {
+ fprintf (stderr, "\n======\nTARGET_ADDRESS_COST = %d\n", cost);
+ debug_rtx (addr);
+ }
+
+ return cost;
+}
+
/* Return the cost of moving data of mode MODE between a register of class
* CLASS and memory; IN is zero if the value is to be written to memory,
- * non-zero if it is to be read in. This cost is relative to those in
- * REGISTER_MOVE_COST. */
+ * nonzero if it is to be read in. This cost is relative to those in
+ * REGISTER_MOVE_COST. */
int
crx_memory_move_cost (enum machine_mode mode,
@@ -677,25 +852,25 @@ crx_memory_move_cost (enum machine_mode mode,
/* One LD or ST takes twice the time of a simple reg-reg move */
if (reg_classes_intersect_p (class, GENERAL_REGS))
{
- /* printf("GENERAL_REGS LD/ST = %d\n", 4 * HARD_REGNO_NREGS (0, mode));*/
+ /* printf ("GENERAL_REGS LD/ST = %d\n", 4 * HARD_REGNO_NREGS (0, mode));*/
return 4 * HARD_REGNO_NREGS (0, mode);
}
else if (reg_classes_intersect_p (class, HILO_REGS))
{
/* HILO to memory and vice versa */
- /* printf("HILO_REGS %s = %d\n",in ? "LD" : "ST",
- (REGISTER_MOVE_COST(mode,
+ /* printf ("HILO_REGS %s = %d\n", in ? "LD" : "ST",
+ (REGISTER_MOVE_COST (mode,
in ? GENERAL_REGS : HILO_REGS,
in ? HILO_REGS : GENERAL_REGS) + 4)
* HARD_REGNO_NREGS (0, mode)); */
- return (REGISTER_MOVE_COST(mode,
+ return (REGISTER_MOVE_COST (mode,
in ? GENERAL_REGS : HILO_REGS,
in ? HILO_REGS : GENERAL_REGS) + 4)
* HARD_REGNO_NREGS (0, mode);
}
else /* default (like in i386) */
{
- /* printf("ANYREGS = 100\n"); */
+ /* printf ("ANYREGS = 100\n"); */
return 100;
}
}
@@ -703,80 +878,6 @@ crx_memory_move_cost (enum machine_mode mode,
/* INSTRUCTION OUTPUT */
/* ------------------ */
-/* Print to FILE addr expression of the form post_inc/dec (in this case
- * post_offset is zero) or post_inc/dec + post_offset */
-
-static void
-print_post_operand_address (FILE * file, rtx addr, int post_offset)
-{
- int displmnt;
-
- if (GET_CODE (addr) == POST_MODIFY)
- {
- displmnt = INTVAL(XEXP( XEXP (addr, 1), 1));
- if (GET_CODE (XEXP (addr, 1)) == MINUS) displmnt = (-1) * displmnt;
- }
- else
- {
- displmnt = GET_MODE_SIZE (output_memory_reference_mode);
- /* Make the displacement negative for POST_DEC */
- if (GET_CODE (addr) == POST_DEC) displmnt = (-1) * displmnt;
- }
-
- if (GET_CODE (XEXP (addr, 0)) != REG)
- abort ();
-
- displmnt += post_offset;
-
- fprintf (file, "%d(%s)+", displmnt, reg_names[REGNO (XEXP (addr, 0))]);
-}
-
-/* Check if constant rtx contains label_ref. */
-
-static rtx
-const_and_contains_label_ref (rtx x)
-{
- if (!x)
- return NULL_RTX;
-
- if (GET_CODE (x) == LABEL_REF)
- return x;
-
- /* Check within enclosing const. */
- if (GET_CODE (x) == CONST)
- x = XEXP (x, 0);
-
- if ((GET_CODE (x) == PLUS || GET_CODE (x) == MINUS)
- && GET_CODE (XEXP (x, 1)) == CONST_INT
- && GET_CODE (XEXP (x, 0)) == LABEL_REF)
- return XEXP (x, 0);
-
- return NULL_RTX;
-}
-
-/* Check if rtx contains symbol_ref. */
-
-static rtx
-const_and_contains_symbol_ref (rtx x)
-{
- if (!x)
- return NULL_RTX;
-
- if (GET_CODE (x) == SYMBOL_REF)
- return x;
-
- /* Check within enclosing const. */
- if (GET_CODE (x) == CONST)
- x = XEXP (x, 0);
-
- if ((GET_CODE (x) == PLUS || GET_CODE (x) == MINUS)
- && GET_CODE (XEXP (x, 1)) == CONST_INT
- && GET_CODE (XEXP (x, 0)) == SYMBOL_REF)
- return XEXP (x, 0);
-
- return NULL_RTX;
-}
-
/* Check if a const_double is ok for crx store-immediate instructions */
int
@@ -788,8 +889,8 @@ crx_const_double_ok (rtx op)
long l[2];
REAL_VALUE_FROM_CONST_DOUBLE (r, op);
REAL_VALUE_TO_TARGET_DOUBLE (r, l);
- return (UNSIGNED_INT_FITS_N_BITS(l[0], 4) &&
- UNSIGNED_INT_FITS_N_BITS(l[1], 4)) ? 1 : 0;
+ return (UNSIGNED_INT_FITS_N_BITS (l[0], 4) &&
+ UNSIGNED_INT_FITS_N_BITS (l[1], 4)) ? 1 : 0;
}
if (GET_MODE (op) == SFmode)
@@ -798,7 +899,7 @@ crx_const_double_ok (rtx op)
long l;
REAL_VALUE_FROM_CONST_DOUBLE (r, op);
REAL_VALUE_TO_TARGET_SINGLE (r, l);
- return UNSIGNED_INT_FITS_N_BITS(l, 4) ? 1 : 0;
+ return UNSIGNED_INT_FITS_N_BITS (l, 4) ? 1 : 0;
}
return (UNSIGNED_INT_FITS_N_BITS (CONST_DOUBLE_LOW (op), 4) &&
@@ -833,7 +934,7 @@ crx_print_operand (FILE * file, rtx x, int code)
{
const char *crx_cmp_str;
switch (GET_CODE (x))
- { /* MD: compare(reg, reg or imm) but CRX: cmp(reg or imm, reg)
+ { /* MD: compare (reg, reg or imm) but CRX: cmp (reg or imm, reg)
* -> swap all non symmetric ops */
case EQ : crx_cmp_str = "eq"; break;
case NE : crx_cmp_str = "ne"; break;
@@ -945,7 +1046,7 @@ crx_print_operand (FILE * file, rtx x, int code)
}
case 0 : /* default */
- switch (GET_CODE(x))
+ switch (GET_CODE (x))
{
case REG:
fprintf (file, "%s", reg_names[REGNO (x)]);
@@ -962,7 +1063,7 @@ crx_print_operand (FILE * file, rtx x, int code)
long l;
/* Always use H and L for double precision - see above */
- gcc_assert(GET_MODE (x) == SFmode);
+ gcc_assert (GET_MODE (x) == SFmode);
REAL_VALUE_FROM_CONST_DOUBLE (r, x);
REAL_VALUE_TO_TARGET_SINGLE (r, l);
@@ -989,172 +1090,56 @@ crx_print_operand (FILE * file, rtx x, int code)
void
crx_print_operand_address (FILE * file, rtx addr)
{
- rtx breg = 0, ireg = 0;
- rtx offset = 0;
- rtx post_offset = 0;
- rtx scale = 0;
- int mem = 0;
+ enum crx_addrtype addrtype;
+ struct crx_address address;
+
+ int offset;
+
+ addrtype = crx_decompose_address (addr, &address);
+
+ if (address.disp)
+ offset = INTVAL (address.disp);
+ else
+ offset = 0;
-retry:
- switch (GET_CODE (addr))
+ switch (addrtype)
{
- case MEM:
- fprintf (file, "0(");
- addr = XEXP (addr, 0);
- mem = 1;
- goto retry;
- case REG:
- fprintf (file, "0(%s)", reg_names[REGNO (addr)]);
- break;
- case MULT:
- abort ();
- break;
- case PLUS:
- switch (GET_CODE (XEXP (addr, 0)))
+ case CRX_REG_REL:
+ fprintf (file, "%d(%s)", offset, reg_names[REGNO (address.base)]);
+ return;
+
+ case CRX_POST_INC:
+ switch (GET_CODE (address.side_effect))
{
- case REG:
- if (GET_CODE (XEXP (addr, 1)) == REG)
- {
- ireg = XEXP (addr, 0);
- breg = XEXP (addr, 1);
- }
- else if (CONSTANT_ADDRESS_P (XEXP (addr, 1)))
- {
- if (REG_OK_FOR_BASE_P (XEXP (addr, 0))
- && ((GET_CODE (XEXP (addr, 1)) == CONST_INT)
- || (const_and_contains_symbol_ref (XEXP (addr, 1)))
- || (const_and_contains_label_ref (XEXP (addr, 1)))))
- ireg = XEXP (addr, 0);
- else
- breg = XEXP (addr, 0);
-
- offset = XEXP (addr, 1);
- }
- else
- abort ();
+ case PLUS:
break;
- case MULT:
- ireg = XEXP (XEXP (addr, 0), 0);
- scale = XEXP (XEXP (addr, 0), 1);
- breg = XEXP (addr, 1);
+ case MINUS:
+ offset = -offset;
break;
- case PLUS:
- if ((GET_CODE (XEXP (XEXP (addr, 0), 0)) == MULT)
- && (GET_CODE (XEXP (XEXP (XEXP (addr, 0), 0), 0)) == REG)
- && (SCALE_FOR_INDEX_P (XEXP (XEXP (XEXP (addr, 0), 0), 1)))
- && (GET_CODE (XEXP (XEXP (addr, 0), 1)) == REG)
- && (GET_CODE (XEXP (addr, 1)) == CONST_INT))
- {
- ireg = XEXP (XEXP (XEXP (addr, 0), 0), 0);
- breg = XEXP (XEXP (addr, 0), 1);
- scale = (XEXP (XEXP (XEXP (addr, 0), 0), 1));
- offset = XEXP (addr, 1);
- }
- else if (GET_CODE (XEXP (XEXP (addr, 0), 0)) == REG
- && GET_CODE (XEXP (XEXP (addr, 0), 1)) == REG
- && CONSTANT_ADDRESS_P (XEXP (addr, 1)))
- {
- ireg = XEXP (XEXP (addr, 0), 0);
- breg = XEXP (XEXP (addr, 0), 1);
- offset = XEXP (addr, 1);
- }
- else if (GET_CODE (XEXP (XEXP (addr, 0), 0)) == REG
- && GET_CODE (XEXP (addr, 1)) == REG
- && CONSTANT_ADDRESS_P (XEXP (XEXP (addr, 0), 1)))
- {
- ireg = XEXP (XEXP (addr, 0), 0);
- breg = XEXP (addr, 1);
- offset = XEXP (XEXP (addr, 0), 1);
- }
- else
- abort ();
+ case POST_INC:
+ offset = GET_MODE_SIZE (output_memory_reference_mode);
break;
- default:
- if (CONSTANT_ADDRESS_P (XEXP (addr, 1)))
- {
- if (CONSTANT_ADDRESS_P (XEXP (addr, 0)))
- offset = addr;
- else if (GET_CODE (XEXP (addr, 0)) == POST_INC
- || GET_CODE (XEXP (addr, 0)) == POST_DEC)
- post_offset = XEXP (addr, 1);
- else
- abort ();
- }
-
+ case POST_DEC:
+ offset = -GET_MODE_SIZE (output_memory_reference_mode);
break;
+ default:
+ abort ();
}
-
- if (scale)
- {
- fprintf (file, "%ld(%s,%s,%ld)", offset ? INTVAL (offset) : 0,
- reg_names[REGNO (breg)], reg_names[REGNO (ireg)],
- INTVAL (scale));
- }
- else
- {
- /* If this is (POST_DEC/INC expression + post_offset) make addr =
- * POST_DEC/INC expression */
- if (post_offset != 0)
- {
- addr = XEXP (addr, 0);
- print_post_operand_address (file, addr, INTVAL (post_offset));
- break;
- }
-
- if (ireg != 0)
- {
- if (offset != 0)
- {
- output_addr_const (file, offset);
- /* Print modifier if relevant. */
- }
- else
- {
- fprintf (file, "0");
- }
- /* Print address string */
- if (breg != 0)
- {
- fprintf (file, "(%s,%s)", reg_names[REGNO (breg)],
- reg_names[REGNO (ireg)]);
- }
- else
- fprintf (file, "(%s)", reg_names[REGNO (ireg)]);
- }
- else
- {
- if (offset != 0)
- {
- output_addr_const (file, offset);
- }
- else
- {
- fprintf (file, "0");
- }
-
- if (breg != 0)
- {
- if (offset == 0)
- fprintf (file, "0");
- fprintf (file, "(%s)", reg_names[REGNO (breg)]);
- }
- }
- }
- break;
-
- case POST_DEC:
- case POST_INC:
- case POST_MODIFY:
- print_post_operand_address (file, addr, 0);
- break;
-
+ fprintf (file, "%d(%s)+", offset, reg_names[REGNO (address.base)]);
+ return;
+
+ case CRX_SCALED_INDX:
+ fprintf (file, "%d(%s, %s, %d)", offset, reg_names[REGNO (address.base)],
+ reg_names[REGNO (address.index)], address.scale);
+ return;
+
+ case CRX_ABSOLUTE:
+ output_addr_const (file, address.disp);
+ return;
+
default:
-
- output_addr_const (file, addr);
+ abort ();
}
-
- if (mem)
- fprintf (file, ")");
}
@@ -1193,16 +1178,18 @@ crx_expand_movmem (rtx dstbase, rtx srcbase, rtx count_exp, rtx align_exp)
if (GET_CODE (align_exp) == CONST_INT)
{ /* Only if aligned */
align = INTVAL (align_exp);
- if (align & 3) return 0;
+ if (align & 3)
+ return 0;
}
if (GET_CODE (count_exp) == CONST_INT)
{ /* No more than 16 SImode moves */
count = INTVAL (count_exp);
- if (count > 64) return 0;
+ if (count > 64)
+ return 0;
}
- tmp_reg = gen_reg_rtx(SImode);
+ tmp_reg = gen_reg_rtx (SImode);
/* Create psrs for the src and dest pointers */
dst = copy_to_mode_reg (Pmode, XEXP (dstbase, 0));
@@ -1271,7 +1258,7 @@ crx_expand_scond (enum rtx_code code, rtx dest)
static void
mpushpop_str (char *stringbuffer, const char *mnemonic, char *mask)
{
- if(strlen(mask) > 2 || crx_interrupt_function_p ()) /* needs 2-word instr. */
+ if (strlen (mask) > 2 || crx_interrupt_function_p ()) /* needs 2-word instr. */
sprintf (stringbuffer, "\n\t%s\tsp, {%s}", mnemonic, mask);
else /* single word instruction */
sprintf (stringbuffer, "\n\t%s\t%s", mnemonic, mask);
@@ -1346,7 +1333,7 @@ crx_prepare_push_pop_string (int push_or_pop)
}
}
- if (strlen(mask_str) == 0) continue;
+ if (strlen (mask_str) == 0) continue;
if (push_or_pop == 1)
{
@@ -1438,7 +1425,7 @@ crx_expand_prologue (void)
if (size_for_adjusting_sp > 0)
emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx,
- GEN_INT (-(size_for_adjusting_sp))));
+ GEN_INT (-size_for_adjusting_sp)));
if (frame_pointer_needed)
/* Initialize the frame pointer with the value of the stack pointer
diff --git a/gcc/config/crx/crx.h b/gcc/config/crx/crx.h
index 24ae00f6448..9277a28d891 100644
--- a/gcc/config/crx/crx.h
+++ b/gcc/config/crx/crx.h
@@ -37,6 +37,9 @@
#undef ENDFILE_SPEC
#define ENDFILE_SPEC "crtend.o%s crtn.o%s"
+#undef MATH_LIBRARY
+#define MATH_LIBRARY ""
+
/*****************************************************************************/
/* RUN-TIME TARGET SPECIFICATION */
/*****************************************************************************/
@@ -220,7 +223,6 @@ enum reg_class
|| (reg_renumber && (unsigned)reg_renumber[REGNO] < 16))
#define REGNO_OK_FOR_INDEX_P(REGNO) REGNO_OK_FOR_BASE_P(REGNO)
-#define REGNO_OK_FOR_INDEXED_BASE_P(REGNO) REGNO_OK_FOR_BASE_P(REGNO)
#define PREFERRED_RELOAD_CLASS(X,CLASS) CLASS
@@ -326,7 +328,7 @@ struct cumulative_args
#define FUNCTION_ARG_ADVANCE(CUM, MODE, TYPE, NAMED) \
crx_function_arg_advance(&(CUM), (MODE), (TYPE), (NAMED))
-#define FUNCTION_ARG_REGNO_P(REGNO) crx_function_arg_regno_p((REGNO))
+#define FUNCTION_ARG_REGNO_P(REGNO) crx_function_arg_regno_p(REGNO)
/*****************************************************************************/
/* RETURNING FUNCTION VALUE */
@@ -381,22 +383,12 @@ struct cumulative_args
#define HAVE_POST_MODIFY_DISP 1
#define HAVE_POST_MODIFY_REG 0
-#define STRICT_REG_OK_FOR_BASE_P(X) REGNO_OK_FOR_BASE_P (REGNO (X))
-#define STRICT_REG_OK_FOR_INDEX_P(X) REGNO_OK_FOR_INDEX_P(REGNO(X))
-#define STRICT_REG_OK_FOR_INDEXED_BASE_P(X) REGNO_OK_FOR_INDEXED_BASE_P(REGNO(X))
-
-#define NONSTRICT_REG_OK_FOR_BASE_P(X) 1
-#define NONSTRICT_REG_OK_FOR_INDEX_P(X) 1
-#define NONSTRICT_REG_OK_FOR_INDEXED_BASE_P(X) 1
-
#ifdef REG_OK_STRICT
-#define REG_OK_FOR_BASE_P(X) STRICT_REG_OK_FOR_BASE_P(X)
-#define REG_OK_FOR_INDEX_P(X) STRICT_REG_OK_FOR_INDEX_P(X)
-#define REG_OK_FOR_INDEXED_BASE_P(X) STRICT_REG_OK_FOR_INDEXED_BASE_P(X)
+#define REG_OK_FOR_BASE_P(X) REGNO_OK_FOR_BASE_P (REGNO (X))
+#define REG_OK_FOR_INDEX_P(X) REGNO_OK_FOR_INDEX_P (REGNO (X))
#else
-#define REG_OK_FOR_BASE_P(X) NONSTRICT_REG_OK_FOR_BASE_P(X)
-#define REG_OK_FOR_INDEX_P(X) NONSTRICT_REG_OK_FOR_INDEX_P(X)
-#define REG_OK_FOR_INDEXED_BASE_P(X) NONSTRICT_REG_OK_FOR_INDEXED_BASE_P(X)
+#define REG_OK_FOR_BASE_P(X) 1
+#define REG_OK_FOR_INDEX_P(X) 1
#endif /* REG_OK_STRICT */
#ifdef REG_OK_STRICT
@@ -411,9 +403,7 @@ struct cumulative_args
if (crx_legitimate_address_p (MODE, X, 0)) \
goto LABEL; \
}
-#endif
-
-#define LEGITIMIZE_ADDRESS(X, OLDX, MODE, WIN) {}
+#endif /* REG_OK_STRICT */
#define GO_IF_MODE_DEPENDENT_ADDRESS(ADDR, LABEL) \
{ \
diff --git a/gcc/config/crx/crx.md b/gcc/config/crx/crx.md
index a5e03446c38..bb052d206d0 100644
--- a/gcc/config/crx/crx.md
+++ b/gcc/config/crx/crx.md
@@ -31,7 +31,7 @@
]
)
-(define_attr "length" "" ( const_int 6 ) )
+(define_attr "length" "" ( const_int 6 ))
(define_asm_attributes
[(set_attr "length" "6")]
@@ -118,7 +118,7 @@
(match_operand:DI 2 "nonmemory_operand" "r,i")))
(clobber (reg:CC CC_REGNUM))]
""
- "addd\\t%L2, %L1\;addcd\\t%H2, %H1"
+ "addd\t%L2, %L1\;addcd\t%H2, %H1"
[(set_attr "length" "4,12")]
)
@@ -128,7 +128,7 @@
(match_operand:CRXIM 2 "nonmemory_operand" "r,i")))
(clobber (reg:CC CC_REGNUM))]
""
- "add<tIsa>\\t%2, %0"
+ "add<tIsa>\t%2, %0"
[(set_attr "length" "2,<lImmArith>")]
)
@@ -140,7 +140,7 @@
(match_operand:DI 2 "nonmemory_operand" "r,i")))
(clobber (reg:CC CC_REGNUM))]
""
- "subd\\t%L2, %L1\;subcd\\t%H2, %H1"
+ "subd\t%L2, %L1\;subcd\t%H2, %H1"
[(set_attr "length" "4,12")]
)
@@ -150,7 +150,7 @@
(match_operand:CRXIM 2 "nonmemory_operand" "r,i")))
(clobber (reg:CC CC_REGNUM))]
""
- "sub<tIsa>\\t%2, %0"
+ "sub<tIsa>\t%2, %0"
[(set_attr "length" "2,<lImmArith>")]
)
@@ -162,7 +162,7 @@
(match_operand:CRXIM 2 "nonmemory_operand" "r,i")))
(clobber (reg:CC CC_REGNUM))]
""
- "mul<tIsa>\\t%2, %0"
+ "mul<tIsa>\t%2, %0"
[(set_attr "length" "2,<lImmArith>")]
)
@@ -174,7 +174,7 @@
(sz_xtnd:DI (match_operand:SI 2 "register_operand" "r"))))
(clobber (reg:CC CC_REGNUM))]
""
- "mull<sPat>d\\t%2, %1"
+ "mull<sPat>d\t%2, %1"
[(set_attr "length" "4")]
)
@@ -184,7 +184,7 @@
(sz_xtnd:SI (match_operand:HI 2 "register_operand" "r"))))
(clobber (reg:CC CC_REGNUM))]
""
- "mul<sPat>wd\\t%2, %0"
+ "mul<sPat>wd\t%2, %0"
[(set_attr "length" "4")]
)
@@ -194,7 +194,7 @@
(sz_xtnd:HI (match_operand:QI 2 "register_operand" "r"))))
(clobber (reg:CC CC_REGNUM))]
""
- "mul<sPat>bw\\t%2, %0"
+ "mul<sPat>bw\t%2, %0"
[(set_attr "length" "4")]
)
@@ -206,7 +206,7 @@
(match_operand:CRXIM 2 "nonmemory_operand" "r,i")))
(clobber (reg:CC CC_REGNUM))]
""
- "and<tIsa>\\t%2, %0"
+ "and<tIsa>\t%2, %0"
[(set_attr "length" "2,<lImmArith>")]
)
@@ -218,7 +218,7 @@
(match_operand:CRXIM 2 "nonmemory_operand" "r,i")))
(clobber (reg:CC CC_REGNUM))]
""
- "or<tIsa>\\t%2, %0"
+ "or<tIsa>\t%2, %0"
[(set_attr "length" "2,<lImmArith>")]
)
@@ -230,7 +230,7 @@
(match_operand:CRXIM 2 "nonmemory_operand" "r,i")))
(clobber (reg:CC CC_REGNUM))]
""
- "xor<tIsa>\\t%2, %0"
+ "xor<tIsa>\t%2, %0"
[(set_attr "length" "2,<lImmArith>")]
)
@@ -241,7 +241,7 @@
(sz_xtnd:SI (match_operand:HI 1 "register_operand" "r")))
(clobber (reg:CC CC_REGNUM))]
""
- "<szIsa>extwd\\t%1, %0"
+ "<szIsa>extwd\t%1, %0"
[(set_attr "length" "4")]
)
@@ -250,7 +250,7 @@
(sz_xtnd:SI (match_operand:QI 1 "register_operand" "r")))
(clobber (reg:CC CC_REGNUM))]
""
- "<szIsa>extbd\\t%1, %0"
+ "<szIsa>extbd\t%1, %0"
[(set_attr "length" "4")]
)
@@ -259,7 +259,7 @@
(sz_xtnd:HI (match_operand:QI 1 "register_operand" "r")))
(clobber (reg:CC CC_REGNUM))]
""
- "<szIsa>extbw\\t%1, %0"
+ "<szIsa>extbw\t%1, %0"
[(set_attr "length" "4")]
)
@@ -270,7 +270,7 @@
(neg:CRXIM (match_operand:CRXIM 1 "register_operand" "r")))
(clobber (reg:CC CC_REGNUM))]
""
- "neg<tIsa>\\t%1, %0"
+ "neg<tIsa>\t%1, %0"
[(set_attr "length" "4")]
)
@@ -281,7 +281,7 @@
(abs:CRXIM (match_operand:CRXIM 1 "register_operand" "r")))
(clobber (reg:CC CC_REGNUM))]
""
- "abs<tIsa>\\t%1, %0"
+ "abs<tIsa>\t%1, %0"
[(set_attr "length" "4")]
)
@@ -292,7 +292,7 @@
(mima_oprnd:CRXIM (match_operand:CRXIM 1 "register_operand" "%0")
(match_operand:CRXIM 2 "register_operand" "r")))]
""
- "<mimaIsa><tIsa>\\t%2, %0"
+ "<mimaIsa><tIsa>\t%2, %0"
[(set_attr "length" "4")]
)
@@ -303,7 +303,7 @@
(not:CRXIM (match_operand:CRXIM 1 "register_operand" "0")))
(clobber (reg:CC CC_REGNUM))]
""
- "xor<tIsa>\\t$-1, %0"
+ "xor<tIsa>\t$-1, %0"
[(set_attr "length" "2")]
)
@@ -316,8 +316,8 @@
(clobber (reg:CC CC_REGNUM))]
""
"@
- rotl<tIsa>\\t%2, %0
- rot<tIsa>\\t%2, %0"
+ rotl<tIsa>\t%2, %0
+ rot<tIsa>\t%2, %0"
[(set_attr "length" "4,<lImmRotl>")]
)
@@ -327,7 +327,7 @@
(match_operand:CRXIM 2 "register_operand" "r")))
(clobber (reg:CC CC_REGNUM))]
""
- "rotr<tIsa>\\t%2, %0"
+ "rotr<tIsa>\t%2, %0"
[(set_attr "length" "4")]
)
@@ -339,7 +339,7 @@
(match_operand:QI 2 "nonmemory_operand" "r,<IJK>")))
(clobber (reg:CC CC_REGNUM))]
""
- "s<shIsa><tIsa>\\t%2, %0"
+ "s<shIsa><tIsa>\t%2, %0"
[(set_attr "length" "2,2")]
)
@@ -433,10 +433,10 @@
(match_operand:SISFM 1 "nonmemory_operand" "r, <iF>, k, r"))]
""
"@
- movd\\t%1, %0
- movd\\t%1, %0
- mfpr\\t%1, %0
- mtpr\\t%1, %0"
+ movd\t%1, %0
+ movd\t%1, %0
+ mfpr\t%1, %0
+ mtpr\t%1, %0"
[(set_attr "length" "2,6,4,4")]
)
@@ -464,7 +464,7 @@
[(set (match_operand:SHORT 0 "register_operand" "=r, r")
(match_operand:SHORT 1 "nonmemory_operand" "r, i"))]
""
- "mov<tIsa>\\t%1, %0"
+ "mov<tIsa>\t%1, %0"
[(set_attr "length" "2,<lImmArith>")]
)
@@ -472,7 +472,7 @@
[(set (match_operand:CRXMM 0 "register_operand" "=r")
(match_operand:CRXMM 1 "memory_operand" "m"))]
""
- "load<tIsa>\\t%1, %0"
+ "load<tIsa>\t%1, %0"
[(set_attr "length" "6")]
)
@@ -493,7 +493,7 @@
[(set (match_operand:CRXMM 0 "store_operand" "=m, m")
(match_operand:CRXMM 1 "reg_or_u4bits_operand" "r, <JG>"))]
""
- "stor<tIsa>\\t%1, %0"
+ "stor<tIsa>\t%1, %0"
[(set_attr "length" "6")]
)
@@ -531,7 +531,7 @@
(label_ref (match_operand 3 "" ""))
(pc)))]
""
- "cmpb%d0<tIsa>\\t%2, %1, %l3"
+ "cmpb%d0<tIsa>\t%2, %1, %l3"
[(set_attr "length" "6")]
)
@@ -554,7 +554,7 @@
(compare:CC (match_operand:CRXIM 0 "register_operand" "r,r")
(match_operand:CRXIM 1 "nonmemory_operand" "r,i")))]
""
- "cmp<tIsa>\\t%1, %0"
+ "cmp<tIsa>\t%1, %0"
[(set_attr "length" "2,<lImmArith>")]
)
@@ -581,7 +581,7 @@
(label_ref (match_operand 1 ""))
(pc)))]
""
- "b%d0\\t%l1"
+ "b%d0\t%l1"
[(set_attr "length" "6")]
)
@@ -602,7 +602,7 @@
(match_operator:SI 1 "comparison_operator"
[(reg:CC CC_REGNUM) (const_int 0)]))]
""
- "s%d1\\t%0"
+ "s%d1\t%0"
[(set_attr "length" "2")]
)
@@ -615,7 +615,7 @@
(return)])
]
"reload_completed"
- "jump\\tra"
+ "jump\tra"
[(set_attr "length" "2")]
)
@@ -624,8 +624,8 @@
(match_operand:SI 0 "reg_or_sym_operand" "r,i"))]
""
"@
- jump\\t%0
- br\\t%a0"
+ jump\t%0
+ br\t%a0"
[(set_attr "length" "2,6")]
)
@@ -644,7 +644,7 @@
[(set (pc)
(match_operand 0 "immediate_operand" "i"))]
""
- "br\\t%c0"
+ "br\t%c0"
[(set_attr "length" "6")]
)
@@ -652,7 +652,7 @@
[(set (pc)
(label_ref (match_operand 0 "" "")))]
""
- "br\\t%l0"
+ "br\t%l0"
[(set_attr "length" "6")]
)
@@ -709,7 +709,7 @@
(return)])
]
"reload_completed"
- "popret\\tra"
+ "popret\tra"
[(set_attr "length" "2")]
)
@@ -720,7 +720,7 @@
(match_operand:SI 0 "register_operand" "r"))
(use (label_ref:SI (match_operand 1 "" "" )))]
""
- "jump\\t%0"
+ "jump\t%0"
[(set_attr "length" "2")]
)
@@ -750,7 +750,7 @@
(match_operand 1 "" ""))
(clobber (match_operand:SI 2 "register_operand" "+r"))]
""
- "bal\\tra, %a0"
+ "bal\tra, %a0"
[(set_attr "length" "6")]
)
@@ -759,7 +759,7 @@
(match_operand 1 "" ""))
(clobber (match_operand:SI 2 "register_operand" "+r"))]
""
- "jal\\t%0"
+ "jal\t%0"
[(set_attr "length" "2")]
)
@@ -770,7 +770,7 @@
(match_operand 2 "" ""))
(clobber (match_operand:SI 3 "register_operand" "+r"))]
""
- "jalid\\t%0, %1"
+ "jalid\t%0, %1"
[(set_attr "length" "4")]
)
@@ -803,7 +803,7 @@
(match_operand 2 "" "")))
(clobber (match_operand:SI 3 "register_operand" "+r"))]
""
- "bal\\tra, %a1"
+ "bal\tra, %a1"
[(set_attr "length" "6")]
)
@@ -813,7 +813,7 @@
(match_operand 2 "" "")))
(clobber (match_operand:SI 3 "register_operand" "+r"))]
""
- "jal\\t%1"
+ "jal\t%1"
[(set_attr "length" "2")]
)
@@ -825,7 +825,7 @@
(match_operand 3 "" "")))
(clobber (match_operand:SI 4 "register_operand" "+r"))]
""
- "jalid\\t%0, %1"
+ "jalid\t%0, %1"
[(set_attr "length" "4")]
)
@@ -847,7 +847,7 @@
(match_dup 0)))
(clobber (reg:CC CC_REGNUM))]
"TARGET_MAC"
- "mac<sPat>d\\t%2, %1"
+ "mac<sPat>d\t%2, %1"
[(set_attr "length" "4")]
)
@@ -859,7 +859,7 @@
(match_dup 0)))
(clobber (reg:CC CC_REGNUM))]
"TARGET_MAC"
- "mac<sPat>w\\t%2, %1"
+ "mac<sPat>w\t%2, %1"
[(set_attr "length" "4")]
)
@@ -871,7 +871,7 @@
(match_dup 0)))
(clobber (reg:CC CC_REGNUM))]
"TARGET_MAC"
- "mac<sPat>b\\t%2, %1"
+ "mac<sPat>b\t%2, %1"
[(set_attr "length" "4")]
)
@@ -885,16 +885,18 @@
(use (match_operand 4 "" ""))] ; label
""
{
+ if (INTVAL (operands[3]) > crx_loop_nesting)
+ FAIL;
switch (GET_MODE (operands[0]))
{
case SImode:
- emit_jump_insn (gen_doloop_end_si (operands[4], operands[0], operands[0]));
+ emit_jump_insn (gen_doloop_end_si (operands[4], operands[0]));
break;
case HImode:
- emit_jump_insn (gen_doloop_end_hi (operands[4], operands[0], operands[0]));
+ emit_jump_insn (gen_doloop_end_hi (operands[4], operands[0]));
break;
case QImode:
- emit_jump_insn (gen_doloop_end_qi (operands[4], operands[0], operands[0]));
+ emit_jump_insn (gen_doloop_end_qi (operands[4], operands[0]));
break;
default:
FAIL;
@@ -903,18 +905,20 @@
}
)
+; CRX dbnz[bwd] used explicitly (see above) but also by the combiner.
+
(define_insn "doloop_end_<mode>"
[(set (pc)
- (if_then_else (ne (match_operand:CRXIM 1 "register_operand" "r,m")
+ (if_then_else (ne (match_operand:CRXIM 1 "register_operand" "+r,!m")
(const_int 1))
(label_ref (match_operand 0 "" ""))
(pc)))
- (set (match_operand:CRXIM 2 "register_operand" "=r,m") (plus:CRXIM (match_dup 1) (const_int -1)))
- (clobber (match_scratch:CRXIM 3 "=X,r"))
+ (set (match_dup 1) (plus:CRXIM (match_dup 1) (const_int -1)))
+ (clobber (match_scratch:CRXIM 2 "=X,r"))
(clobber (reg:CC CC_REGNUM))]
""
"@
- dbnz<tIsa>\\t%1, %l0
- load<tIsa>\\t%1, %3\;add<tIsa>\\t$-1, %3\;stor<tIsa>\\t%3, %1\;bne\\t%l0"
+ dbnz<tIsa>\t%1, %l0
+ load<tIsa>\t%1, %2\;add<tIsa>\t$-1, %2\;stor<tIsa>\t%2, %1\;bne\t%l0"
[(set_attr "length" "6, 12")]
)
diff --git a/gcc/config/crx/crx.opt b/gcc/config/crx/crx.opt
index 9abd3c4bff2..c8208f1acd5 100644
--- a/gcc/config/crx/crx.opt
+++ b/gcc/config/crx/crx.opt
@@ -26,3 +26,10 @@ Support multiply accumulate instructions
mno-push-args
Target Report RejectNegative Mask(NO_PUSH_ARGS)
Do not use push to store function arguments
+
+mloop-nesting=
+Common RejectNegative Joined UInteger Var(crx_loop_nesting) Init(12)
+Restrict doloop to the given nesting level
+
+mdebug-addr
+Target RejectNegative Var(TARGET_DEBUG_ADDR) Undocumented
diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c
index cac61e403c9..bd5d5a8c75b 100644
--- a/gcc/config/darwin.c
+++ b/gcc/config/darwin.c
@@ -227,6 +227,17 @@ machopic_function_base_sym (void)
return sym_ref;
}
+/* Return either ORIG or (const:P (minus:P ORIG PIC_BASE)), depending
+ on whether pic_base is NULL or not. */
+static inline rtx
+gen_pic_offset (rtx orig, rtx pic_base)
+{
+ if (!pic_base)
+ return orig;
+ else
+ return gen_rtx_CONST (Pmode, gen_rtx_MINUS (Pmode, orig, pic_base));
+}
+
static GTY(()) const char * function_base_func_name;
static GTY(()) int current_pic_label_num;
@@ -419,8 +430,10 @@ machopic_indirect_data_reference (rtx orig, rtx reg)
if (defined && MACHO_DYNAMIC_NO_PIC_P)
{
#if defined (TARGET_TOC)
- emit_insn (gen_macho_high (reg, orig));
- emit_insn (gen_macho_low (reg, reg, orig));
+ /* Create a new register for CSE opportunities. */
+ rtx hi_reg = (no_new_pseudos ? reg : gen_reg_rtx (Pmode));
+ emit_insn (gen_macho_high (hi_reg, orig));
+ emit_insn (gen_macho_low (reg, hi_reg, orig));
#else
/* some other cpu -- writeme! */
gcc_unreachable ();
@@ -431,8 +444,7 @@ machopic_indirect_data_reference (rtx orig, rtx reg)
{
#if defined (TARGET_TOC) || defined (HAVE_lo_sum)
rtx pic_base = machopic_function_base_sym ();
- rtx offset = gen_rtx_CONST (Pmode,
- gen_rtx_MINUS (Pmode, orig, pic_base));
+ rtx offset = gen_pic_offset (orig, pic_base);
#endif
#if defined (TARGET_TOC) /* i.e., PowerPC */
@@ -589,9 +601,9 @@ machopic_legitimize_pic_address (rtx orig, enum machine_mode mode, rtx reg)
return reg;
}
- /* if dynamic-no-pic then use 0 as the pic base */
+ /* if dynamic-no-pic we don't have a pic base */
if (MACHO_DYNAMIC_NO_PIC_P)
- pic_base = CONST0_RTX (Pmode);
+ pic_base = NULL;
else
pic_base = machopic_function_base_sym ();
@@ -627,10 +639,7 @@ machopic_legitimize_pic_address (rtx orig, enum machine_mode mode, rtx reg)
if (GET_CODE (XEXP (orig, 0)) == SYMBOL_REF
|| GET_CODE (XEXP (orig, 0)) == LABEL_REF)
{
- rtx offset = gen_rtx_CONST (Pmode,
- gen_rtx_MINUS (Pmode,
- XEXP (orig, 0),
- pic_base));
+ rtx offset = gen_pic_offset (XEXP (orig, 0), pic_base);
#if defined (TARGET_TOC) /* i.e., PowerPC */
/* Generating a new reg may expose opportunities for
common subexpression elimination. */
@@ -684,12 +693,9 @@ machopic_legitimize_pic_address (rtx orig, enum machine_mode mode, rtx reg)
PIC_OFFSET_TABLE_REGNUM)));
#endif
- pic_ref = gen_rtx_PLUS (Pmode,
- pic,
- gen_rtx_CONST (Pmode,
- gen_rtx_MINUS (Pmode,
- XEXP (orig, 0),
- pic_base)));
+ pic_ref = gen_rtx_PLUS (Pmode, pic,
+ gen_pic_offset (XEXP (orig, 0),
+ pic_base));
}
#if !defined (TARGET_TOC)
@@ -704,9 +710,7 @@ machopic_legitimize_pic_address (rtx orig, enum machine_mode mode, rtx reg)
if (GET_CODE (orig) == SYMBOL_REF
|| GET_CODE (orig) == LABEL_REF)
{
- rtx offset = gen_rtx_CONST (Pmode,
- gen_rtx_MINUS (Pmode,
- orig, pic_base));
+ rtx offset = gen_pic_offset (orig, pic_base);
#if defined (TARGET_TOC) /* i.e., PowerPC */
rtx hi_sum_reg;
@@ -760,9 +764,7 @@ machopic_legitimize_pic_address (rtx orig, enum machine_mode mode, rtx reg)
#endif
pic_ref = gen_rtx_PLUS (Pmode,
pic,
- gen_rtx_CONST (Pmode,
- gen_rtx_MINUS (Pmode,
- orig, pic_base)));
+ gen_pic_offset (orig, pic_base));
}
}
}
@@ -1116,28 +1118,6 @@ machopic_select_section (tree exp, int reloc,
else
base_function ();
}
- /* ::operator new and ::operator delete must be coalesced, even
- if not weak. There are 8 variants that we look for. */
- else if (TREE_CODE (exp) == FUNCTION_DECL
- && ! DECL_ONE_ONLY (exp))
- {
- const char * name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (exp));
- if (name[0] == '_' && name[1] == 'Z'
- && ((name[2] == 'n' && (name[3] == 'a' || name[3] == 'w')
- && name[4] == 'm')
- || (name[2] == 'd' && (name[3] == 'a' || name[3] == 'l')
- && name[4] == 'P' && name[5] == 'v')))
- {
- bool delete_p = name[2] == 'd';
- if (name[5 + delete_p] == 0
- || strcmp (name + 5 + delete_p, "KSt9nothrow_t") == 0)
- base_funs[reloc][1] ();
- else
- base_function ();
- }
- else
- base_function ();
- }
else
base_function ();
}
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index c33e2030e4a..6b697a6733e 100644
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -96,12 +96,12 @@ Boston, MA 02110-1301, USA. */
name, that also takes an argument, needs to be modified so the
prefix is different, otherwise a '*' after the shorter option will
match with the longer one.
-
+
The SUBTARGET_OPTION_TRANSLATE_TABLE macro, which _must_ be defined
in gcc/config/{i386,rs6000}/darwin.h, should contain any additional
command-line option translations specific to the particular target
architecture. */
-
+
#define TARGET_OPTION_TRANSLATE_TABLE \
{ "-all_load", "-Zall_load" }, \
{ "-allowable_client", "-Zallowable_client" }, \
@@ -140,6 +140,14 @@ Boston, MA 02110-1301, USA. */
{ "-unexported_symbols_list", "-Zunexported_symbols_list" }, \
SUBTARGET_OPTION_TRANSLATE_TABLE
+#define SUBTARGET_OS_CPP_BUILTINS() \
+ do \
+ { \
+ if (flag_pic) \
+ builtin_define ("__PIC__"); \
+ } \
+ while (0)
+
/* These compiler options take n arguments. */
#undef WORD_SWITCH_TAKES_ARG
@@ -207,7 +215,7 @@ Boston, MA 02110-1301, USA. */
%{@:-o %f%u.out}%{!@:%{o*}%{!o:-o a.out}} \
%{!Zdynamiclib:%{!A:%{!nostdlib:%{!nostartfiles:%S}}}} \
%{L*} %(link_libgcc) %o %{fprofile-arcs|fprofile-generate|coverage:-lgcov} \
- %{!nostdlib:%{!nodefaultlibs:%G %L}} \
+ %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %G %L}} \
%{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} %{F*} }}}}}}}}"
/* Please keep the random linker options in alphabetical order (modulo
@@ -260,6 +268,7 @@ Boston, MA 02110-1301, USA. */
%{headerpad_max_install_names*} \
%{Zimage_base*:-image_base %*} \
%{Zinit*:-init %*} \
+ %{mmacosx-version-min=*:-macosx_version_min %*} \
%{nomultidefs} \
%{Zmulti_module:-multi_module} %{Zsingle_module:-single_module} \
%{Zmultiply_defined*:-multiply_defined %*} \
@@ -393,9 +402,9 @@ Boston, MA 02110-1301, USA. */
links to, so there's no need for weak-ness for that. */
#define GTHREAD_USE_WEAK 0
-/* The Darwin linker imposes two limitations on common symbols: they
+/* The Darwin linker imposes two limitations on common symbols: they
can't have hidden visibility, and they can't appear in dylibs. As
- a consequence, we should never use common symbols to represent
+ a consequence, we should never use common symbols to represent
vague linkage. */
#undef USE_COMMON_FOR_ONE_ONLY
#define USE_COMMON_FOR_ONE_ONLY 0
@@ -414,7 +423,7 @@ Boston, MA 02110-1301, USA. */
#undef FRAME_BEGIN_LABEL
#define FRAME_BEGIN_LABEL "EH_frame"
-/* Emit a label for the FDE corresponding to DECL. EMPTY means
+/* Emit a label for the FDE corresponding to DECL. EMPTY means
emit a label for an empty FDE. */
#define TARGET_ASM_EMIT_UNWIND_LABEL darwin_emit_unwind_label
@@ -567,7 +576,7 @@ Boston, MA 02110-1301, USA. */
/* Ensure correct alignment of bss data. */
-#undef ASM_OUTPUT_ALIGNED_DECL_LOCAL
+#undef ASM_OUTPUT_ALIGNED_DECL_LOCAL
#define ASM_OUTPUT_ALIGNED_DECL_LOCAL(FILE, DECL, NAME, SIZE, ALIGN) \
do { \
unsigned HOST_WIDE_INT _new_size = SIZE; \
diff --git a/gcc/config/fr30/fr30.h b/gcc/config/fr30/fr30.h
index 37ed63a339b..b423b0a66ce 100644
--- a/gcc/config/fr30/fr30.h
+++ b/gcc/config/fr30/fr30.h
@@ -463,7 +463,7 @@ enum reg_class
to a smaller address. */
#define STACK_GROWS_DOWNWARD 1
-/* Define this to macro non-zero if the addresses of local variable slots
+/* Define this to macro nonzero if the addresses of local variable slots
are at negative offsets from the frame pointer. */
#define FRAME_GROWS_DOWNWARD 1
diff --git a/gcc/config/frv/frv.c b/gcc/config/frv/frv.c
index 756ae633293..0731302618b 100644
--- a/gcc/config/frv/frv.c
+++ b/gcc/config/frv/frv.c
@@ -109,6 +109,21 @@ static GTY(()) rtx frv_nops[NUM_NOP_PATTERNS];
/* The number of nop instructions in frv_nops[]. */
static unsigned int frv_num_nops;
+/* Information about one __builtin_read or __builtin_write access, or
+ the combination of several such accesses. The most general value
+ is all-zeros (an unknown access to an unknown address). */
+struct frv_io {
+ /* The type of access. FRV_IO_UNKNOWN means the access can be either
+ a read or a write. */
+ enum { FRV_IO_UNKNOWN, FRV_IO_READ, FRV_IO_WRITE } type;
+
+ /* The constant address being accessed, or zero if not known. */
+ HOST_WIDE_INT const_address;
+
+ /* The run-time address, as used in operand 0 of the membar pattern. */
+ rtx var_address;
+};
+
/* Return true if instruction INSN should be packed with the following
instruction. */
#define PACKING_FLAG_P(INSN) (GET_MODE (INSN) == TImode)
@@ -123,6 +138,16 @@ static unsigned int frv_num_nops;
REG < REGNO (X) + HARD_REGNO_NREGS (REGNO (X), GET_MODE (X)); \
REG++)
+/* This structure contains machine specific function data. */
+struct machine_function GTY(())
+{
+ /* True if we have created an rtx that relies on the stack frame. */
+ int frame_needed;
+
+ /* True if this function contains at least one __builtin_{read,write}*. */
+ bool has_membar_p;
+};
+
/* Temporary register allocation support structure. */
typedef struct frv_tmp_reg_struct
{
@@ -756,6 +781,9 @@ frv_override_options (void)
if ((target_flags_explicit & MASK_LINKED_FP) == 0)
target_flags |= MASK_LINKED_FP;
+ if ((target_flags_explicit & MASK_OPTIMIZE_MEMBAR) == 0)
+ target_flags |= MASK_OPTIMIZE_MEMBAR;
+
for (i = 0; i < ARRAY_SIZE (frv_unit_names); i++)
frv_unit_codes[i] = get_cpu_unit_code (frv_unit_names[i]);
@@ -5291,7 +5319,7 @@ frv_ifcvt_modify_tests (ce_if_block_t *ce_info, rtx *p_true, rtx *p_false)
if (join_bb)
{
- int regno;
+ unsigned int regno;
/* Remove anything live at the beginning of the join block from being
available for allocation. */
@@ -5328,7 +5356,7 @@ frv_ifcvt_modify_tests (ce_if_block_t *ce_info, rtx *p_true, rtx *p_false)
{
rtx last_insn = BB_END (bb[j]);
rtx insn = BB_HEAD (bb[j]);
- int regno;
+ unsigned int regno;
if (dump_file)
fprintf (dump_file, "Scanning %s block %d, start %d, end %d\n",
@@ -7661,6 +7689,334 @@ frv_fill_unused_units (enum frv_insn_group group)
frv_insert_nop_in_packet (packet_group->nop);
}
+/* Return true if accesses IO1 and IO2 refer to the same doubleword. */
+
+static bool
+frv_same_doubleword_p (const struct frv_io *io1, const struct frv_io *io2)
+{
+ if (io1->const_address != 0 && io2->const_address != 0)
+ return io1->const_address == io2->const_address;
+
+ if (io1->var_address != 0 && io2->var_address != 0)
+ return rtx_equal_p (io1->var_address, io2->var_address);
+
+ return false;
+}
+
+/* Return true if operations IO1 and IO2 are guaranteed to complete
+ in order. */
+
+static bool
+frv_io_fixed_order_p (const struct frv_io *io1, const struct frv_io *io2)
+{
+ /* The order of writes is always preserved. */
+ if (io1->type == FRV_IO_WRITE && io2->type == FRV_IO_WRITE)
+ return true;
+
+ /* The order of reads isn't preserved. */
+ if (io1->type != FRV_IO_WRITE && io2->type != FRV_IO_WRITE)
+ return false;
+
+ /* One operation is a write and the other is (or could be) a read.
+ The order is only guaranteed if the accesses are to the same
+ doubleword. */
+ return frv_same_doubleword_p (io1, io2);
+}
+
+/* Generalize I/O operation X so that it covers both X and Y. */
+
+static void
+frv_io_union (struct frv_io *x, const struct frv_io *y)
+{
+ if (x->type != y->type)
+ x->type = FRV_IO_UNKNOWN;
+ if (!frv_same_doubleword_p (x, y))
+ {
+ x->const_address = 0;
+ x->var_address = 0;
+ }
+}
+
+/* Fill IO with information about the load or store associated with
+ membar instruction INSN. */
+
+static void
+frv_extract_membar (struct frv_io *io, rtx insn)
+{
+ extract_insn (insn);
+ io->type = INTVAL (recog_data.operand[2]);
+ io->const_address = INTVAL (recog_data.operand[1]);
+ io->var_address = XEXP (recog_data.operand[0], 0);
+}
+
+/* A note_stores callback for which DATA points to an rtx. Nullify *DATA
+ if X is a register and *DATA depends on X. */
+
+static void
+frv_io_check_address (rtx x, rtx pat ATTRIBUTE_UNUSED, void *data)
+{
+ rtx *other = data;
+
+ if (REG_P (x) && *other != 0 && reg_overlap_mentioned_p (x, *other))
+ *other = 0;
+}
+
+/* A note_stores callback for which DATA points to a HARD_REG_SET.
+ Remove every modified register from the set. */
+
+static void
+frv_io_handle_set (rtx x, rtx pat ATTRIBUTE_UNUSED, void *data)
+{
+ HARD_REG_SET *set = data;
+ unsigned int regno;
+
+ if (REG_P (x))
+ FOR_EACH_REGNO (regno, x)
+ CLEAR_HARD_REG_BIT (*set, regno);
+}
+
+/* A for_each_rtx callback for which DATA points to a HARD_REG_SET.
+ Add every register in *X to the set. */
+
+static int
+frv_io_handle_use_1 (rtx *x, void *data)
+{
+ HARD_REG_SET *set = data;
+ unsigned int regno;
+
+ if (REG_P (*x))
+ FOR_EACH_REGNO (regno, *x)
+ SET_HARD_REG_BIT (*set, regno);
+
+ return 0;
+}
+
+/* A note_stores callback that applies frv_io_handle_use_1 to an
+ entire rhs value. */
+
+static void
+frv_io_handle_use (rtx *x, void *data)
+{
+ for_each_rtx (x, frv_io_handle_use_1, data);
+}
+
+/* Go through block BB looking for membars to remove. There are two
+ cases where intra-block analysis is enough:
+
+ - a membar is redundant if it occurs between two consecutive I/O
+ operations and if those operations are guaranteed to complete
+ in order.
+
+ - a membar for a __builtin_read is redundant if the result is
+ used before the next I/O operation is issued.
+
+ If the last membar in the block could not be removed, and there
+ are guaranteed to be no I/O operations between that membar and
+ the end of the block, store the membar in *LAST_MEMBAR, otherwise
+ store null.
+
+ Describe the block's first I/O operation in *NEXT_IO. Describe
+ an unknown operation if the block doesn't do any I/O. */
+
+static void
+frv_optimize_membar_local (basic_block bb, struct frv_io *next_io,
+ rtx *last_membar)
+{
+ HARD_REG_SET used_regs;
+ rtx next_membar, set, insn;
+ bool next_is_end_p;
+
+ /* NEXT_IO is the next I/O operation to be performed after the current
+ instruction. It starts off as being an unknown operation. */
+ memset (next_io, 0, sizeof (*next_io));
+
+ /* NEXT_IS_END_P is true if NEXT_IO describes the end of the block. */
+ next_is_end_p = true;
+
+ /* If the current instruction is a __builtin_read or __builtin_write,
+ NEXT_MEMBAR is the membar instruction associated with it. NEXT_MEMBAR
+ is null if the membar has already been deleted.
+
+ Note that the initialization here should only be needed to
+ suppress warnings. */
+ next_membar = 0;
+
+ /* USED_REGS is the set of registers that are used before the
+ next I/O instruction. */
+ CLEAR_HARD_REG_SET (used_regs);
+
+ for (insn = BB_END (bb); insn != BB_HEAD (bb); insn = PREV_INSN (insn))
+ if (GET_CODE (insn) == CALL_INSN)
+ {
+ /* We can't predict what a call will do to volatile memory. */
+ memset (next_io, 0, sizeof (struct frv_io));
+ next_is_end_p = false;
+ CLEAR_HARD_REG_SET (used_regs);
+ }
+ else if (INSN_P (insn))
+ switch (recog_memoized (insn))
+ {
+ case CODE_FOR_optional_membar_qi:
+ case CODE_FOR_optional_membar_hi:
+ case CODE_FOR_optional_membar_si:
+ case CODE_FOR_optional_membar_di:
+ next_membar = insn;
+ if (next_is_end_p)
+ {
+ /* Local information isn't enough to decide whether this
+ membar is needed. Stash it away for later. */
+ *last_membar = insn;
+ frv_extract_membar (next_io, insn);
+ next_is_end_p = false;
+ }
+ else
+ {
+ /* Check whether the I/O operation before INSN could be
+ reordered with one described by NEXT_IO. If it can't,
+ INSN will not be needed. */
+ struct frv_io prev_io;
+
+ frv_extract_membar (&prev_io, insn);
+ if (frv_io_fixed_order_p (&prev_io, next_io))
+ {
+ if (dump_file)
+ fprintf (dump_file,
+ ";; [Local] Removing membar %d since order"
+ " of accesses is guaranteed\n",
+ INSN_UID (next_membar));
+
+ insn = NEXT_INSN (insn);
+ delete_insn (next_membar);
+ next_membar = 0;
+ }
+ *next_io = prev_io;
+ }
+ break;
+
+ default:
+ /* Invalidate NEXT_IO's address if it depends on something that
+ is clobbered by INSN. */
+ if (next_io->var_address)
+ note_stores (PATTERN (insn), frv_io_check_address,
+ &next_io->var_address);
+
+ /* If the next membar is associated with a __builtin_read,
+ see if INSN reads from that address. If it does, and if
+ the destination register is used before the next I/O access,
+ there is no need for the membar. */
+ set = PATTERN (insn);
+ if (next_io->type == FRV_IO_READ
+ && next_io->var_address != 0
+ && next_membar != 0
+ && GET_CODE (set) == SET
+ && GET_CODE (SET_DEST (set)) == REG
+ && TEST_HARD_REG_BIT (used_regs, REGNO (SET_DEST (set))))
+ {
+ rtx src;
+
+ src = SET_SRC (set);
+ if (GET_CODE (src) == ZERO_EXTEND)
+ src = XEXP (src, 0);
+
+ if (GET_CODE (src) == MEM
+ && rtx_equal_p (XEXP (src, 0), next_io->var_address))
+ {
+ if (dump_file)
+ fprintf (dump_file,
+ ";; [Local] Removing membar %d since the target"
+ " of %d is used before the I/O operation\n",
+ INSN_UID (next_membar), INSN_UID (insn));
+
+ if (next_membar == *last_membar)
+ *last_membar = 0;
+
+ delete_insn (next_membar);
+ next_membar = 0;
+ }
+ }
+
+ /* If INSN has volatile references, forget about any registers
+ that are used after it. Otherwise forget about uses that
+ are (or might be) defined by INSN. */
+ if (volatile_refs_p (PATTERN (insn)))
+ CLEAR_HARD_REG_SET (used_regs);
+ else
+ note_stores (PATTERN (insn), frv_io_handle_set, &used_regs);
+
+ note_uses (&PATTERN (insn), frv_io_handle_use, &used_regs);
+ break;
+ }
+}
+
+/* See if MEMBAR, the last membar instruction in BB, can be removed.
+ FIRST_IO[X] describes the first operation performed by basic block X. */
+
+static void
+frv_optimize_membar_global (basic_block bb, struct frv_io *first_io,
+ rtx membar)
+{
+ struct frv_io this_io, next_io;
+ edge succ;
+ edge_iterator ei;
+
+ /* We need to keep the membar if there is an edge to the exit block. */
+ FOR_EACH_EDGE (succ, ei, bb->succs)
+ /* for (succ = bb->succ; succ != 0; succ = succ->succ_next) */
+ if (succ->dest == EXIT_BLOCK_PTR)
+ return;
+
+ /* Work out the union of all successor blocks. */
+ ei = ei_start (bb->succs);
+ ei_cond (ei, &succ);
+ /* next_io = first_io[bb->succ->dest->index]; */
+ next_io = first_io[succ->dest->index];
+ ei = ei_start (bb->succs);
+ if (ei_cond (ei, &succ))
+ {
+ for (ei_next (&ei); ei_cond (ei, &succ); ei_next (&ei))
+ /*for (succ = bb->succ->succ_next; succ != 0; succ = succ->succ_next)*/
+ frv_io_union (&next_io, &first_io[succ->dest->index]);
+ }
+ else
+ gcc_unreachable ();
+
+ frv_extract_membar (&this_io, membar);
+ if (frv_io_fixed_order_p (&this_io, &next_io))
+ {
+ if (dump_file)
+ fprintf (dump_file,
+ ";; [Global] Removing membar %d since order of accesses"
+ " is guaranteed\n", INSN_UID (membar));
+
+ delete_insn (membar);
+ }
+}
+
+/* Remove redundant membars from the current function. */
+
+static void
+frv_optimize_membar (void)
+{
+ basic_block bb;
+ struct frv_io *first_io;
+ rtx *last_membar;
+
+ compute_bb_for_insn ();
+ first_io = xcalloc (last_basic_block, sizeof (struct frv_io));
+ last_membar = xcalloc (last_basic_block, sizeof (rtx));
+
+ FOR_EACH_BB (bb)
+ frv_optimize_membar_local (bb, &first_io[bb->index],
+ &last_membar[bb->index]);
+
+ FOR_EACH_BB (bb)
+ if (last_membar[bb->index] != 0)
+ frv_optimize_membar_global (bb, first_io, last_membar[bb->index]);
+
+ free (first_io);
+ free (last_membar);
+}
+
/* Used by frv_reorg to keep track of the current packet's address. */
static unsigned int frv_packet_address;
@@ -7773,6 +8129,9 @@ frv_register_nop (rtx nop)
static void
frv_reorg (void)
{
+ if (optimize > 0 && TARGET_OPTIMIZE_MEMBAR && cfun->machine->has_membar_p)
+ frv_optimize_membar ();
+
frv_num_nops = 0;
frv_register_nop (gen_nop ());
if (TARGET_MEDIA)
@@ -7953,33 +8312,33 @@ static struct builtin_description bdesc_voidacc[] =
{ CODE_FOR_mdasaccs, "__MDASACCS", FRV_BUILTIN_MDASACCS, 0, 0 }
};
-/* Intrinsics that load a value and then issue a MEMBAR.
- The FLAGS field is the icode for the membar. */
+/* Intrinsics that load a value and then issue a MEMBAR. The load is
+ a normal move and the ICODE is for the membar. */
static struct builtin_description bdesc_loads[] =
{
- { CODE_FOR_builtin_read_qi, "__builtin_read8", FRV_BUILTIN_READ8, 0,
- CODE_FOR_optional_membar_qi },
- { CODE_FOR_builtin_read_hi, "__builtin_read16", FRV_BUILTIN_READ16, 0,
- CODE_FOR_optional_membar_hi },
- { CODE_FOR_builtin_read_si, "__builtin_read32", FRV_BUILTIN_READ32, 0,
- CODE_FOR_optional_membar_si },
- { CODE_FOR_builtin_read_di, "__builtin_read64", FRV_BUILTIN_READ64, 0,
- CODE_FOR_optional_membar_di }
+ { CODE_FOR_optional_membar_qi, "__builtin_read8",
+ FRV_BUILTIN_READ8, 0, 0 },
+ { CODE_FOR_optional_membar_hi, "__builtin_read16",
+ FRV_BUILTIN_READ16, 0, 0 },
+ { CODE_FOR_optional_membar_si, "__builtin_read32",
+ FRV_BUILTIN_READ32, 0, 0 },
+ { CODE_FOR_optional_membar_di, "__builtin_read64",
+ FRV_BUILTIN_READ64, 0, 0 }
};
/* Likewise stores. */
static struct builtin_description bdesc_stores[] =
{
- { CODE_FOR_builtin_write_qi, "__builtin_write8", FRV_BUILTIN_WRITE8, 0,
- CODE_FOR_optional_membar_qi },
- { CODE_FOR_builtin_write_hi, "__builtin_write16", FRV_BUILTIN_WRITE16, 0,
- CODE_FOR_optional_membar_hi },
- { CODE_FOR_builtin_write_si, "__builtin_write32", FRV_BUILTIN_WRITE32, 0,
- CODE_FOR_optional_membar_si },
- { CODE_FOR_builtin_write64, "__builtin_write64", FRV_BUILTIN_WRITE64, 0,
- CODE_FOR_optional_membar_di }
+ { CODE_FOR_optional_membar_qi, "__builtin_write8",
+ FRV_BUILTIN_WRITE8, 0, 0 },
+ { CODE_FOR_optional_membar_hi, "__builtin_write16",
+ FRV_BUILTIN_WRITE16, 0, 0 },
+ { CODE_FOR_optional_membar_si, "__builtin_write32",
+ FRV_BUILTIN_WRITE32, 0, 0 },
+ { CODE_FOR_optional_membar_di, "__builtin_write64",
+ FRV_BUILTIN_WRITE64, 0, 0 },
};
/* Initialize media builtins. */
@@ -8305,6 +8664,18 @@ frv_matching_accg_mode (enum machine_mode mode)
}
}
+/* Given that a __builtin_read or __builtin_write function is accessing
+ address ADDRESS, return the value that should be used as operand 1
+ of the membar. */
+
+static rtx
+frv_io_address_cookie (rtx address)
+{
+ return (GET_CODE (address) == CONST_INT
+ ? GEN_INT (INTVAL (address) / 8 * 8)
+ : const0_rtx);
+}
+
/* Return the accumulator guard that should be paired with accumulator
register ACC. The mode of the returned register is in the same
class as ACC, but is four times smaller. */
@@ -8670,36 +9041,38 @@ frv_expand_voidaccop_builtin (enum insn_code icode, tree arglist)
return NULL_RTX;
}
-/* Expand a __builtin_read* function. ICODE is the instruction code for
- the load and MEMBAR_ICODE is the instruction code of the "membar". */
+/* Expand a __builtin_read* function. ICODE is the instruction code for the
+ membar and TARGET_MODE is the mode that the loaded value should have. */
static rtx
-frv_expand_load_builtin (enum insn_code icode, enum insn_code membar_icode,
- tree arglist, rtx target)
+frv_expand_load_builtin (enum insn_code icode, enum machine_mode target_mode,
+ tree arglist, rtx target)
{
- rtx op0 = frv_read_argument (& arglist);
-
- target = frv_legitimize_target (icode, target);
- op0 = frv_volatile_memref (insn_data[membar_icode].operand[0].mode, op0);
- emit_insn (GEN_FCN (icode) (target, op0));
- emit_insn (GEN_FCN (membar_icode) (copy_rtx (op0)));
+ rtx op0 = frv_read_argument (&arglist);
+ rtx cookie = frv_io_address_cookie (op0);
+
+ if (target == 0 || !REG_P (target))
+ target = gen_reg_rtx (target_mode);
+ op0 = frv_volatile_memref (insn_data[icode].operand[0].mode, op0);
+ convert_move (target, op0, 1);
+ emit_insn (GEN_FCN (icode) (copy_rtx (op0), cookie, GEN_INT (FRV_IO_READ)));
+ cfun->machine->has_membar_p = 1;
return target;
}
-/* Likewise __builtin_write* functions, with ICODE being the instruction
- code of the store. */
+/* Likewise __builtin_write* functions. */
static rtx
-frv_expand_store_builtin (enum insn_code icode, enum insn_code membar_icode,
- tree arglist)
+frv_expand_store_builtin (enum insn_code icode, tree arglist)
{
- rtx op0 = frv_read_argument (& arglist);
- rtx op1 = frv_read_argument (& arglist);
+ rtx op0 = frv_read_argument (&arglist);
+ rtx op1 = frv_read_argument (&arglist);
+ rtx cookie = frv_io_address_cookie (op0);
- op0 = frv_volatile_memref (insn_data[membar_icode].operand[0].mode, op0);
- op1 = frv_legitimize_argument (icode, 1, op1);
- emit_insn (GEN_FCN (icode) (op0, op1));
- emit_insn (GEN_FCN (membar_icode) (copy_rtx (op0)));
+ op0 = frv_volatile_memref (insn_data[icode].operand[0].mode, op0);
+ convert_move (op0, force_reg (insn_data[icode].operand[0].mode, op1), 1);
+ emit_insn (GEN_FCN (icode) (copy_rtx (op0), cookie, GEN_INT (FRV_IO_WRITE)));
+ cfun->machine->has_membar_p = 1;
return NULL_RTX;
}
@@ -9049,11 +9422,12 @@ frv_expand_builtin (tree exp,
for (i = 0, d = bdesc_loads; i < ARRAY_SIZE (bdesc_loads); i++, d++)
if (d->code == fcode)
- return frv_expand_load_builtin (d->icode, d->flag, arglist, target);
+ return frv_expand_load_builtin (d->icode, TYPE_MODE (TREE_TYPE (exp)),
+ arglist, target);
for (i = 0, d = bdesc_stores; i < ARRAY_SIZE (bdesc_stores); i++, d++)
if (d->code == fcode)
- return frv_expand_store_builtin (d->icode, d->flag, arglist);
+ return frv_expand_store_builtin (d->icode, arglist);
return 0;
}
diff --git a/gcc/config/frv/frv.h b/gcc/config/frv/frv.h
index 41c11c4feee..d5586c06493 100644
--- a/gcc/config/frv/frv.h
+++ b/gcc/config/frv/frv.h
@@ -187,7 +187,7 @@
#undef LINK_SPEC
#define LINK_SPEC "\
%{h*} %{v:-V} \
-%{b} %{Wl,*:%*} \
+%{b} \
%{mfdpic:-melf32frvfd -z text} \
%{static:-dn -Bstatic} \
%{shared:-Bdynamic} \
@@ -1445,7 +1445,7 @@ typedef struct frv_stack {
to a smaller address. */
#define STACK_GROWS_DOWNWARD 1
-/* Define this macro to non-zero if the addresses of local variable slots
+/* Define this macro to nonzero if the addresses of local variable slots
are at negative offsets from the frame pointer. */
#define FRAME_GROWS_DOWNWARD 1
@@ -1492,13 +1492,6 @@ typedef struct frv_stack {
address of other frames. */
#define RETURN_ADDR_RTX(COUNT, FRAMEADDR) frv_return_addr_rtx (COUNT, FRAMEADDR)
-/* This function contains machine specific function data. */
-struct machine_function GTY(())
-{
- /* True if we have created an rtx that relies on the stack frame. */
- int frame_needed;
-};
-
#define RETURN_POINTER_REGNUM LR_REGNO
/* A C expression whose value is RTL representing the location of the incoming
diff --git a/gcc/config/frv/frv.md b/gcc/config/frv/frv.md
index 5b744bbc523..d0f35927759 100644
--- a/gcc/config/frv/frv.md
+++ b/gcc/config/frv/frv.md
@@ -41,9 +41,7 @@
(UNSPEC_EH_RETURN_EPILOGUE 6)
(UNSPEC_GOT 7)
(UNSPEC_LDD 8)
- (UNSPEC_BUILTIN_LOAD 9)
- (UNSPEC_BUILTIN_STORE 10)
- (UNSPEC_OPTIONAL_MEMBAR 11)
+ (UNSPEC_OPTIONAL_MEMBAR 9)
(UNSPEC_GETTLSOFF 200)
(UNSPEC_TLS_LOAD_GOTTLSOFF12 201)
@@ -2168,41 +2166,17 @@
FAIL;
}")
-;; The load part of a __builtin_read* function.
-;; Use UNSPECs to distinguish these patterns from normal moves.
-(define_insn "builtin_read_<mode>"
- [(set (match_operand:SI 0 "register_operand" "=d")
- (zero_extend:SI (unspec:IMODE
- [(match_operand:IMODE 1 "memory_operand" "m")]
- UNSPEC_BUILTIN_LOAD)))]
- ""
- "ld<BREADsuffix>%I1%U1 %M1,%0"
- [(set_attr "length" "4")
- (set_attr "type" "gload")])
-
-;; The store part of a __builtin_write* function.
-(define_insn "builtin_write_<mode>"
- [(set (match_operand:IMODE 0 "memory_operand" "=m")
- (unspec:IMODE [(match_operand:IMODE 1 "reg_or_0_operand" "dO")]
- UNSPEC_BUILTIN_STORE))]
- ""
- "st<IMODEsuffix>%I0%U0 %z1, %M0"
- [(set_attr "length" "4")
- (set_attr "type" "gstore")])
-
-;; This one has a different predicate for operand 1.
-(define_insn "builtin_write64"
- [(set (match_operand:DI 0 "memory_operand" "=m")
- (unspec:DI [(match_operand:DI 1 "register_operand" "d")]
- UNSPEC_BUILTIN_STORE))]
- ""
- "std%I0%U0 %z1, %M0"
- [(set_attr "length" "4")
- (set_attr "type" "gstore")])
+;; The "membar" part of a __builtin_read* or __builtin_write* function.
+;; Operand 0 is a volatile reference to the memory that the function reads
+;; or writes. Operand 1 is the address being accessed, or zero if the
+;; address isn't a known constant. Operand 2 describes the __builtin
+;; function (either FRV_IO_READ or FRV_IO_WRITE).
(define_insn "optional_membar_<mode>"
[(set (match_operand:IMODE 0 "memory_operand" "=m")
- (unspec:IMODE [(const_int 0)] UNSPEC_OPTIONAL_MEMBAR))]
+ (unspec:IMODE [(match_operand 1 "const_int_operand" "")
+ (match_operand 2 "const_int_operand" "")]
+ UNSPEC_OPTIONAL_MEMBAR))]
""
"membar"
[(set_attr "length" "4")])
diff --git a/gcc/config/frv/frv.opt b/gcc/config/frv/frv.opt
index 46d2381846a..7416dfa82d6 100644
--- a/gcc/config/frv/frv.opt
+++ b/gcc/config/frv/frv.opt
@@ -157,6 +157,10 @@ mno-eflags
Target RejectNegative
Do not mark ABI switches in e_flags
+moptimize-membar
+Target Report Mask(OPTIMIZE_MEMBAR)
+Remove redundant membars
+
mpack
Target Report Mask(PACK)
Pack VLIW instructions
diff --git a/gcc/config/h8300/h8300.h b/gcc/config/h8300/h8300.h
index 3b38e315633..cf64b09d2ae 100644
--- a/gcc/config/h8300/h8300.h
+++ b/gcc/config/h8300/h8300.h
@@ -485,7 +485,7 @@ enum reg_class {
#define STACK_GROWS_DOWNWARD
-/* Define this to non-zero if the nominal address of the stack frame
+/* Define this to nonzero if the nominal address of the stack frame
is at the high-address end of the local variables;
that is, each additional local variable allocated
goes at a more negative offset in the frame. */
diff --git a/gcc/config/host-linux.c b/gcc/config/host-linux.c
index a1ec046e036..795bb552234 100644
--- a/gcc/config/host-linux.c
+++ b/gcc/config/host-linux.c
@@ -114,8 +114,13 @@ linux_gt_pch_get_address (size_t size, int fd)
if (TRY_EMPTY_VM_SPACE && addr == (void *) TRY_EMPTY_VM_SPACE)
return addr;
- /* If we didn't, then we need to look to see if randomization is on. */
- f = fopen ("/proc/sys/kernel/exec-shield-randomize", "r");
+ /* If we didn't, then we need to look to see if virtual address
+ randomization is on. That is recorded in
+ kernel.randomize_va_space. An older implementation used
+ kernel.exec-shield-randomize. */
+ f = fopen ("/proc/sys/kernel/randomize_va_space", "r");
+ if (f == NULL)
+ f = fopen ("/proc/sys/kernel/exec-shield-randomize", "r");
randomize_on = false;
if (f != NULL)
{
diff --git a/gcc/config/i386/cygming.h b/gcc/config/i386/cygming.h
index a1e5523bb16..4259c1381ff 100644
--- a/gcc/config/i386/cygming.h
+++ b/gcc/config/i386/cygming.h
@@ -186,8 +186,8 @@ do { \
section and we need to set DECL_SECTION_NAME so we do that here.
Note that we can be called twice on the same decl. */
-#undef TARGET_ENCODE_SECTION_INFO
-#define TARGET_ENCODE_SECTION_INFO i386_pe_encode_section_info
+#undef SUBTARGET_ENCODE_SECTION_INFO
+#define SUBTARGET_ENCODE_SECTION_INFO i386_pe_encode_section_info
#undef TARGET_STRIP_NAME_ENCODING
#define TARGET_STRIP_NAME_ENCODING i386_pe_strip_name_encoding_full
@@ -195,6 +195,9 @@ do { \
#undef ASM_OUTPUT_LABELREF
#define ASM_OUTPUT_LABELREF i386_pe_output_labelref
+#undef COMMON_ASM_OP
+#define COMMON_ASM_OP "\t.comm\t"
+
/* Output a common block. */
#undef ASM_OUTPUT_COMMON
#define ASM_OUTPUT_COMMON(STREAM, NAME, SIZE, ROUNDED) \
diff --git a/gcc/config/i386/freebsd.h b/gcc/config/i386/freebsd.h
index 92dd6696cf2..deb92120933 100644
--- a/gcc/config/i386/freebsd.h
+++ b/gcc/config/i386/freebsd.h
@@ -102,7 +102,6 @@ Boston, MA 02110-1301, USA. */
#undef LINK_SPEC
#define LINK_SPEC "\
%{p:%nconsider using `-pg' instead of `-p' with gprof(1)} \
- %{Wl,*:%*} \
%{v:-V} \
%{assert*} %{R*} %{rpath*} %{defsym*} \
%{shared:-Bshareable %{h*} %{soname*}} \
diff --git a/gcc/config/i386/freebsd64.h b/gcc/config/i386/freebsd64.h
index 96e5e416030..257bdd95c50 100644
--- a/gcc/config/i386/freebsd64.h
+++ b/gcc/config/i386/freebsd64.h
@@ -33,7 +33,6 @@ Boston, MA 02110-1301, USA. */
#undef LINK_SPEC
#define LINK_SPEC "\
%{m32:-m elf_i386_fbsd} \
- %{Wl,*:%*} \
%{v:-V} \
%{assert*} %{R*} %{rpath*} %{defsym*} \
%{shared:-Bshareable %{h*} %{soname*}} \
diff --git a/gcc/config/i386/i386-interix.h b/gcc/config/i386/i386-interix.h
index 4a96aade6fe..75e1e2b918f 100644
--- a/gcc/config/i386/i386-interix.h
+++ b/gcc/config/i386/i386-interix.h
@@ -286,7 +286,6 @@ do \
} \
while (0)
-#define HOST_PTR_PRINTF "%p"
#define HOST_PTR_AS_INT unsigned long
#define PCC_BITFIELD_TYPE_MATTERS 1
diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h
index dfbf11ac256..8b34e03ebc7 100644
--- a/gcc/config/i386/i386-protos.h
+++ b/gcc/config/i386/i386-protos.h
@@ -259,9 +259,14 @@ struct ix86_address
extern int ix86_decompose_address (rtx, struct ix86_address *);
extern int memory_address_length (rtx addr);
+extern void x86_output_aligned_bss (FILE *, tree, const char *,
+ unsigned HOST_WIDE_INT, int);
+extern void x86_elf_aligned_common (FILE *, const char *,
+ unsigned HOST_WIDE_INT, int);
#ifdef RTX_CODE
extern void ix86_fp_comparison_codes (enum rtx_code code, enum rtx_code *,
enum rtx_code *, enum rtx_code *);
extern enum rtx_code ix86_fp_compare_code_to_integer (enum rtx_code);
#endif
+extern int asm_preferred_eh_data_format (int, int);
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 8dd96986cf5..5d2db431b81 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -48,6 +48,7 @@ Boston, MA 02110-1301, USA. */
#include "langhooks.h"
#include "cgraph.h"
#include "tree-gimple.h"
+#include "dwarf2.h"
#ifndef CHECK_STACK_LIMIT
#define CHECK_STACK_LIMIT (-1)
@@ -471,7 +472,7 @@ struct processor_costs nocona_cost = {
1, /* cost of movsx */
1, /* cost of movzx */
16, /* "large" insn */
- 9, /* MOVE_RATIO */
+ 17, /* MOVE_RATIO */
4, /* cost for loading QImode using movzbl */
{4, 4, 4}, /* cost of loading integer registers
in QImode, HImode and SImode.
@@ -812,6 +813,11 @@ unsigned int ix86_preferred_stack_boundary;
/* Values 1-5: see jump.c */
int ix86_branch_cost;
+/* Variables which are this size or smaller are put in the data/bss
+ or ldata/lbss sections. */
+
+int ix86_section_threshold = 65536;
+
/* Prefix built by ASM_GENERATE_INTERNAL_LABEL. */
char internal_label_prefix[16];
int internal_label_prefix_len;
@@ -945,6 +951,12 @@ static const char * const x86_64_reg_class_name[] = {
static REAL_VALUE_TYPE ext_80387_constants_table [5];
static bool ext_80387_constants_init = 0;
static void init_ext_80387_constants (void);
+static bool ix86_in_large_data_p (tree) ATTRIBUTE_UNUSED;
+static void ix86_encode_section_info (tree, rtx, int) ATTRIBUTE_UNUSED;
+static void x86_64_elf_unique_section (tree decl, int reloc) ATTRIBUTE_UNUSED;
+static void x86_64_elf_select_section (tree decl, int reloc,
+ unsigned HOST_WIDE_INT align)
+ ATTRIBUTE_UNUSED;
/* Initialize the GCC target structure. */
#undef TARGET_ATTRIBUTE_TABLE
@@ -965,6 +977,13 @@ static void init_ext_80387_constants (void);
#undef TARGET_ASM_FUNCTION_EPILOGUE
#define TARGET_ASM_FUNCTION_EPILOGUE ix86_output_function_epilogue
+#undef TARGET_ENCODE_SECTION_INFO
+#ifndef SUBTARGET_ENCODE_SECTION_INFO
+#define TARGET_ENCODE_SECTION_INFO ix86_encode_section_info
+#else
+#define TARGET_ENCODE_SECTION_INFO SUBTARGET_ENCODE_SECTION_INFO
+#endif
+
#undef TARGET_ASM_OPEN_PAREN
#define TARGET_ASM_OPEN_PAREN ""
#undef TARGET_ASM_CLOSE_PAREN
@@ -1291,14 +1310,14 @@ override_options (void)
{
if (!strcmp (ix86_cmodel_string, "small"))
ix86_cmodel = flag_pic ? CM_SMALL_PIC : CM_SMALL;
+ else if (!strcmp (ix86_cmodel_string, "medium"))
+ ix86_cmodel = flag_pic ? CM_MEDIUM_PIC : CM_MEDIUM;
else if (flag_pic)
sorry ("code model %s not supported in PIC mode", ix86_cmodel_string);
else if (!strcmp (ix86_cmodel_string, "32"))
ix86_cmodel = CM_32;
else if (!strcmp (ix86_cmodel_string, "kernel") && !flag_pic)
ix86_cmodel = CM_KERNEL;
- else if (!strcmp (ix86_cmodel_string, "medium") && !flag_pic)
- ix86_cmodel = CM_MEDIUM;
else if (!strcmp (ix86_cmodel_string, "large") && !flag_pic)
ix86_cmodel = CM_LARGE;
else
@@ -1502,6 +1521,14 @@ override_options (void)
else
ix86_branch_cost = i;
}
+ if (ix86_section_threshold_string)
+ {
+ i = atoi (ix86_section_threshold_string);
+ if (i < 0)
+ error ("-mlarge-data-threshold=%d is negative", i);
+ else
+ ix86_section_threshold = i;
+ }
if (ix86_tls_dialect_string)
{
@@ -1641,6 +1668,177 @@ override_options (void)
flag_schedule_insns_after_reload = flag_schedule_insns = 0;
}
+/* switch to the appropriate section for output of DECL.
+ DECL is either a `VAR_DECL' node or a constant of some sort.
+ RELOC indicates whether forming the initial value of DECL requires
+ link-time relocations. */
+
+static void
+x86_64_elf_select_section (tree decl, int reloc,
+ unsigned HOST_WIDE_INT align)
+{
+ if ((ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_MEDIUM_PIC)
+ && ix86_in_large_data_p (decl))
+ {
+ const char *sname = NULL;
+ switch (categorize_decl_for_section (decl, reloc, flag_pic))
+ {
+ case SECCAT_DATA:
+ sname = ".ldata";
+ break;
+ case SECCAT_DATA_REL:
+ sname = ".ldata.rel";
+ break;
+ case SECCAT_DATA_REL_LOCAL:
+ sname = ".ldata.rel.local";
+ break;
+ case SECCAT_DATA_REL_RO:
+ sname = ".ldata.rel.ro";
+ break;
+ case SECCAT_DATA_REL_RO_LOCAL:
+ sname = ".ldata.rel.ro.local";
+ break;
+ case SECCAT_BSS:
+ sname = ".lbss";
+ break;
+ case SECCAT_RODATA:
+ case SECCAT_RODATA_MERGE_STR:
+ case SECCAT_RODATA_MERGE_STR_INIT:
+ case SECCAT_RODATA_MERGE_CONST:
+ sname = ".lrodata";
+ break;
+ case SECCAT_SRODATA:
+ case SECCAT_SDATA:
+ case SECCAT_SBSS:
+ gcc_unreachable ();
+ case SECCAT_TEXT:
+ case SECCAT_TDATA:
+ case SECCAT_TBSS:
+ /* We don't split these for medium model. Place them into
+ default sections and hope for best. */
+ break;
+ }
+ if (sname)
+ {
+ named_section (decl, sname, reloc);
+ return;
+ }
+ }
+ default_elf_select_section (decl, reloc, align);
+}
+
+/* Build up a unique section name, expressed as a
+ STRING_CST node, and assign it to DECL_SECTION_NAME (decl).
+ RELOC indicates whether the initial value of EXP requires
+ link-time relocations. */
+
+static void
+x86_64_elf_unique_section (tree decl, int reloc)
+{
+ if ((ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_MEDIUM_PIC)
+ && ix86_in_large_data_p (decl))
+ {
+ const char *prefix = NULL;
+ /* We only need to use .gnu.linkonce if we don't have COMDAT groups. */
+ bool one_only = DECL_ONE_ONLY (decl) && !HAVE_COMDAT_GROUP;
+
+ switch (categorize_decl_for_section (decl, reloc, flag_pic))
+ {
+ case SECCAT_DATA:
+ case SECCAT_DATA_REL:
+ case SECCAT_DATA_REL_LOCAL:
+ case SECCAT_DATA_REL_RO:
+ case SECCAT_DATA_REL_RO_LOCAL:
+ prefix = one_only ? ".gnu.linkonce.ld." : ".ldata.";
+ break;
+ case SECCAT_BSS:
+ prefix = one_only ? ".gnu.linkonce.lb." : ".lbss.";
+ break;
+ case SECCAT_RODATA:
+ case SECCAT_RODATA_MERGE_STR:
+ case SECCAT_RODATA_MERGE_STR_INIT:
+ case SECCAT_RODATA_MERGE_CONST:
+ prefix = one_only ? ".gnu.linkonce.lr." : ".lrodata.";
+ break;
+ case SECCAT_SRODATA:
+ case SECCAT_SDATA:
+ case SECCAT_SBSS:
+ gcc_unreachable ();
+ case SECCAT_TEXT:
+ case SECCAT_TDATA:
+ case SECCAT_TBSS:
+ /* We don't split these for medium model. Place them into
+ default sections and hope for best. */
+ break;
+ }
+ if (prefix)
+ {
+ const char *name;
+ size_t nlen, plen;
+ char *string;
+ plen = strlen (prefix);
+
+ name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl));
+ name = targetm.strip_name_encoding (name);
+ nlen = strlen (name);
+
+ string = alloca (nlen + plen + 1);
+ memcpy (string, prefix, plen);
+ memcpy (string + plen, name, nlen + 1);
+
+ DECL_SECTION_NAME (decl) = build_string (nlen + plen, string);
+ return;
+ }
+ }
+ default_unique_section (decl, reloc);
+}
+
+#ifdef COMMON_ASM_OP
+/* This says how to output assembler code to declare an
+ uninitialized external linkage data object.
+
+ For medium model x86-64 we need to use .largecomm opcode for
+ large objects. */
+void
+x86_elf_aligned_common (FILE *file,
+ const char *name, unsigned HOST_WIDE_INT size,
+ int align)
+{
+ if ((ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_MEDIUM_PIC)
+ && size > (unsigned int)ix86_section_threshold)
+ fprintf (file, ".largecomm\t");
+ else
+ fprintf (file, "%s", COMMON_ASM_OP);
+ assemble_name (file, name);
+ fprintf (file, ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n",
+ size, align / BITS_PER_UNIT);
+}
+
+/* Utility function for targets to use in implementing
+ ASM_OUTPUT_ALIGNED_BSS. */
+
+void
+x86_output_aligned_bss (FILE *file, tree decl ATTRIBUTE_UNUSED,
+ const char *name, unsigned HOST_WIDE_INT size,
+ int align)
+{
+ if ((ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_MEDIUM_PIC)
+ && size > (unsigned int)ix86_section_threshold)
+ named_section (decl, ".lbss", 0);
+ else
+ bss_section ();
+ ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT));
+#ifdef ASM_DECLARE_OBJECT_NAME
+ last_assemble_variable_decl = decl;
+ ASM_DECLARE_OBJECT_NAME (file, name, decl);
+#else
+ /* Standard thing is just output label for the object. */
+ ASM_OUTPUT_LABEL (file, name);
+#endif /* ASM_DECLARE_OBJECT_NAME */
+ ASM_OUTPUT_SKIP (file, size ? size : 1);
+}
+#endif
+
void
optimization_options (int level, int size ATTRIBUTE_UNUSED)
{
@@ -1731,11 +1929,20 @@ ix86_function_ok_for_sibcall (tree decl, tree exp)
function that does or, conversely, from a function that does return
a float to a function that doesn't; the necessary stack adjustment
would not be executed. This is also the place we notice
- differences in the return value ABI. */
+ differences in the return value ABI. Note that it is ok for one
+ of the functions to have void return type as long as the return
+ value of the other is passed in a register. */
a = ix86_function_value (TREE_TYPE (exp), func, false);
b = ix86_function_value (TREE_TYPE (DECL_RESULT (cfun->decl)),
cfun->decl, false);
- if (! rtx_equal_p (a, b))
+ if (STACK_REG_P (a) || STACK_REG_P (b))
+ {
+ if (!rtx_equal_p (a, b))
+ return false;
+ }
+ else if (VOID_TYPE_P (TREE_TYPE (DECL_RESULT (cfun->decl))))
+ ;
+ else if (!rtx_equal_p (a, b))
return false;
/* If this call is indirect, we'll need to be able to use a call-clobbered
@@ -3475,6 +3682,7 @@ ix86_setup_incoming_varargs (CUMULATIVE_ARGS *cum, enum machine_mode mode,
{
mem = gen_rtx_MEM (Pmode,
plus_constant (save_area, i * UNITS_PER_WORD));
+ MEM_NOTRAP_P (mem) = 1;
set_mem_alias_set (mem, set);
emit_move_insn (mem, gen_rtx_REG (Pmode,
x86_64_int_parameter_registers[i]));
@@ -3517,6 +3725,7 @@ ix86_setup_incoming_varargs (CUMULATIVE_ARGS *cum, enum machine_mode mode,
plus_constant (save_area,
8 * REGPARM_MAX + 127)));
mem = gen_rtx_MEM (BLKmode, plus_constant (tmp_reg, -127));
+ MEM_NOTRAP_P (mem) = 1;
set_mem_alias_set (mem, set);
set_mem_align (mem, BITS_PER_WORD);
@@ -4644,7 +4853,10 @@ ix86_expand_prologue (void)
if (pic_reg_used)
{
- insn = emit_insn (gen_set_got (pic_offset_table_rtx));
+ if (TARGET_64BIT)
+ insn = emit_insn (gen_set_got_rex64 (pic_offset_table_rtx));
+ else
+ insn = emit_insn (gen_set_got (pic_offset_table_rtx));
/* Even with accurate pre-reload life analysis, we can wind up
deleting all references to the pic register after reload.
@@ -5173,6 +5385,8 @@ legitimate_constant_p (rtx x)
if (GET_CODE (x) == UNSPEC)
switch (XINT (x, 1))
{
+ case UNSPEC_GOTOFF:
+ return TARGET_64BIT;
case UNSPEC_TPOFF:
case UNSPEC_NTPOFF:
return local_exec_symbolic_operand (XVECEXP (x, 0, 0), Pmode);
@@ -5232,11 +5446,16 @@ legitimate_pic_operand_p (rtx x)
{
case CONST:
inner = XEXP (x, 0);
+ if (GET_CODE (inner) == PLUS
+ && GET_CODE (XEXP (inner, 1)) == CONST_INT)
+ inner = XEXP (inner, 0);
/* Only some unspecs are valid as "constants". */
if (GET_CODE (inner) == UNSPEC)
switch (XINT (inner, 1))
{
+ case UNSPEC_GOTOFF:
+ return TARGET_64BIT;
case UNSPEC_TPOFF:
return local_exec_symbolic_operand (XVECEXP (inner, 0, 0), Pmode);
default:
@@ -5269,7 +5488,7 @@ legitimate_pic_address_disp_p (rtx disp)
if (tls_symbolic_operand (disp, GET_MODE (disp)))
return 0;
if (GET_CODE (disp) == SYMBOL_REF
- && ix86_cmodel == CM_SMALL_PIC
+ && !SYMBOL_REF_FAR_ADDR_P (disp)
&& SYMBOL_REF_LOCAL_P (disp))
return 1;
if (GET_CODE (disp) == LABEL_REF)
@@ -5284,7 +5503,7 @@ legitimate_pic_address_disp_p (rtx disp)
if (tls_symbolic_operand (op0, GET_MODE (op0)))
return 0;
if (((GET_CODE (op0) == SYMBOL_REF
- && ix86_cmodel == CM_SMALL_PIC
+ && !SYMBOL_REF_FAR_ADDR_P (op0)
&& SYMBOL_REF_LOCAL_P (op0))
|| GET_CODE (op0) == LABEL_REF)
&& GET_CODE (op1) == CONST_INT
@@ -5302,7 +5521,8 @@ legitimate_pic_address_disp_p (rtx disp)
/* We are unsafe to allow PLUS expressions. This limit allowed distance
of GOT tables. We should not need these anyway. */
if (GET_CODE (disp) != UNSPEC
- || XINT (disp, 1) != UNSPEC_GOTPCREL)
+ || (XINT (disp, 1) != UNSPEC_GOTPCREL
+ && XINT (disp, 1) != UNSPEC_GOTOFF))
return 0;
if (GET_CODE (XVECEXP (disp, 0, 0)) != SYMBOL_REF
@@ -5333,8 +5553,12 @@ legitimate_pic_address_disp_p (rtx disp)
return false;
return GET_CODE (XVECEXP (disp, 0, 0)) == SYMBOL_REF;
case UNSPEC_GOTOFF:
- if (GET_CODE (XVECEXP (disp, 0, 0)) == SYMBOL_REF
- || GET_CODE (XVECEXP (disp, 0, 0)) == LABEL_REF)
+ /* Refuse GOTOFF in 64bit mode since it is always 64bit when used.
+ While ABI specify also 32bit relocation but we don't produce it in
+ small PIC model at all. */
+ if ((GET_CODE (XVECEXP (disp, 0, 0)) == SYMBOL_REF
+ || GET_CODE (XVECEXP (disp, 0, 0)) == LABEL_REF)
+ && !TARGET_64BIT)
return local_symbolic_operand (XVECEXP (disp, 0, 0), Pmode);
return false;
case UNSPEC_GOTTPOFF:
@@ -5488,8 +5712,17 @@ legitimate_address_p (enum machine_mode mode, rtx addr, int strict)
&& GET_CODE (XEXP (disp, 0)) == UNSPEC)
switch (XINT (XEXP (disp, 0), 1))
{
+ /* Refuse GOTOFF and GOT in 64bit mode since it is always 64bit when
+ used. While ABI specify also 32bit relocations, we don't produce
+ them at all and use IP relative instead. */
case UNSPEC_GOT:
case UNSPEC_GOTOFF:
+ gcc_assert (flag_pic);
+ if (!TARGET_64BIT)
+ goto is_legitimate_pic;
+ reason = "64bit address unspec";
+ goto report_error;
+
case UNSPEC_GOTPCREL:
gcc_assert (flag_pic);
goto is_legitimate_pic;
@@ -5587,7 +5820,7 @@ legitimate_address_p (enum machine_mode mode, rtx addr, int strict)
return FALSE;
}
-/* Return an unique alias set for the GOT. */
+/* Return a unique alias set for the GOT. */
static HOST_WIDE_INT
ix86_GOT_alias_set (void)
@@ -5632,6 +5865,40 @@ legitimize_pic_address (rtx orig, rtx reg)
if (TARGET_64BIT && legitimate_pic_address_disp_p (addr))
new = addr;
+ else if (TARGET_64BIT
+ && ix86_cmodel != CM_SMALL_PIC
+ && local_symbolic_operand (addr, Pmode))
+ {
+ rtx tmpreg;
+ /* This symbol may be referenced via a displacement from the PIC
+ base address (@GOTOFF). */
+
+ if (reload_in_progress)
+ regs_ever_live[PIC_OFFSET_TABLE_REGNUM] = 1;
+ if (GET_CODE (addr) == CONST)
+ addr = XEXP (addr, 0);
+ if (GET_CODE (addr) == PLUS)
+ {
+ new = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, XEXP (addr, 0)), UNSPEC_GOTOFF);
+ new = gen_rtx_PLUS (Pmode, new, XEXP (addr, 1));
+ }
+ else
+ new = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, addr), UNSPEC_GOTOFF);
+ new = gen_rtx_CONST (Pmode, new);
+ if (!reg)
+ tmpreg = gen_reg_rtx (Pmode);
+ else
+ tmpreg = reg;
+ emit_move_insn (tmpreg, new);
+
+ if (reg != 0)
+ {
+ new = expand_simple_binop (Pmode, PLUS, reg, pic_offset_table_rtx,
+ tmpreg, 1, OPTAB_DIRECT);
+ new = reg;
+ }
+ else new = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, tmpreg);
+ }
else if (!TARGET_64BIT && local_symbolic_operand (addr, Pmode))
{
/* This symbol may be referenced via a displacement from the PIC
@@ -7884,7 +8151,7 @@ ix86_expand_move (enum machine_mode mode, rtx operands[])
#else
if (GET_CODE (op0) == MEM)
op1 = force_reg (Pmode, op1);
- else
+ else
op1 = legitimize_address (op1, op1, Pmode);
#endif /* TARGET_MACHO */
}
@@ -8154,17 +8421,6 @@ ix86_fixup_binary_operands (enum rtx_code code, enum machine_mode mode,
&& GET_RTX_CLASS (code) != RTX_COMM_ARITH)
src1 = force_reg (mode, src1);
- /* If optimizing, copy to regs to improve CSE */
- if (optimize && ! no_new_pseudos)
- {
- if (GET_CODE (dst) == MEM)
- dst = gen_reg_rtx (mode);
- if (GET_CODE (src1) == MEM)
- src1 = force_reg (mode, src1);
- if (GET_CODE (src2) == MEM)
- src2 = force_reg (mode, src2);
- }
-
src1 = operands[1] = src1;
src2 = operands[2] = src2;
return dst;
@@ -8274,15 +8530,6 @@ ix86_expand_unary_operator (enum rtx_code code, enum machine_mode mode,
if (MEM_P (src) && !matching_memory)
src = force_reg (mode, src);
- /* If optimizing, copy to regs to improve CSE. */
- if (optimize && ! no_new_pseudos)
- {
- if (GET_CODE (dst) == MEM)
- dst = gen_reg_rtx (mode);
- if (GET_CODE (src) == MEM)
- src = force_reg (mode, src);
- }
-
/* Emit the instruction. */
op = gen_rtx_SET (VOIDmode, dst, gen_rtx_fmt_e (code, mode, src));
@@ -8410,7 +8657,7 @@ ix86_expand_fp_absneg_operator (enum rtx_code code, enum machine_mode mode,
matching_memory = false;
if (MEM_P (dst))
{
- if (rtx_equal_p (dst, src) && (!optimize || no_new_pseudos))
+ if (rtx_equal_p (dst, src))
matching_memory = true;
else
dst = gen_reg_rtx (mode);
@@ -16957,8 +17204,9 @@ ix86_expand_vector_init_one_var (bool mmx_ok, enum machine_mode mode,
enum machine_mode wmode;
rtx const_vec, x;
- XVECEXP (vals, 0, one_var) = CONST0_RTX (GET_MODE_INNER (mode));
- const_vec = gen_rtx_CONST_VECTOR (mode, XVEC (vals, 0));
+ const_vec = copy_rtx (vals);
+ XVECEXP (const_vec, 0, one_var) = CONST0_RTX (GET_MODE_INNER (mode));
+ const_vec = gen_rtx_CONST_VECTOR (mode, XVEC (const_vec, 0));
switch (mode)
{
@@ -17490,7 +17738,7 @@ ix86_expand_vector_extract (bool mmx_ok, rtx target, rtx vec, int elt)
}
}
-/* Expand a vector reduction on V4SFmode for SSE1. FN is the binar
+/* Expand a vector reduction on V4SFmode for SSE1. FN is the binary
pattern to reduce; DEST is the destination; IN is the input vector. */
void
@@ -17545,6 +17793,49 @@ ix86_md_asm_clobbers (tree outputs ATTRIBUTE_UNUSED,
return clobbers;
}
+/* Return true if this goes in small data/bss. */
+
+static bool
+ix86_in_large_data_p (tree exp)
+{
+ if (ix86_cmodel != CM_MEDIUM && ix86_cmodel != CM_MEDIUM_PIC)
+ return false;
+
+ /* Functions are never large data. */
+ if (TREE_CODE (exp) == FUNCTION_DECL)
+ return false;
+
+ if (TREE_CODE (exp) == VAR_DECL && DECL_SECTION_NAME (exp))
+ {
+ const char *section = TREE_STRING_POINTER (DECL_SECTION_NAME (exp));
+ if (strcmp (section, ".ldata") == 0
+ || strcmp (section, ".lbss") == 0)
+ return true;
+ return false;
+ }
+ else
+ {
+ HOST_WIDE_INT size = int_size_in_bytes (TREE_TYPE (exp));
+
+ /* If this is an incomplete type with size 0, then we can't put it
+ in data because it might be too big when completed. */
+ if (!size || size > ix86_section_threshold)
+ return true;
+ }
+
+ return false;
+}
+static void
+ix86_encode_section_info (tree decl, rtx rtl, int first)
+{
+ default_encode_section_info (decl, rtl, first);
+
+ if (TREE_CODE (decl) == VAR_DECL
+ && (TREE_STATIC (decl) || DECL_EXTERNAL (decl))
+ && ix86_in_large_data_p (decl))
+ SYMBOL_REF_FLAGS (XEXP (rtl, 0)) |= SYMBOL_FLAG_FAR_ADDR;
+}
+
/* Worker function for REVERSE_CONDITION. */
enum rtx_code
@@ -17688,4 +17979,30 @@ ix86_stack_protect_fail (void)
: default_hidden_stack_protect_fail ();
}
+/* Select a format to encode pointers in exception handling data. CODE
+ is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is
+ true if the symbol may be affected by dynamic relocations.
+
+ ??? All x86 object file formats are capable of representing this.
+ After all, the relocation needed is the same as for the call insn.
+ Whether or not a particular assembler allows us to enter such, I
+ guess we'll have to see. */
+int
+asm_preferred_eh_data_format (int code, int global)
+{
+ if (flag_pic)
+ {
+int type = DW_EH_PE_sdata8;
+ if (!TARGET_64BIT
+ || ix86_cmodel == CM_SMALL_PIC
+ || (ix86_cmodel == CM_MEDIUM_PIC && (global || code)))
+ type = DW_EH_PE_sdata4;
+ return (global ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | type;
+ }
+ if (ix86_cmodel == CM_SMALL
+ || (ix86_cmodel == CM_MEDIUM && code))
+ return DW_EH_PE_udata4;
+ return DW_EH_PE_absptr;
+}
+
#include "gt-i386.h"
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index e140bd291a2..3213ee5b98c 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -961,7 +961,8 @@ do { \
#define REAL_PIC_OFFSET_TABLE_REGNUM 3
#define PIC_OFFSET_TABLE_REGNUM \
- (TARGET_64BIT || !flag_pic ? INVALID_REGNUM \
+ ((TARGET_64BIT && ix86_cmodel == CM_SMALL_PIC) \
+ || !flag_pic ? INVALID_REGNUM \
: reload_completed ? REGNO (pic_offset_table_rtx) \
: REAL_PIC_OFFSET_TABLE_REGNUM)
@@ -1358,7 +1359,7 @@ enum reg_class
makes the stack pointer a smaller address. */
#define STACK_GROWS_DOWNWARD
-/* Define this to non-zero if the nominal address of the stack frame
+/* Define this to nonzero if the nominal address of the stack frame
is at the high-address end of the local variables;
that is, each additional local variable allocated
goes at a more negative offset in the frame. */
@@ -2022,9 +2023,7 @@ extern int const svr4_dbx_register_map[FIRST_PSEUDO_REGISTER];
Whether or not a particular assembler allows us to enter such, I
guess we'll have to see. */
#define ASM_PREFERRED_EH_DATA_FORMAT(CODE, GLOBAL) \
- (flag_pic \
- ? ((GLOBAL) ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | DW_EH_PE_sdata4\
- : DW_EH_PE_absptr)
+ asm_preferred_eh_data_format ((CODE), (GLOBAL))
/* This is how to output an insn to push a register on the stack.
It need not be very fast code. */
@@ -2143,7 +2142,8 @@ enum cmodel {
CM_KERNEL, /* Assumes all code and data fits in the high 31 bits. */
CM_MEDIUM, /* Assumes code fits in the low 31 bits; data unlimited. */
CM_LARGE, /* No assumptions. */
- CM_SMALL_PIC /* Assumes code+data+got/plt fits in a 31 bit region. */
+ CM_SMALL_PIC, /* Assumes code+data+got/plt fits in a 31 bit region. */
+ CM_MEDIUM_PIC /* Assumes code+got/plt fits in a 31 bit region. */
};
extern enum cmodel ix86_cmodel;
@@ -2160,7 +2160,7 @@ enum asm_dialect {
extern enum asm_dialect ix86_asm_dialect;
extern unsigned int ix86_preferred_stack_boundary;
-extern int ix86_branch_cost;
+extern int ix86_branch_cost, ix86_section_threshold;
/* Smallest class containing REGNO. */
extern enum reg_class const regclass_map[FIRST_PSEUDO_REGISTER];
@@ -2281,6 +2281,10 @@ struct machine_function GTY(())
#define X86_FILE_START_VERSION_DIRECTIVE false
#define X86_FILE_START_FLTUSED false
+/* Flag to mark data that is in the large address area. */
+#define SYMBOL_FLAG_FAR_ADDR (SYMBOL_FLAG_MACH_DEP << 0)
+#define SYMBOL_REF_FAR_ADDR_P(X) \
+ ((SYMBOL_REF_FLAGS (X) & SYMBOL_FLAG_FAR_ADDR) != 0)
/*
Local variables:
version-control: t
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 685c645af13..88440d66183 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -1200,8 +1200,7 @@
(const_string "sselog1")
(eq_attr "alternative" "7,8,9,10,11")
(const_string "ssemov")
- (and (ne (symbol_ref "flag_pic") (const_int 0))
- (match_operand:SI 1 "symbolic_operand" ""))
+ (match_operand:DI 1 "pic_32bit_operand" "")
(const_string "lea")
]
(const_string "imov")))
@@ -2019,8 +2018,7 @@
(const_string "ssecvt")
(eq_attr "alternative" "4")
(const_string "multi")
- (and (ne (symbol_ref "flag_pic") (const_int 0))
- (match_operand:DI 1 "symbolic_operand" ""))
+ (match_operand:DI 1 "pic_32bit_operand" "")
(const_string "lea")
]
(const_string "imov")))
@@ -13788,6 +13786,14 @@
[(set_attr "type" "multi")
(set_attr "length" "12")])
+(define_insn "set_got_rex64"
+ [(set (match_operand:DI 0 "register_operand" "=r")
+ (unspec:DI [(const_int 0)] UNSPEC_SET_GOT))]
+ "TARGET_64BIT"
+ "lea{q}\t_GLOBAL_OFFSET_TABLE_(%%rip), %0"
+ [(set_attr "type" "lea")
+ (set_attr "length" "6")])
+
(define_expand "epilogue"
[(const_int 1)]
""
@@ -16471,6 +16477,30 @@
DONE;
})
+(define_insn_and_split "*fist<mode>2_1"
+ [(set (match_operand:X87MODEI 0 "nonimmediate_operand" "=m,?r")
+ (unspec:X87MODEI [(match_operand:XF 1 "register_operand" "f,f")]
+ UNSPEC_FIST))]
+ "TARGET_USE_FANCY_MATH_387
+ && flag_unsafe_math_optimizations
+ && !(reload_completed || reload_in_progress)"
+ "#"
+ "&& 1"
+ [(const_int 0)]
+{
+ if (memory_operand (operands[0], VOIDmode))
+ emit_insn (gen_fist<mode>2 (operands[0], operands[1]));
+ else
+ {
+ operands[2] = assign_386_stack_local (<MODE>mode, SLOT_TEMP);
+ emit_insn (gen_fist<mode>2_with_temp (operands[0], operands[1],
+ operands[2]));
+ }
+ DONE;
+}
+ [(set_attr "type" "fpspc")
+ (set_attr "mode" "<MODE>")])
+
(define_insn "fistdi2"
[(set (match_operand:DI 0 "memory_operand" "=m")
(unspec:DI [(match_operand:XF 1 "register_operand" "f")]
@@ -16560,22 +16590,13 @@
"")
(define_expand "lrint<mode>2"
- [(use (match_operand:X87MODEI 0 "nonimmediate_operand" ""))
- (use (match_operand:XF 1 "register_operand" ""))]
+ [(set (match_operand:X87MODEI 0 "nonimmediate_operand" "")
+ (unspec:X87MODEI [(match_operand:XF 1 "register_operand" "")]
+ UNSPEC_FIST))]
"TARGET_USE_FANCY_MATH_387
&& (!TARGET_SSE_MATH || TARGET_MIX_SSE_I387)
&& flag_unsafe_math_optimizations"
-{
- if (memory_operand (operands[0], VOIDmode))
- emit_insn (gen_fist<mode>2 (operands[0], operands[1]));
- else
- {
- rtx op = assign_386_stack_local (<MODE>mode, SLOT_TEMP);
- emit_insn (gen_fist<mode>2_with_temp (operands[0], operands[1],
- op));
- }
- DONE;
-})
+ "")
;; Rounding mode control word calculation could clobber FLAGS_REG.
(define_insn_and_split "frndintxf2_floor"
diff --git a/gcc/config/i386/i386.opt b/gcc/config/i386/i386.opt
index effd1e16aa0..2a51fcbedbb 100644
--- a/gcc/config/i386/i386.opt
+++ b/gcc/config/i386/i386.opt
@@ -87,6 +87,10 @@ mbranch-cost=
Target RejectNegative Joined Var(ix86_branch_cost_string)
Branches are this expensive (1-5, arbitrary units)
+mlarge-data-threshold=
+Target RejectNegative Joined Var(ix86_section_threshold_string)
+Data greater than given threshold will go into .ldata section in x86-64 medium model
+
mcmodel=
Target RejectNegative Joined Var(ix86_cmodel_string)
Use given x86-64 code model
diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
index 082cc958e07..f85a9ef6cbb 100644
--- a/gcc/config/i386/linux.h
+++ b/gcc/config/i386/linux.h
@@ -121,6 +121,12 @@ Boston, MA 02110-1301, USA. */
%{!dynamic-linker:-dynamic-linker %(dynamic_linker)}} \
%{static:-static}}}"
+/* Similar to standard Linux, but adding -ffast-math support. */
+#undef ENDFILE_SPEC
+#define ENDFILE_SPEC \
+ "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
+ %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
+
/* A C statement (sans semicolon) to output to the stdio stream
FILE the assembler definition of uninitialized global DECL named
NAME whose size is SIZE bytes and alignment is ALIGN bytes.
diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
index 3a37f634bb6..d3ab452db32 100644
--- a/gcc/config/i386/linux64.h
+++ b/gcc/config/i386/linux64.h
@@ -64,6 +64,12 @@ Boston, MA 02110-1301, USA. */
%{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \
%{static:-static}}"
+/* Similar to standard Linux, but adding -ffast-math support. */
+#undef ENDFILE_SPEC
+#define ENDFILE_SPEC \
+ "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
+ %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
+
#define MULTILIB_DEFAULTS { "m64" }
#undef NEED_INDICATE_EXEC_STACK
diff --git a/gcc/config/i386/netware.h b/gcc/config/i386/netware.h
index 190ed3b8e90..d5e79b4a7cf 100644
--- a/gcc/config/i386/netware.h
+++ b/gcc/config/i386/netware.h
@@ -32,7 +32,7 @@ Boston, MA 02110-1301, USA. */
/* Kinda useless, but what the hell */
#undef LINK_SPEC
#define LINK_SPEC "%{h*} %{V} %{v:%{!V:-V}} \
- %{b} %{Wl,*:%*} \
+ %{b} \
%{Qy:} %{!Qn:-Qy}"
#undef STARTFILE_SPEC
diff --git a/gcc/config/i386/predicates.md b/gcc/config/i386/predicates.md
index 292d46e52fe..71dd6880030 100644
--- a/gcc/config/i386/predicates.md
+++ b/gcc/config/i386/predicates.md
@@ -110,7 +110,8 @@
/* TLS symbols are not constant. */
if (tls_symbolic_operand (op, Pmode))
return false;
- return (ix86_cmodel == CM_SMALL || ix86_cmodel == CM_KERNEL);
+ return (ix86_cmodel == CM_SMALL || ix86_cmodel == CM_KERNEL
+ || (ix86_cmodel == CM_MEDIUM && !SYMBOL_REF_FAR_ADDR_P (op)));
case LABEL_REF:
/* For certain code models, the code is near as well. */
@@ -150,7 +151,9 @@
end of 31bits boundary. We may also accept pretty
large negative constants knowing that all objects are
in the positive half of address space. */
- if (ix86_cmodel == CM_SMALL
+ if ((ix86_cmodel == CM_SMALL
+ || (ix86_cmodel == CM_MEDIUM
+ && !SYMBOL_REF_FAR_ADDR_P (op1)))
&& offset < 16*1024*1024
&& trunc_int_for_mode (offset, SImode) == offset)
return 1;
@@ -224,7 +227,9 @@
/* TLS symbols are not constant. */
if (tls_symbolic_operand (op, Pmode))
return false;
- return ix86_cmodel == CM_SMALL;
+ return (ix86_cmodel == CM_SMALL
+ || (ix86_cmodel == CM_MEDIUM
+ && !SYMBOL_REF_FAR_ADDR_P (op)));
case LABEL_REF:
/* For certain code models, the code is near as well. */
@@ -247,7 +252,9 @@
offsets, since one bit is available for free. Negative
offsets are limited by the size of NULL pointer area
specified by the ABI. */
- if (ix86_cmodel == CM_SMALL
+ if ((ix86_cmodel == CM_SMALL
+ || (ix86_cmodel == CM_MEDIUM
+ && !SYMBOL_REF_FAR_ADDR_P (op1)))
&& GET_CODE (op2) == CONST_INT
&& trunc_int_for_mode (INTVAL (op2), DImode) > -0x10000
&& trunc_int_for_mode (INTVAL (op2), SImode) == INTVAL (op2))
@@ -311,6 +318,28 @@
(match_operand 0 "x86_64_zext_immediate_operand")))
(match_operand 0 "nonmemory_operand")))
+;; Return true when operand is PIC expression that can be computed by lea
+;; operation.
+(define_predicate "pic_32bit_operand"
+ (match_code "const,symbol_ref,label_ref")
+{
+ if (!flag_pic)
+ return 0;
+ /* Rule out relocations that translate into 64bit constants. */
+ if (TARGET_64BIT && GET_CODE (op) == CONST)
+ {
+ op = XEXP (op, 0);
+ if (GET_CODE (op) == PLUS && GET_CODE (XEXP (op, 1)) == CONST_INT)
+ op = XEXP (op, 0);
+ if (GET_CODE (op) == UNSPEC
+ && (XINT (op, 1) == UNSPEC_GOTOFF
+ || XINT (op, 1) == UNSPEC_GOT))
+ return 0;
+ }
+ return symbolic_operand (op, mode);
+})
+
+
;; Return nonzero if OP is nonmemory operand acceptable by movabs patterns.
(define_predicate "x86_64_movabs_operand"
(if_then_else (match_test "!TARGET_64BIT || !flag_pic")
diff --git a/gcc/config/i386/sco5.h b/gcc/config/i386/sco5.h
index 8f28e39b09c..15d74fab150 100644
--- a/gcc/config/i386/sco5.h
+++ b/gcc/config/i386/sco5.h
@@ -258,7 +258,7 @@ Boston, MA 02110-1301, USA. */
#undef LINK_SPEC
#define LINK_SPEC \
"%{!shared:%{!symbolic:%{!G:-E%{Xa:a}%{!Xa:%{Xc:c}%{!Xc:%{Xk:k}%{!Xk:%{Xt:t}%{!Xt:a}}}},%{ansi:ansi}%{!ansi:%{posix:posix}%{!posix:%{Xpg4:xpg4}%{!Xpg4:%{Xpg4plus:XPG4PLUS}%{!Xpg4plus:%{Xods30:ods30}%{!Xods30:XPG4PLUS}}}}},ELF}}} \
- %{Wl,*:%*} %{YP,*} %{YL,*} %{YU,*} \
+ %{YP,*} %{YL,*} %{YU,*} \
%{!YP,*:%{p:-YP,/usr/ccs/libp:/lib/libp:/usr/lib/libp:/usr/ccs/lib:/lib:/usr/lib} \
%{!p:-YP,/usr/ccs/lib:/lib:/usr/lib}} \
%{h*} %{static:-dn -Bstatic %{G:%e-G and -static are mutually exclusive}} \
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 0e0a7d30013..95cb79757e8 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -1230,7 +1230,7 @@
[(set (match_operand:V2SF 0 "register_operand" "=x,x,*y,*y")
(vec_concat:V2SF
(match_operand:SF 1 "nonimmediate_operand" " 0,m, 0, m")
- (match_operand:SF 2 "vector_move_operand" " x,C,*y, C")))]
+ (match_operand:SF 2 "reg_or_0_operand" " x,C,*y, C")))]
"TARGET_SSE"
"@
unpcklps\t{%2, %0|%0, %2}
@@ -2265,8 +2265,8 @@
movlpd\t{%2, %0|%0, %2}
movlpd\t{%2, %0|%0, %2}
shufpd\t{$2, %2, %0|%0, %2, 2}
- movhps\t{%H1, %0|%0, %H1
- movhps\t{%1, %H0|%H0, %1"
+ movhps\t{%H1, %0|%0, %H1}
+ movhps\t{%1, %H0|%H0, %1}"
[(set_attr "type" "ssemov,ssemov,ssemov,sselog,ssemov,ssemov")
(set_attr "mode" "DF,V1DF,V1DF,V2DF,V1DF,V1DF")])
@@ -3374,7 +3374,7 @@
(vec_merge:V4SI
(vec_duplicate:V4SI
(match_operand:SI 2 "nonimmediate_operand" "mr,m,x"))
- (match_operand:V4SI 1 "vector_move_operand" " C,C,0")
+ (match_operand:V4SI 1 "reg_or_0_operand" " C,C,0")
(const_int 1)))]
"TARGET_SSE"
"@
diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
index 3b109d8b0ce..aac59a08e36 100644
--- a/gcc/config/i386/t-linux64
+++ b/gcc/config/i386/t-linux64
@@ -11,7 +11,8 @@ MULTILIB_OSDIRNAMES = ../lib64 ../lib
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
-EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
+EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o \
+ crtbeginT.o crtfastmath.o
# The pushl in CTOR initialization interferes with frame pointer elimination.
# crtend*.o cannot be compiled without -fno-asynchronous-unwind-tables,
diff --git a/gcc/config/i386/t-mingw32 b/gcc/config/i386/t-mingw32
index f67fa1e25a8..8f775314151 100644
--- a/gcc/config/i386/t-mingw32
+++ b/gcc/config/i386/t-mingw32
@@ -1,2 +1,5 @@
# We hide calls to w32api needed for w32 thread support here:
LIB2FUNCS_EXTRA = $(srcdir)/config/i386/gthr-win32.c
+
+# Match SYSTEM_INCLUDE_DIR
+NATIVE_SYSTEM_HEADER_DIR = /mingw/include
diff --git a/gcc/config/i386/t-vxworks b/gcc/config/i386/t-vxworks
index 609399502e7..c440b1f9031 100644
--- a/gcc/config/i386/t-vxworks
+++ b/gcc/config/i386/t-vxworks
@@ -1,8 +1,8 @@
# Multilibs for VxWorks.
-#GCC does not have an arch=pentium3 setting, so we cannot build PENTIUM3gnu
-MULTILIB_OPTIONS = \
- march=i486/march=pentium/march=pentiumpro/march=pentium4
-MULTILIB_DIRNAMES = \
- I80486 PENTIUMgnu PENTIUM2gnu PENTIUM4gnu
+# Build multilibs for normal, -mrtp, and -mrtp -fPIC.
+MULTILIB_OPTIONS = mrtp fPIC
+MULTILIB_DIRNAMES =
+MULTILIB_MATCHES = fPIC=fpic
+MULTILIB_EXCEPTIONS = fPIC
diff --git a/gcc/config/i386/vxworks.h b/gcc/config/i386/vxworks.h
index 871fdf9fc1f..dd4164ec96f 100644
--- a/gcc/config/i386/vxworks.h
+++ b/gcc/config/i386/vxworks.h
@@ -1,5 +1,6 @@
-/* Definitions of target machine for GCC. VxWorks i586 version.
- Copyright (C) 2003 Free Software Foundation, Inc.
+/* IA32 VxWorks target definitions for GNU compiler.
+ Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+ Updated by CodeSourcery, LLC.
This file is part of GCC.
@@ -18,57 +19,67 @@ along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
-
#define HANDLE_SYSV_PRAGMA 1
#undef TARGET_VERSION
#define TARGET_VERSION fprintf (stderr, " (80586, VxWorks syntax)");
-/* Prefix for internally generated assembler labels. If we aren't using
- underscores, we are using prefix `.'s to identify labels that should
- be ignored, as in `i386/gas.h' --karl@cs.umb.edu */
-
-#define LPREFIX "L"
-
-/* Assembler pseudos to introduce constants of various size. */
-
-#define ASM_SHORT "\t.word\t"
-#define ASM_LONG "\t.long\t"
-#define ASM_QUAD "\t.quad\t" /* Should not be used for 32bit compilation. */
-
-
-#define ASM_OUTPUT_ALIGN(FILE,LOG) \
- if ((LOG)!=0) fprintf ((FILE), "\t.balign %d\n", 1<<(LOG))
-
#undef ASM_SPEC
-#define ASM_SPEC "%{v:-V} %{Qy:} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}"
-
-#define TARGET_OS_CPP_BUILTINS() \
- do \
- { \
- builtin_define ("__vxworks"); \
- builtin_assert ("system=unix"); \
- \
- if (TARGET_386) \
- builtin_define ("CPU=I80386"); \
- else if (TARGET_486) \
- builtin_define ("CPU=I80486"); \
- else if (TARGET_PENTIUM) \
- { \
- builtin_define ("CPU=PENTIUM"); \
- builtin_define ("CPU_VARIANT=PENTIUM"); \
- } \
- else if (TARGET_PENTIUMPRO) \
- { \
- builtin_define ("CPU=PENTIUM2"); \
- builtin_define ("CPU_VARIANT=PENTIUMPRO"); \
- } \
- else if (TARGET_PENTIUM4) \
- { \
- builtin_define ("CPU=PENTIUM4"); \
- builtin_define ("CPU_VARIANT=PENTIUM4"); \
- } \
- } \
+#define ASM_SPEC "%{v:-v} %{Qy:} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}"
+
+#define VXWORKS_CPU_DEFINE() \
+ do \
+ { \
+ if (TARGET_386) \
+ builtin_define ("CPU=I80386"); \
+ else if (TARGET_486) \
+ builtin_define ("CPU=I80486"); \
+ else if (TARGET_PENTIUM) \
+ { \
+ builtin_define ("CPU=PENTIUM"); \
+ builtin_define ("CPU_VARIANT=PENTIUM"); \
+ } \
+ else if (TARGET_PENTIUMPRO) \
+ { \
+ builtin_define ("CPU=PENTIUM2"); \
+ builtin_define ("CPU_VARIANT=PENTIUMPRO"); \
+ } \
+ else if (TARGET_PENTIUM4) \
+ { \
+ builtin_define ("CPU=PENTIUM4"); \
+ builtin_define ("CPU_VARIANT=PENTIUM4"); \
+ } \
+ } \
while (0)
+#define TARGET_OS_CPP_BUILTINS() \
+ do \
+ { \
+ builtin_define ("__vxworks"); \
+ builtin_define ("__VXWORKS__"); \
+ builtin_assert ("system=unix"); \
+ \
+ VXWORKS_CPU_DEFINE(); \
+ } \
+ while (0)
+#undef CPP_SPEC
+#define CPP_SPEC VXWORKS_ADDITIONAL_CPP_SPEC
+#undef LIB_SPEC
+#define LIB_SPEC VXWORKS_LIB_SPEC
+#undef STARTFILE_SPEC
+#define STARTFILE_SPEC VXWORKS_STARTFILE_SPEC
+#undef ENDFILE_SPEC
+#define ENDFILE_SPEC VXWORKS_ENDFILE_SPEC
+#undef LINK_SPEC
+#define LINK_SPEC VXWORKS_LINK_SPEC
+
+#undef SUBTARGET_SWITCHES
+#define SUBTARGET_SWITCHES EXTRA_SUBTARGET_SWITCHES
+
+#undef SUBTARGET_OVERRIDE_OPTIONS
+#define SUBTARGET_OVERRIDE_OPTIONS VXWORKS_OVERRIDE_OPTIONS
+
+/* No _mcount profiling on VxWorks. */
+#undef FUNCTION_PROFILER
+#define FUNCTION_PROFILER(FILE,LABELNO) VXWORKS_FUNCTION_PROFILER(FILE,LABELNO)
diff --git a/gcc/config/i386/x-cygwin b/gcc/config/i386/x-cygwin
index 1547f5f5bec..cfd7758cfb3 100644
--- a/gcc/config/i386/x-cygwin
+++ b/gcc/config/i386/x-cygwin
@@ -1,4 +1,4 @@
host-cygwin.o : $(srcdir)/config/i386/host-cygwin.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h hosthooks.h hosthooks-def.h toplev.h diagnostic.h
+ coretypes.h hosthooks.h $(HOSTHOOKS_DEF_H) toplev.h diagnostic.h
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
$(srcdir)/config/i386/host-cygwin.c
diff --git a/gcc/config/i386/x86-64.h b/gcc/config/i386/x86-64.h
index c80353b0df1..cb92a21f652 100644
--- a/gcc/config/i386/x86-64.h
+++ b/gcc/config/i386/x86-64.h
@@ -51,8 +51,13 @@ Boston, MA 02110-1301, USA. */
#define ASM_SPEC "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} \
%{Wa,*:%*} %{m32:--32} %{m64:--64}"
+#undef ASM_OUTPUT_ALIGNED_BSS
#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
- asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
+ x86_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
+
+#undef ASM_OUTPUT_ALIGNED_COMMON
+#define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN) \
+ x86_elf_aligned_common (FILE, NAME, SIZE, ALIGN);
/* This is used to align code labels according to Intel recommendations. */
@@ -75,3 +80,9 @@ Boston, MA 02110-1301, USA. */
#undef PREFERRED_DEBUGGING_TYPE
#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
+
+#undef TARGET_ASM_SELECT_SECTION
+#define TARGET_ASM_SELECT_SECTION x86_64_elf_select_section
+
+#undef TARGET_ASM_UNIQUE_SECTION
+#define TARGET_ASM_UNIQUE_SECTION x86_64_elf_unique_section
diff --git a/gcc/config/ia64/freebsd.h b/gcc/config/ia64/freebsd.h
index 63d623e243a..23739105d50 100644
--- a/gcc/config/ia64/freebsd.h
+++ b/gcc/config/ia64/freebsd.h
@@ -25,7 +25,6 @@ Boston, MA 02110-1301, USA. */
#define LINK_SPEC " \
%{p:%nconsider using `-pg' instead of `-p' with gprof(1)} \
- %{Wl,*:%*} \
%{assert*} %{R*} %{rpath*} %{defsym*} \
%{shared:-Bshareable %{h*} %{soname*}} \
%{symbolic:-Bsymbolic} \
diff --git a/gcc/config/ia64/hpux.h b/gcc/config/ia64/hpux.h
index 360c6bef90d..512f7c8f7ad 100644
--- a/gcc/config/ia64/hpux.h
+++ b/gcc/config/ia64/hpux.h
@@ -106,14 +106,8 @@ do { \
#define TARGET_DEFAULT \
(MASK_DWARF2_ASM | MASK_BIG_ENDIAN | MASK_ILP32)
-/* This needs to be set to force structure arguments with a single
- integer field to be treated as structures and not as the type of
- their field. Without this a structure with a single char will be
- returned just like a char variable, instead of being returned at the
- top of the register as specified for big-endian IA64. */
-
-#define MEMBER_TYPE_FORCES_BLK(FIELD, MODE) \
- (!FLOAT_MODE_P (MODE) || (MODE) == TFmode)
+/* ??? Might not be needed anymore. */
+#define MEMBER_TYPE_FORCES_BLK(FIELD, MODE) ((MODE) == TFmode)
/* ASM_OUTPUT_EXTERNAL_LIBCALL defaults to just a globalize_label call,
but that doesn't put out the @function type information which causes
diff --git a/gcc/config/ia64/ia64-protos.h b/gcc/config/ia64/ia64-protos.h
index 86846495def..0c6355ade2b 100644
--- a/gcc/config/ia64/ia64-protos.h
+++ b/gcc/config/ia64/ia64-protos.h
@@ -41,6 +41,7 @@ extern bool ia64_legitimate_constant_p (rtx);
extern rtx ia64_expand_move (rtx, rtx);
extern int ia64_move_ok (rtx, rtx);
+extern int ia64_load_pair_ok (rtx, rtx);
extern int addp4_optimize_ok (rtx, rtx);
extern void ia64_emit_cond_move (rtx, rtx, rtx);
extern int ia64_depz_field_mask (rtx, rtx);
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index fd97cbeb143..f4b8cee2706 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -690,6 +690,37 @@ ia64_move_ok (rtx dst, rtx src)
return GET_CODE (src) == CONST_DOUBLE && CONST_DOUBLE_OK_FOR_G (src);
}
+/* Return 1 if the operands are ok for a floating point load pair. */
+
+int
+ia64_load_pair_ok (rtx dst, rtx src)
+{
+ if (GET_CODE (dst) != REG || !FP_REGNO_P (REGNO (dst)))
+ return 0;
+ if (GET_CODE (src) != MEM || MEM_VOLATILE_P (src))
+ return 0;
+ switch (GET_CODE (XEXP (src, 0)))
+ {
+ case REG:
+ case POST_INC:
+ break;
+ case POST_DEC:
+ return 0;
+ case POST_MODIFY:
+ {
+ rtx adjust = XEXP (XEXP (XEXP (src, 0), 1), 1);
+
+ if (GET_CODE (adjust) != CONST_INT
+ || INTVAL (adjust) != GET_MODE_SIZE (GET_MODE (src)))
+ return 0;
+ }
+ break;
+ default:
+ abort ();
+ }
+ return 1;
+}
+
int
addp4_optimize_ok (rtx op1, rtx op2)
{
@@ -4305,6 +4336,7 @@ ia64_print_operand_address (FILE * stream ATTRIBUTE_UNUSED,
for Intel assembler.
U Print an 8-bit sign extended number (K) as a 64-bit unsigned number
for Intel assembler.
+ X A pair of floating point registers.
r Print register name, or constant 0 as r0. HP compatibility for
Linux kernel.
v Print vector constant value as an 8-byte integer value. */
@@ -4453,6 +4485,13 @@ ia64_print_operand (FILE * file, rtx x, int code)
}
break;
+ case 'X':
+ {
+ unsigned int regno = REGNO (x);
+ fprintf (file, "%s, %s", reg_names [regno], reg_names [regno + 1]);
+ }
+ return;
+
case 'r':
/* If this operand is the constant zero, write it as register zero.
Any register, zero, or CONST_INT value is OK here. */
@@ -4682,6 +4721,7 @@ ia64_register_move_cost (enum machine_mode mode, enum reg_class from,
case GR_REGS:
case FR_REGS:
+ case FP_REGS:
case GR_AND_FR_REGS:
case GR_AND_BR_REGS:
case ALL_REGS:
@@ -4703,6 +4743,7 @@ ia64_preferred_reload_class (rtx x, enum reg_class class)
switch (class)
{
case FR_REGS:
+ case FP_REGS:
/* Don't allow volatile mem reloads into floating point registers.
This is defined to force reload to choose the r/m case instead
of the f/f case when reloading (set (reg fX) (mem/v)). */
@@ -4768,6 +4809,7 @@ ia64_secondary_reload_class (enum reg_class class,
break;
case FR_REGS:
+ case FP_REGS:
/* Need to go through general registers to get to other class regs. */
if (regno >= 0 && ! (FR_REGNO_P (regno) || GENERAL_REGNO_P (regno)))
return GR_REGS;
@@ -6113,16 +6155,19 @@ ia64_dependencies_evaluation_hook (rtx head, rtx tail)
{
for (link = INSN_DEPEND (insn); link != 0; link = XEXP (link, 1))
{
+ enum attr_itanium_class c;
+
if (REG_NOTE_KIND (link) != REG_DEP_TRUE)
continue;
next = XEXP (link, 0);
- if ((ia64_safe_itanium_class (next) == ITANIUM_CLASS_ST
- || ia64_safe_itanium_class (next) == ITANIUM_CLASS_STF)
+ c = ia64_safe_itanium_class (next);
+ if ((c == ITANIUM_CLASS_ST
+ || c == ITANIUM_CLASS_STF)
&& ia64_st_address_bypass_p (insn, next))
break;
- else if ((ia64_safe_itanium_class (next) == ITANIUM_CLASS_LD
- || ia64_safe_itanium_class (next)
- == ITANIUM_CLASS_FLD)
+ else if ((c == ITANIUM_CLASS_LD
+ || c == ITANIUM_CLASS_FLD
+ || c == ITANIUM_CLASS_FLDP)
&& ia64_ld_address_bypass_p (insn, next))
break;
}
@@ -7394,7 +7439,7 @@ final_emit_insn_group_barriers (FILE *dump ATTRIBUTE_UNUSED)
-/* If the following function returns TRUE, we will use the the DFA
+/* If the following function returns TRUE, we will use the DFA
insn scheduler. */
static int
diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h
index 9e52773fdcb..72fff46e531 100644
--- a/gcc/config/ia64/ia64.h
+++ b/gcc/config/ia64/ia64.h
@@ -324,6 +324,7 @@ while (0)
#define ADDL_REGNO_P(REGNO) ((unsigned HOST_WIDE_INT) (REGNO) <= 3)
#define GR_REGNO_P(REGNO) ((unsigned HOST_WIDE_INT) (REGNO) <= 127)
#define FR_REGNO_P(REGNO) ((REGNO) >= 128 && (REGNO) <= 255)
+#define FP_REGNO_P(REGNO) ((REGNO) >= 128 && (REGNO) <= 254 && (REGNO) != 159)
#define PR_REGNO_P(REGNO) ((REGNO) >= 256 && (REGNO) <= 319)
#define BR_REGNO_P(REGNO) ((REGNO) >= 320 && (REGNO) <= 327)
#define GENERAL_REGNO_P(REGNO) \
@@ -651,7 +652,6 @@ while (0)
#define HARD_REGNO_MODE_OK(REGNO, MODE) \
(FR_REGNO_P (REGNO) ? \
GET_MODE_CLASS (MODE) != MODE_CC && \
- (MODE) != TImode && \
(MODE) != BImode && \
(MODE) != TFmode \
: PR_REGNO_P (REGNO) ? \
@@ -721,6 +721,7 @@ enum reg_class
AR_I_REGS,
ADDL_REGS,
GR_REGS,
+ FP_REGS,
FR_REGS,
GR_AND_BR_REGS,
GR_AND_FR_REGS,
@@ -737,7 +738,7 @@ enum reg_class
constants. These names are used in writing some of the debugging dumps. */
#define REG_CLASS_NAMES \
{ "NO_REGS", "PR_REGS", "BR_REGS", "AR_M_REGS", "AR_I_REGS", \
- "ADDL_REGS", "GR_REGS", "FR_REGS", \
+ "ADDL_REGS", "GR_REGS", "FP_REGS", "FR_REGS", \
"GR_AND_BR_REGS", "GR_AND_FR_REGS", "ALL_REGS" }
/* An initializer containing the contents of the register classes, as integers
@@ -774,6 +775,10 @@ enum reg_class
{ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \
0x00000000, 0x00000000, 0x00000000, 0x00000000, \
0x00000000, 0x00000000, 0x0100 }, \
+ /* FP_REGS. */ \
+ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, \
+ 0x7FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, \
+ 0x00000000, 0x00000000, 0x0000 }, \
/* FR_REGS. */ \
{ 0x00000000, 0x00000000, 0x00000000, 0x00000000, \
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \
@@ -801,7 +806,8 @@ enum reg_class
#define REGNO_REG_CLASS(REGNO) \
(ADDL_REGNO_P (REGNO) ? ADDL_REGS \
: GENERAL_REGNO_P (REGNO) ? GR_REGS \
- : FR_REGNO_P (REGNO) ? FR_REGS \
+ : FR_REGNO_P (REGNO) ? (REGNO) != R_FR (31) \
+ && (REGNO) != R_FR(127) ? FP_REGS : FR_REGS \
: PR_REGNO_P (REGNO) ? PR_REGS \
: BR_REGNO_P (REGNO) ? BR_REGS \
: AR_M_REGNO_P (REGNO) ? AR_M_REGS \
@@ -832,6 +838,7 @@ enum reg_class
: (CHAR) == 'c' ? PR_REGS \
: (CHAR) == 'd' ? AR_M_REGS \
: (CHAR) == 'e' ? AR_I_REGS \
+ : (CHAR) == 'x' ? FP_REGS \
: NO_REGS)
/* A C expression which is nonzero if register number NUM is suitable for use
@@ -888,8 +895,8 @@ enum reg_class
#define CLASS_MAX_NREGS(CLASS, MODE) \
((MODE) == BImode && (CLASS) == PR_REGS ? 2 \
- : ((CLASS) == FR_REGS && (MODE) == XFmode) ? 1 \
- : ((CLASS) == FR_REGS && (MODE) == XCmode) ? 2 \
+ : (((CLASS) == FR_REGS || (CLASS) == FP_REGS) && (MODE) == XFmode) ? 1 \
+ : (((CLASS) == FR_REGS || (CLASS) == FP_REGS) && (MODE) == XCmode) ? 2 \
: (GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)
/* In FP regs, we can't change FP values to integer values and vice versa,
@@ -942,6 +949,13 @@ enum reg_class
#define EXTRA_CONSTRAINT(VALUE, C) \
ia64_extra_constraint (VALUE, C)
+
+/* Document the constraints that can accept reloaded memory operands. This is
+ needed by the extended asm support, and by reload. 'Q' accepts mem, but
+ only non-volatile mem. Since we can't reload a volatile mem into a
+ non-volatile mem, it can not be listed here. */
+
+#define EXTRA_MEMORY_CONSTRAINT(C, STR) ((C) == 'S')
/* Basic Stack Layout */
@@ -949,7 +963,7 @@ enum reg_class
to a smaller address. */
#define STACK_GROWS_DOWNWARD 1
-/* Define this macro to non-zero if the addresses of local variable slots
+/* Define this macro to nonzero if the addresses of local variable slots
are at negative offsets from the frame pointer. */
#define FRAME_GROWS_DOWNWARD 0
@@ -1414,7 +1428,7 @@ do { \
/* A C expression for the cost of moving data of mode M between a
register and memory. */
#define MEMORY_MOVE_COST(MODE,CLASS,IN) \
- ((CLASS) == GENERAL_REGS || (CLASS) == FR_REGS \
+ ((CLASS) == GENERAL_REGS || (CLASS) == FR_REGS || (CLASS) == FP_REGS \
|| (CLASS) == GR_AND_FR_REGS ? 4 : 10)
/* A C expression for the cost of a branch instruction. A value of 1 is the
@@ -1765,11 +1779,6 @@ do { \
fprintf (STREAM, "\tdata8 @pcrel(.L%d)\n", VALUE); \
} while (0)
-/* This is how to output an element of a case-vector that is absolute.
- (Ia64 does not use such vectors, but we must define this macro anyway.) */
-
-#define ASM_OUTPUT_ADDR_VEC_ELT(STREAM, VALUE) gcc_unreachable ()
-
/* Jump tables only need 8 byte alignment. */
#define ADDR_VEC_ALIGN(ADDR_VEC) 3
diff --git a/gcc/config/ia64/ia64.md b/gcc/config/ia64/ia64.md
index 18e6cb3ace6..ab546093dbc 100644
--- a/gcc/config/ia64/ia64.md
+++ b/gcc/config/ia64/ia64.md
@@ -123,15 +123,15 @@
;; which emit instruction that can go in any slot (e.g. nop).
(define_attr "itanium_class" "unknown,ignore,stop_bit,br,fcmp,fcvtfx,fld,
- fmac,fmisc,frar_i,frar_m,frbr,frfr,frpr,ialu,icmp,ilog,ishf,ld,
- chk_s,long_i,mmalua,mmmul,mmshf,mmshfi,rse_m,scall,sem,stf,
+ fldp,fmac,fmisc,frar_i,frar_m,frbr,frfr,frpr,ialu,icmp,ilog,ishf,
+ ld,chk_s,long_i,mmalua,mmmul,mmshf,mmshfi,rse_m,scall,sem,stf,
st,syst_m0, syst_m,tbit,toar_i,toar_m,tobr,tofr,topr,xmpy,xtd,nop,
nop_b,nop_f,nop_i,nop_m,nop_x,lfetch,pre_cycle"
(const_string "unknown"))
;; chk_s has an I and an M form; use type A for convenience.
(define_attr "type" "unknown,A,I,M,F,B,L,X,S"
- (cond [(eq_attr "itanium_class" "ld,st,fld,stf,sem,nop_m") (const_string "M")
+ (cond [(eq_attr "itanium_class" "ld,st,fld,fldp,stf,sem,nop_m") (const_string "M")
(eq_attr "itanium_class" "rse_m,syst_m,syst_m0") (const_string "M")
(eq_attr "itanium_class" "frar_m,toar_m,frfr,tofr") (const_string "M")
(eq_attr "itanium_class" "lfetch") (const_string "M")
@@ -659,18 +659,22 @@
})
(define_insn_and_split "*movti_internal"
- [(set (match_operand:TI 0 "nonimmediate_operand" "=r,r,m")
- (match_operand:TI 1 "general_operand" "ri,m,r"))]
+ [(set (match_operand:TI 0 "nonimmediate_operand" "=r, *fm,*x,*f, Q")
+ (match_operand:TI 1 "general_operand" "r*fim,r, Q, *fOQ,*f"))]
"ia64_move_ok (operands[0], operands[1])"
- "#"
- "reload_completed"
+ "@
+ #
+ #
+ ldfp8 %X0 = %1%P1
+ #
+ #"
+ "reload_completed && !ia64_load_pair_ok(operands[0], operands[1])"
[(const_int 0)]
{
ia64_split_tmode_move (operands);
DONE;
}
- [(set_attr "itanium_class" "unknown")
- (set_attr "predicable" "no")])
+ [(set_attr "itanium_class" "unknown,unknown,fldp,unknown,unknown")])
;; Floating Point Moves
;;
@@ -1892,6 +1896,9 @@
twon34 = gen_reg_rtx (XFmode);
emit_insn (gen_setf_exp_xf (twon34, twon34_exp));
+ emit_insn (gen_cond_trap (EQ, operands[2], CONST0_RTX (SImode),
+ CONST1_RTX (SImode)));
+
emit_insn (gen_divsi3_internal (op0_xf, op1_xf, op2_xf, twon34));
emit_insn (gen_fix_truncxfdi2_alts (op0_di, op0_xf, const1_rtx));
@@ -1949,6 +1956,9 @@
twon34 = gen_reg_rtx (XFmode);
emit_insn (gen_setf_exp_xf (twon34, twon34_exp));
+ emit_insn (gen_cond_trap (EQ, operands[2], CONST0_RTX (SImode),
+ CONST1_RTX (SImode)));
+
emit_insn (gen_divsi3_internal (op0_xf, op1_xf, op2_xf, twon34));
emit_insn (gen_fixuns_truncxfdi2_alts (op0_di, op0_xf, const1_rtx));
@@ -2140,9 +2150,6 @@
(set (match_dup 0) (plus:DI (match_dup 0) (match_dup 4)))]
"")
-;; ??? There are highpart multiply and add instructions, but we have no way
-;; to generate them.
-
(define_insn "smuldi3_highpart"
[(set (match_operand:DI 0 "fr_register_operand" "=f")
(truncate:DI
@@ -2310,6 +2317,9 @@
op2_xf = gen_reg_rtx (XFmode);
expand_float (op2_xf, operands[2], 0);
+ emit_insn (gen_cond_trap (EQ, operands[2], CONST0_RTX (DImode),
+ CONST1_RTX (DImode)));
+
if (TARGET_INLINE_INT_DIV == INL_MIN_LAT)
emit_insn (gen_divdi3_internal_lat (op0_xf, op1_xf, op2_xf));
else
@@ -2356,6 +2366,9 @@
op2_xf = gen_reg_rtx (XFmode);
expand_float (op2_xf, operands[2], 1);
+ emit_insn (gen_cond_trap (EQ, operands[2], CONST0_RTX (DImode),
+ CONST1_RTX (DImode)));
+
if (TARGET_INLINE_INT_DIV == INL_MIN_LAT)
emit_insn (gen_divdi3_internal_lat (op0_xf, op1_xf, op2_xf));
else
@@ -2493,6 +2506,200 @@
;; ::::::::::::::::::::
;; ::
+;; :: 128 bit Integer arithmetic
+;; ::
+;; ::::::::::::::::::::
+
+(define_insn "addti3"
+ [(set (match_operand:TI 0 "gr_register_operand" "=&r")
+ (plus:TI (match_operand:TI 1 "gr_register_operand" "%r")
+ (match_operand:TI 2 "gr_reg_or_14bit_operand" "rI")))
+ (clobber (match_scratch:BI 3 "=&c"))]
+ ""
+ "#"
+ [(set_attr "itanium_class" "unknown")])
+
+(define_split
+ [(set (match_operand:TI 0 "register_operand" "")
+ (plus:TI (match_operand:TI 1 "register_operand" "")
+ (match_operand:TI 2 "register_operand" "")))
+ (clobber (match_scratch:BI 3 ""))]
+ "reload_completed"
+ [(set (match_dup 0) (plus:DI (match_dup 1) (match_dup 2)))
+ (set (match_dup 3) (ltu:BI (match_dup 0) (match_dup 1)))
+ (cond_exec (eq (match_dup 3) (const_int 0))
+ (set (match_dup 4) (plus:DI (match_dup 5) (match_dup 6))))
+ (cond_exec (ne (match_dup 3) (const_int 0))
+ (set (match_dup 4)
+ (plus:DI (plus:DI (match_dup 5) (match_dup 6))
+ (const_int 1))))]
+{
+ operands[4] = gen_highpart (DImode, operands[0]);
+ operands[0] = gen_lowpart (DImode, operands[0]);
+ operands[5] = gen_highpart (DImode, operands[1]);
+ operands[1] = gen_lowpart (DImode, operands[1]);
+ operands[6] = gen_highpart (DImode, operands[2]);
+ operands[2] = gen_lowpart (DImode, operands[2]);
+})
+
+(define_split
+ [(set (match_operand:TI 0 "register_operand" "")
+ (plus:TI (match_operand:TI 1 "register_operand" "")
+ (match_operand:TI 2 "immediate_operand" "")))
+ (clobber (match_scratch:BI 3 ""))]
+ "reload_completed"
+ [(set (match_dup 0) (plus:DI (match_dup 1) (match_dup 2)))
+ (set (match_dup 3) (ltu:BI (match_dup 0) (match_dup 1)))
+ (cond_exec (eq (match_dup 3) (const_int 0))
+ (set (match_dup 4)
+ (plus:DI (match_dup 5) (match_dup 6))))
+ (cond_exec (ne (match_dup 3) (const_int 0))
+ (set (match_dup 4)
+ (plus:DI (match_dup 5) (match_dup 7))))]
+{
+ operands[4] = gen_highpart (DImode, operands[0]);
+ operands[0] = gen_lowpart (DImode, operands[0]);
+ operands[5] = gen_highpart (DImode, operands[1]);
+ operands[1] = gen_lowpart (DImode, operands[1]);
+ operands[6] = INTVAL (operands[2]) < 0 ? constm1_rtx : const0_rtx;
+ operands[7] = INTVAL (operands[2]) < 0 ? const0_rtx : const1_rtx;
+})
+
+(define_insn "subti3"
+ [(set (match_operand:TI 0 "gr_register_operand" "=&r")
+ (minus:TI (match_operand:TI 1 "gr_reg_or_8bit_operand" "rK")
+ (match_operand:TI 2 "gr_register_operand" "r")))
+ (clobber (match_scratch:BI 3 "=&c"))]
+ ""
+ "#"
+ [(set_attr "itanium_class" "unknown")])
+
+(define_split
+ [(set (match_operand:TI 0 "register_operand" "")
+ (minus:TI (match_operand:TI 1 "register_operand" "")
+ (match_operand:TI 2 "register_operand" "")))
+ (clobber (match_scratch:BI 3 "=&c"))]
+ "reload_completed"
+ [(set (match_dup 0) (minus:DI (match_dup 1) (match_dup 2)))
+ (set (match_dup 3) (ltu:BI (match_dup 1) (match_dup 0)))
+ (cond_exec (eq (match_dup 3) (const_int 0))
+ (set (match_dup 4) (minus:DI (match_dup 5) (match_dup 6))))
+ (cond_exec (ne (match_dup 3) (const_int 0))
+ (set (match_dup 4)
+ (plus:DI (not:DI (match_dup 6)) (match_dup 5))))]
+{
+ operands[4] = gen_highpart (DImode, operands[0]);
+ operands[0] = gen_lowpart (DImode, operands[0]);
+ operands[5] = gen_highpart (DImode, operands[1]);
+ operands[1] = gen_lowpart (DImode, operands[1]);
+ operands[6] = gen_highpart (DImode, operands[2]);
+ operands[2] = gen_lowpart (DImode, operands[2]);
+})
+
+(define_split
+ [(set (match_operand:TI 0 "register_operand" "")
+ (minus:TI (match_operand:TI 1 "immediate_operand" "")
+ (match_operand:TI 2 "register_operand" "")))
+ (clobber (match_scratch:BI 3 "=&c"))]
+ "reload_completed && CONST_OK_FOR_K (INTVAL (operands[1]))"
+ [(set (match_dup 0) (minus:DI (match_dup 1) (match_dup 2)))
+ (set (match_dup 3) (gtu:BI (match_dup 0) (match_dup 1)))
+ (cond_exec (ne (match_dup 3) (const_int 0))
+ (set (match_dup 4) (minus:DI (match_dup 6) (match_dup 5))))
+ (cond_exec (eq (match_dup 3) (const_int 0))
+ (set (match_dup 4) (minus:DI (match_dup 7) (match_dup 5))))]
+{
+ operands[4] = gen_highpart (DImode, operands[0]);
+ operands[0] = gen_lowpart (DImode, operands[0]);
+ operands[5] = gen_highpart (DImode, operands[2]);
+ operands[2] = gen_lowpart (DImode, operands[2]);
+ operands[6] = INTVAL (operands[1]) < 0 ? GEN_INT (-2) : constm1_rtx;
+ operands[7] = INTVAL (operands[1]) < 0 ? constm1_rtx : const0_rtx;
+})
+
+(define_expand "mulditi3"
+ [(set (match_operand:TI 0 "fr_register_operand" "")
+ (mult:TI (sign_extend:TI
+ (match_operand:DI 1 "fr_register_operand" ""))
+ (sign_extend:TI
+ (match_operand:DI 2 "fr_register_operand" ""))))]
+ ""
+ "")
+
+(define_insn_and_split "*mulditi3_internal"
+ [(set (match_operand:TI 0 "fr_register_operand" "=&f")
+ (mult:TI (sign_extend:TI
+ (match_operand:DI 1 "fr_register_operand" "%f"))
+ (sign_extend:TI
+ (match_operand:DI 2 "fr_register_operand" "f"))))]
+ ""
+ "#"
+ "reload_completed"
+ [(set (match_dup 0) (mult:DI (match_dup 1) (match_dup 2)))
+ (set (match_dup 3) (truncate:DI
+ (lshiftrt:TI
+ (mult:TI (sign_extend:TI (match_dup 1))
+ (sign_extend:TI (match_dup 2)))
+ (const_int 64))))]
+{
+ operands[3] = gen_highpart (DImode, operands[0]);
+ operands[0] = gen_lowpart (DImode, operands[0]);
+}
+ [(set_attr "itanium_class" "unknown")])
+
+(define_expand "umulditi3"
+ [(set (match_operand:TI 0 "fr_register_operand" "")
+ (mult:TI (zero_extend:TI
+ (match_operand:DI 1 "fr_register_operand" ""))
+ (zero_extend:TI
+ (match_operand:DI 2 "fr_register_operand" ""))))]
+ ""
+ "")
+
+(define_insn_and_split "*umulditi3_internal"
+ [(set (match_operand:TI 0 "fr_register_operand" "=&f")
+ (mult:TI (zero_extend:TI
+ (match_operand:DI 1 "fr_register_operand" "%f"))
+ (zero_extend:TI
+ (match_operand:DI 2 "fr_register_operand" "f"))))]
+ ""
+ "#"
+ "reload_completed"
+ [(set (match_dup 0) (mult:DI (match_dup 1) (match_dup 2)))
+ (set (match_dup 3) (truncate:DI
+ (lshiftrt:TI
+ (mult:TI (zero_extend:TI (match_dup 1))
+ (zero_extend:TI (match_dup 2)))
+ (const_int 64))))]
+{
+ operands[3] = gen_highpart (DImode, operands[0]);
+ operands[0] = gen_lowpart (DImode, operands[0]);
+}
+ [(set_attr "itanium_class" "unknown")])
+
+(define_insn_and_split "negti2"
+ [(set (match_operand:TI 0 "gr_register_operand" "=&r")
+ (neg:TI (match_operand:TI 1 "gr_register_operand" "r")))
+ (clobber (match_scratch:BI 2 "=&c"))]
+ ""
+ "#"
+ "reload_completed"
+ [(set (match_dup 2) (eq:BI (match_dup 1) (const_int 0)))
+ (set (match_dup 0) (minus:DI (const_int 0) (match_dup 1)))
+ (cond_exec (eq (match_dup 2) (const_int 0))
+ (set (match_dup 3) (minus:DI (const_int -1) (match_dup 4))))
+ (cond_exec (ne (match_dup 2) (const_int 0))
+ (set (match_dup 3) (minus:DI (const_int 0) (match_dup 4))))]
+{
+ operands[3] = gen_highpart (DImode, operands[0]);
+ operands[0] = gen_lowpart (DImode, operands[0]);
+ operands[4] = gen_highpart (DImode, operands[1]);
+ operands[1] = gen_lowpart (DImode, operands[1]);
+}
+ [(set_attr "itanium_class" "unknown")])
+
+;; ::::::::::::::::::::
+;; ::
;; :: 32 bit floating point arithmetic
;; ::
;; ::::::::::::::::::::
@@ -4505,6 +4712,54 @@
DONE;
})
+(define_expand "rotlti3"
+ [(set (match_operand:TI 0 "gr_register_operand" "")
+ (rotate:TI (match_operand:TI 1 "gr_register_operand" "")
+ (match_operand:DI 2 "nonmemory_operand" "")))]
+ ""
+{
+ if (! dshift_count_operand (operands[2], DImode))
+ FAIL;
+})
+
+(define_insn_and_split "*rotlti3_internal"
+ [(set (match_operand:TI 0 "gr_register_operand" "=&r")
+ (rotate:TI (match_operand:TI 1 "gr_register_operand" "r")
+ (match_operand:DI 2 "dshift_count_operand" "n")))]
+ ""
+ "#"
+ "reload_completed"
+ [(const_int 0)]
+{
+ HOST_WIDE_INT count = INTVAL (operands[2]);
+ rtx rl = gen_lowpart (DImode, operands[0]);
+ rtx rh = gen_highpart (DImode, operands[0]);
+ rtx lo = gen_lowpart (DImode, operands[1]);
+ rtx hi = gen_highpart (DImode, operands[1]);
+ rtx countlo = GEN_INT (-count & 63);
+
+ if (count & 64)
+ {
+ if (count & 63)
+ {
+ emit_insn (gen_shrp (rl, hi, lo, countlo));
+ emit_insn (gen_shrp (rh, lo, hi, countlo));
+ }
+ else
+ {
+ emit_move_insn (rl, hi);
+ emit_move_insn (rh, lo);
+ }
+ }
+ else
+ {
+ emit_insn (gen_shrp (rl, lo, hi, countlo));
+ emit_insn (gen_shrp (rh, hi, lo, countlo));
+ }
+ DONE;
+}
+ [(set_attr "itanium_class" "unknown")])
+
(define_insn "shrp"
[(set (match_operand:DI 0 "gr_register_operand" "=r")
(unspec:DI [(match_operand:DI 1 "gr_register_operand" "r")
diff --git a/gcc/config/ia64/itanium1.md b/gcc/config/ia64/itanium1.md
index 21c8764aba3..e93475ada7e 100644
--- a/gcc/config/ia64/itanium1.md
+++ b/gcc/config/ia64/itanium1.md
@@ -529,6 +529,10 @@
(and (and (eq_attr "cpu" "itanium")
(eq_attr "itanium_class" "fld"))
(eq (symbol_ref "bundling_p") (const_int 0))) "1_M")
+(define_insn_reservation "1_fldp" 9
+ (and (and (eq_attr "cpu" "itanium")
+ (eq_attr "itanium_class" "fldp"))
+ (eq (symbol_ref "bundling_p") (const_int 0))) "1_M")
(define_insn_reservation "1_fmac" 5
(and (and (eq_attr "cpu" "itanium")
(eq_attr "itanium_class" "fmac"))
@@ -1407,6 +1411,10 @@
(and (and (eq_attr "cpu" "itanium")
(eq_attr "itanium_class" "fld"))
(ne (symbol_ref "bundling_p") (const_int 0))) "1b_M")
+(define_insn_reservation "1b_fldp" 9
+ (and (and (eq_attr "cpu" "itanium")
+ (eq_attr "itanium_class" "fldp"))
+ (ne (symbol_ref "bundling_p") (const_int 0))) "1b_M")
(define_insn_reservation "1b_fmac" 5
(and (and (eq_attr "cpu" "itanium")
(eq_attr "itanium_class" "fmac"))
diff --git a/gcc/config/ia64/itanium2.md b/gcc/config/ia64/itanium2.md
index e00341a6cf0..f16d185e52b 100644
--- a/gcc/config/ia64/itanium2.md
+++ b/gcc/config/ia64/itanium2.md
@@ -734,6 +734,11 @@
(and (and (eq_attr "cpu" "itanium2")
(eq_attr "itanium_class" "fld"))
(eq (symbol_ref "bundling_p") (const_int 0))) "2_M")
+(define_insn_reservation "2_fldp" 6
+ (and (and (eq_attr "cpu" "itanium2")
+ (eq_attr "itanium_class" "fldp"))
+ (eq (symbol_ref "bundling_p") (const_int 0)))
+ "2_M_only_um01")
(define_insn_reservation "2_fmac" 4
(and (and (eq_attr "cpu" "itanium2")
(eq_attr "itanium_class" "fmac"))
@@ -1541,6 +1546,11 @@
(and (and (eq_attr "cpu" "itanium2")
(eq_attr "itanium_class" "fld"))
(ne (symbol_ref "bundling_p") (const_int 0))) "2b_M")
+(define_insn_reservation "2b_fldp" 6
+ (and (and (eq_attr "cpu" "itanium2")
+ (eq_attr "itanium_class" "fldp"))
+ (ne (symbol_ref "bundling_p") (const_int 0)))
+ "2b_M_only_um01")
(define_insn_reservation "2b_fmac" 4
(and (and (eq_attr "cpu" "itanium2")
(eq_attr "itanium_class" "fmac"))
diff --git a/gcc/config/ia64/lib1funcs.asm b/gcc/config/ia64/lib1funcs.asm
index 68ee421ff65..16cb5922aed 100644
--- a/gcc/config/ia64/lib1funcs.asm
+++ b/gcc/config/ia64/lib1funcs.asm
@@ -139,10 +139,13 @@ __divdi3:
// Transfer inputs to FP registers.
setf.sig f8 = in0
setf.sig f9 = in1
+ // Check divide by zero.
+ cmp.ne.unc p0,p7=0,in1
;;
// Convert the inputs to FP, so that they won't be treated as unsigned.
fcvt.xf f8 = f8
fcvt.xf f9 = f9
+(p7) break 1
;;
// Compute the reciprocal approximation.
frcpa.s1 f10, p6 = f8, f9
@@ -189,10 +192,13 @@ __moddi3:
// Transfer inputs to FP registers.
setf.sig f14 = in0
setf.sig f9 = in1
+ // Check divide by zero.
+ cmp.ne.unc p0,p7=0,in1
;;
// Convert the inputs to FP, so that they won't be treated as unsigned.
fcvt.xf f8 = f14
fcvt.xf f9 = f9
+(p7) break 1
;;
// Compute the reciprocal approximation.
frcpa.s1 f10, p6 = f8, f9
@@ -243,10 +249,13 @@ __udivdi3:
// Transfer inputs to FP registers.
setf.sig f8 = in0
setf.sig f9 = in1
+ // Check divide by zero.
+ cmp.ne.unc p0,p7=0,in1
;;
// Convert the inputs to FP, to avoid FP software-assist faults.
fcvt.xuf.s1 f8 = f8
fcvt.xuf.s1 f9 = f9
+(p7) break 1
;;
// Compute the reciprocal approximation.
frcpa.s1 f10, p6 = f8, f9
@@ -293,10 +302,13 @@ __umoddi3:
// Transfer inputs to FP registers.
setf.sig f14 = in0
setf.sig f9 = in1
+ // Check divide by zero.
+ cmp.ne.unc p0,p7=0,in1
;;
// Convert the inputs to FP, to avoid FP software assist faults.
fcvt.xuf.s1 f8 = f14
fcvt.xuf.s1 f9 = f9
+(p7) break 1;
;;
// Compute the reciprocal approximation.
frcpa.s1 f10, p6 = f8, f9
@@ -345,11 +357,14 @@ __umoddi3:
.proc __divsi3
__divsi3:
.regstk 2,0,0,0
+ // Check divide by zero.
+ cmp.ne.unc p0,p7=0,in1
sxt4 in0 = in0
sxt4 in1 = in1
;;
setf.sig f8 = in0
setf.sig f9 = in1
+(p7) break 1
;;
mov r2 = 0x0ffdd
fcvt.xf f8 = f8
@@ -394,6 +409,8 @@ __modsi3:
;;
setf.sig f13 = r32
setf.sig f9 = r33
+ // Check divide by zero.
+ cmp.ne.unc p0,p7=0,in1
;;
sub in1 = r0, in1
fcvt.xf f8 = f13
@@ -401,6 +418,7 @@ __modsi3:
;;
setf.exp f11 = r2
frcpa.s1 f10, p6 = f8, f9
+(p7) break 1
;;
(p6) fmpy.s1 f12 = f8, f10
(p6) fnma.s1 f10 = f9, f10, f1
@@ -441,9 +459,12 @@ __udivsi3:
;;
setf.sig f8 = in0
setf.sig f9 = in1
+ // Check divide by zero.
+ cmp.ne.unc p0,p7=0,in1
;;
fcvt.xf f8 = f8
fcvt.xf f9 = f9
+(p7) break 1
;;
setf.exp f11 = r2
frcpa.s1 f10, p6 = f8, f9
@@ -484,6 +505,8 @@ __umodsi3:
;;
setf.sig f13 = in0
setf.sig f9 = in1
+ // Check divide by zero.
+ cmp.ne.unc p0,p7=0,in1
;;
sub in1 = r0, in1
fcvt.xf f8 = f13
@@ -491,6 +514,7 @@ __umodsi3:
;;
setf.exp f11 = r2
frcpa.s1 f10, p6 = f8, f9
+(p7) break 1;
;;
(p6) fmpy.s1 f12 = f8, f10
(p6) fnma.s1 f10 = f9, f10, f1
diff --git a/gcc/config/iq2000/iq2000.c b/gcc/config/iq2000/iq2000.c
index 57e24ea5833..2adf50ac49b 100644
--- a/gcc/config/iq2000/iq2000.c
+++ b/gcc/config/iq2000/iq2000.c
@@ -1124,7 +1124,7 @@ function_arg_advance (CUMULATIVE_ARGS *cum, enum machine_mode mode, tree type,
"function_adv({gp reg found = %d, arg # = %2d, words = %2d}, %4s, ",
cum->gp_reg_found, cum->arg_number, cum->arg_words,
GET_MODE_NAME (mode));
- fprintf (stderr, HOST_PTR_PRINTF, (const PTR) type);
+ fprintf (stderr, "%p", (void *) type);
fprintf (stderr, ", %d )\n\n", named);
}
@@ -1197,7 +1197,7 @@ function_arg (CUMULATIVE_ARGS *cum, enum machine_mode mode, tree type,
"function_arg( {gp reg found = %d, arg # = %2d, words = %2d}, %4s, ",
cum->gp_reg_found, cum->arg_number, cum->arg_words,
GET_MODE_NAME (mode));
- fprintf (stderr, HOST_PTR_PRINTF, (const PTR) type);
+ fprintf (stderr, "%p", (void *) type);
fprintf (stderr, ", %d ) = ", named);
}
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
index 3853fa42a00..d4527268970 100644
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
@@ -99,7 +99,7 @@ Boston, MA 02110-1301, USA. */
#define USE_LD_AS_NEEDED 1
#endif
-/* Determine whether the the entire c99 runtime
+/* Determine whether the entire c99 runtime
is present in the runtime library. */
#define TARGET_C99_FUNCTIONS 1
diff --git a/gcc/config/m32c/m32c.c b/gcc/config/m32c/m32c.c
index a04d8291095..963571bd49e 100644
--- a/gcc/config/m32c/m32c.c
+++ b/gcc/config/m32c/m32c.c
@@ -1503,6 +1503,22 @@ m32c_function_arg_regno_p (int r)
return (r == R1_REGNO || r == R2_REGNO);
}
+/* HImode and PSImode are the two "native" modes as far as GCC is
+ concerned, but the chips also support a 32 bit mode which is used
+ for some opcodes in R8C/M16C and for reset vectors and such. */
+#undef TARGET_VALID_POINTER_MODE
+#define TARGET_VALID_POINTER_MODE m32c_valid_pointer_mode
+bool
+m32c_valid_pointer_mode (enum machine_mode mode)
+{
+ if (mode == HImode
+ || mode == PSImode
+ || mode == SImode
+ )
+ return 1;
+ return 0;
+}
+
/* How Scalar Function Values Are Returned */
/* Implements LIBCALL_VALUE. Most values are returned in $r0, or some
@@ -1972,6 +1988,15 @@ m32c_asm_integer (rtx x, unsigned int size, int aligned_p)
output_addr_const (asm_out_file, x);
fputc ('\n', asm_out_file);
return true;
+ case 4:
+ if (GET_CODE (x) == SYMBOL_REF)
+ {
+ fprintf (asm_out_file, "\t.long\t");
+ output_addr_const (asm_out_file, x);
+ fputc ('\n', asm_out_file);
+ return true;
+ }
+ break;
}
return default_assemble_integer (x, size, aligned_p);
}
@@ -2663,6 +2688,13 @@ m32c_split_move (rtx * operands, enum machine_mode mode, int split_all)
debug_rtx (operands[1]);
#endif
+ /* Note that split_all is not used to select the api after this
+ point, so it's safe to set it to 3 even with define_insn. */
+ /* None of the chips can move SI operands to sp-relative addresses,
+ so we always split those. */
+ if (m32c_extra_constraint_p (operands[0], 'S', "Ss"))
+ split_all = 3;
+
/* We don't need to split these. */
if (TARGET_A24
&& split_all != 3
diff --git a/gcc/config/m32c/mov.md b/gcc/config/m32c/mov.md
index 2e18ea3c23e..e146bb6cc20 100644
--- a/gcc/config/m32c/mov.md
+++ b/gcc/config/m32c/mov.md
@@ -33,9 +33,9 @@
;; e.g. stdlib/efgcvt.c.
(define_insn "movqi_op"
[(set (match_operand:QI 0 "mra_qi_operand"
- "=Rqi*Rmm, <, RqiSd*Rmm, SdSs, Rqi*Rmm, Sd")
+ "=Rqi*Rmm, <, RqiSd*Rmm, SdSs, Rqi*Rmm, Sd")
(match_operand:QI 1 "mrai_qi_operand"
- "iRqi*Rmm, iRqiSd*Rmm, >, iRqi*Rmm, SdSs, i"))]
+ "iRqi*Rmm, iRqiSd*Rmm, >, Rqi*Rmm, SdSs, i"))]
"m32c_mov_ok (operands, QImode)"
"@
mov.b\t%1,%0
@@ -168,8 +168,8 @@
; All SI moves are split if TARGET_A16
(define_insn_and_split "movsi_splittable"
- [(set (match_operand:SI 0 "mras_operand" "=Rsi<*Rmm,RsiSd*Rmm")
- (match_operand:SI 1 "mrasi_operand" "iRsiSd*Rmm,iRsi>*Rmm"))]
+ [(set (match_operand:SI 0 "mras_operand" "=Rsi<*Rmm,RsiSd*Rmm,Ss")
+ (match_operand:SI 1 "mrasi_operand" "iRsiSd*Rmm,iRsi>*Rmm,Rsi*Rmm"))]
"TARGET_A16"
"#"
"TARGET_A16 && reload_completed"
diff --git a/gcc/config/m32r/m32r.c b/gcc/config/m32r/m32r.c
index d6197d3da4a..e7e1a2d3024 100644
--- a/gcc/config/m32r/m32r.c
+++ b/gcc/config/m32r/m32r.c
@@ -1340,7 +1340,7 @@ m32r_reload_lr (rtx sp, int size)
if (size == 0)
emit_insn (gen_movsi (lr, gen_rtx_MEM (Pmode, sp)));
- else if (size <= 32768)
+ else if (size < 32768)
emit_insn (gen_movsi (lr, gen_rtx_MEM (Pmode,
gen_rtx_PLUS (Pmode, sp,
GEN_INT (size)))));
diff --git a/gcc/config/m68hc11/m68hc11.h b/gcc/config/m68hc11/m68hc11.h
index b033d6e50c3..008887bacdd 100644
--- a/gcc/config/m68hc11/m68hc11.h
+++ b/gcc/config/m68hc11/m68hc11.h
@@ -800,7 +800,7 @@ extern enum reg_class m68hc11_tmp_regs_class;
makes the stack pointer a smaller address. */
#define STACK_GROWS_DOWNWARD
-/* Define this to non-zero if the nominal address of the stack frame
+/* Define this to nonzero if the nominal address of the stack frame
is at the high-address end of the local variables;
that is, each additional local variable allocated
goes at a more negative offset in the frame.
diff --git a/gcc/config/mcore/mcore.h b/gcc/config/mcore/mcore.h
index f0afa88191b..d9960dc0edb 100644
--- a/gcc/config/mcore/mcore.h
+++ b/gcc/config/mcore/mcore.h
@@ -820,12 +820,10 @@ extern const enum reg_class reg_class_from_letter[];
/* Nonzero if access to memory by bytes is slow and undesirable. */
#define SLOW_BYTE_ACCESS TARGET_SLOW_BYTES
-/* Immediate shift counts are truncated by the output routines (or was it
- the assembler?). Shift counts in a register are truncated by ARM. Note
- that the native compiler puts too large (> 32) immediate shift counts
- into a register and shifts by the register, letting the ARM decide what
- to do instead of doing that itself. */
-#define SHIFT_COUNT_TRUNCATED 1
+/* Shift counts are truncated to 6-bits (0 to 63) instead of the expected
+ 5-bits, so we can not define SHIFT_COUNT_TRUNCATED to true for this
+ target. */
+#define SHIFT_COUNT_TRUNCATED 0
/* All integers have the same format so truncation is easy. */
#define TRULY_NOOP_TRUNCATION(OUTPREC,INPREC) 1
diff --git a/gcc/config/mips/cross64.h b/gcc/config/mips/cross64.h
deleted file mode 100644
index 4462e5ecc55..00000000000
--- a/gcc/config/mips/cross64.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Configuration for an Irix 5 host and Irix 6 target using SGI's cross64
- package. */
-
-#define STANDARD_INCLUDE_DIR "/usr/cross64/usr/include"
-#undef MD_EXEC_PREFIX
-#define MD_EXEC_PREFIX "/usr/cross64/usr/bin/"
-#undef MD_STARTFILE_PREFIX
-#define MD_STARTFILE_PREFIX "/usr/cross64/usr/lib/lib64/"
-
-/* Must add TOOLROOT to the environment, or else the assembler will not
- work. */
-#define INIT_ENVIRONMENT \
- "TOOLROOT=/usr/cross64"
-
-#undef STARTFILE_SPEC
-#define STARTFILE_SPEC \
- "%{mips1:%{pg:gcrt1.o%s}%{!pg:%{p:mcrt1.o%s libprof1.a%s}%{!p:crt1.o%s}}} \
- %{mips2:%{pg:gcrt1.o%s}%{!pg:%{p:mcrt1.o%s libprof1.a%s}%{!p:crt1.o%s}}} \
- %{!mips1:%{!mips2:%{pg:/usr/cross64/usr/lib64/mips4/gcrt1.o} \
- %{!pg:%{p:/usr/cross64/usr/lib64/mips4/mcrt1.o \
- /usr/cross64/usr/lib64/mips4/libprof1.a} \
- %{!p:/usr/cross64/usr/lib64/mips4/crt1.o}}}}"
-
-#undef ENDFILE_SPEC
-#define ENDFILE_SPEC \
- "%{mips1:crtn.o%s}%{mips2:crtn.o%s}%{!mips1:%{!mips2:/usr/cross64/usr/lib64/mips4/crtn.o}}"
-
-#undef LINK_SPEC
-#define LINK_SPEC "\
--64 -_SYSTYPE_SVR4 %{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} %{mips4} \
-%{bestGnum} %{shared} %{non_shared} \
-%{call_shared} %{no_archive} %{exact_version} \
-%{!shared: %{!non_shared: %{!call_shared: -call_shared -no_unresolved}}} \
-%{!mips1:%{!mips2:-L/usr/cross64/usr/lib64/mips4 -L/usr/cross64/usr/lib64}}"
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 63eb6943b43..154ec302afa 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -406,6 +406,7 @@ static rtx mips_expand_builtin_compare (enum mips_builtin_type,
enum insn_code, enum mips_fp_condition,
rtx, tree);
static rtx mips_expand_builtin_bposge (enum mips_builtin_type, rtx);
+static void mips_encode_section_info (tree, rtx, int);
/* Structure to be filled in by compute_frame_size with register
save masks, and offsets for the current function. */
@@ -689,6 +690,13 @@ const enum reg_class mips_regno_to_class[] =
/* Map register constraint character to register class. */
enum reg_class mips_char_to_class[256];
+
+/* Table of machine dependent attributes. */
+const struct attribute_spec mips_attribute_table[] =
+{
+ { "long_call", 0, 0, false, true, true, NULL },
+ { NULL, 0, 0, false, false, false, NULL }
+};
/* A table describing all the processors gcc knows about. Names are
matched in the order listed. The first mention of an ISA level is
@@ -748,6 +756,7 @@ const struct mips_cpu_info mips_cpu_info_table[] = {
/* MIPS64 */
{ "5kc", PROCESSOR_5KC, 64 },
+ { "5kf", PROCESSOR_5KF, 64 },
{ "20kc", PROCESSOR_20KC, 64 },
{ "sb1", PROCESSOR_SB1, 64 },
{ "sr71000", PROCESSOR_SR71000, 64 },
@@ -813,7 +822,26 @@ static struct mips_rtx_cost_data const mips_rtx_cost_data[PROCESSOR_MAX] =
4 /* memory_latency */
},
{ /* 5KC */
- DEFAULT_COSTS
+ SOFT_FP_COSTS,
+ COSTS_N_INSNS (4), /* int_mult_si */
+ COSTS_N_INSNS (11), /* int_mult_di */
+ COSTS_N_INSNS (36), /* int_div_si */
+ COSTS_N_INSNS (68), /* int_div_di */
+ 1, /* branch_cost */
+ 4 /* memory_latency */
+ },
+ { /* 5KF */
+ COSTS_N_INSNS (4), /* fp_add */
+ COSTS_N_INSNS (4), /* fp_mult_sf */
+ COSTS_N_INSNS (5), /* fp_mult_df */
+ COSTS_N_INSNS (17), /* fp_div_sf */
+ COSTS_N_INSNS (32), /* fp_div_df */
+ COSTS_N_INSNS (4), /* int_mult_si */
+ COSTS_N_INSNS (11), /* int_mult_di */
+ COSTS_N_INSNS (36), /* int_div_si */
+ COSTS_N_INSNS (68), /* int_div_di */
+ 1, /* branch_cost */
+ 4 /* memory_latency */
},
{ /* 20KC */
DEFAULT_COSTS
@@ -1126,6 +1154,12 @@ static struct mips_rtx_cost_data const mips_rtx_cost_data[PROCESSOR_MAX] =
#undef TARGET_CANNOT_FORCE_CONST_MEM
#define TARGET_CANNOT_FORCE_CONST_MEM mips_cannot_force_const_mem
+#undef TARGET_ENCODE_SECTION_INFO
+#define TARGET_ENCODE_SECTION_INFO mips_encode_section_info
+
+#undef TARGET_ATTRIBUTE_TABLE
+#define TARGET_ATTRIBUTE_TABLE mips_attribute_table
+
struct gcc_target targetm = TARGET_INITIALIZER;
/* Classify symbol X, which must be a SYMBOL_REF or a LABEL_REF. */
@@ -6150,7 +6184,7 @@ mips_save_reg_p (unsigned int regno)
/* Return the bytes needed to compute the frame pointer from the current
stack pointer. SIZE is the size (in bytes) of the local variables.
- Mips stack frames look like:
+ MIPS stack frames look like:
Before call After call
+-----------------------+ +-----------------------+
@@ -6702,10 +6736,23 @@ mips_expand_prologue (void)
if (TARGET_MIPS16 && cfun->machine->frame.args_size != 0)
{
rtx offset = GEN_INT (cfun->machine->frame.args_size);
- RTX_FRAME_RELATED_P
- (emit_insn (gen_add3_insn (hard_frame_pointer_rtx,
- stack_pointer_rtx,
- offset))) = 1;
+ if (SMALL_OPERAND (cfun->machine->frame.args_size))
+ RTX_FRAME_RELATED_P
+ (emit_insn (gen_add3_insn (hard_frame_pointer_rtx,
+ stack_pointer_rtx,
+ offset))) = 1;
+ else
+ {
+ emit_move_insn (MIPS_PROLOGUE_TEMP (Pmode), offset);
+ emit_move_insn (hard_frame_pointer_rtx, stack_pointer_rtx);
+ emit_insn (gen_add3_insn (hard_frame_pointer_rtx,
+ hard_frame_pointer_rtx,
+ MIPS_PROLOGUE_TEMP (Pmode)));
+ mips_set_frame_expr
+ (gen_rtx_SET (VOIDmode, hard_frame_pointer_rtx,
+ plus_constant (stack_pointer_rtx,
+ cfun->machine->frame.args_size)));
+ }
}
else
RTX_FRAME_RELATED_P (emit_move_insn (hard_frame_pointer_rtx,
@@ -10699,4 +10746,20 @@ mips_expand_builtin_bposge (enum mips_builtin_type builtin_type, rtx target)
return target;
}
+/* Set SYMBOL_REF_FLAGS for the SYMBOL_REF inside RTL, which belongs to DECL.
+ FIRST is true if this is the first time handling this decl. */
+
+static void
+mips_encode_section_info (tree decl, rtx rtl, int first)
+{
+ default_encode_section_info (decl, rtl, first);
+
+ if (TREE_CODE (decl) == FUNCTION_DECL
+ && lookup_attribute ("long_call", TYPE_ATTRIBUTES (TREE_TYPE (decl))))
+ {
+ rtx symbol = XEXP (rtl, 0);
+ SYMBOL_REF_FLAGS (symbol) |= SYMBOL_FLAG_LONG_CALL;
+ }
+}
+
#include "gt-mips.h"
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index cc38e118dd6..2d11a88a7d4 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -36,6 +36,7 @@ enum processor_type {
PROCESSOR_4KC,
PROCESSOR_4KP,
PROCESSOR_5KC,
+ PROCESSOR_5KF,
PROCESSOR_20KC,
PROCESSOR_24K,
PROCESSOR_24KX,
@@ -1662,7 +1663,7 @@ extern enum reg_class mips_char_to_class[256];
#define REG_CLASS_FROM_LETTER(C) mips_char_to_class[(unsigned char)(C)]
-/* True if VALUE is a unsigned 6-bit number. */
+/* True if VALUE is an unsigned 6-bit number. */
#define UIMM6_OPERAND(VALUE) \
(((VALUE) & ~(unsigned HOST_WIDE_INT) 0x3f) == 0)
@@ -1745,7 +1746,7 @@ extern enum reg_class mips_char_to_class[256];
/* Similar, but for floating constants, and defining letters G and H.
Here VALUE is the CONST_DOUBLE rtx itself. */
-/* For Mips
+/* For MIPS
'G' : Floating point 0 */
@@ -2300,6 +2301,11 @@ typedef struct mips_args {
else \
asm_fprintf ((FILE), "%U%s", (NAME))
+/* Flag to mark a function decl symbol that requires a long call. */
+#define SYMBOL_FLAG_LONG_CALL (SYMBOL_FLAG_MACH_DEP << 0)
+#define SYMBOL_REF_LONG_CALL_P(X) \
+ ((SYMBOL_REF_FLAGS (X) & SYMBOL_FLAG_LONG_CALL) != 0)
+
/* Specify the machine mode that this machine uses
for the index in the tablejump instruction.
??? Using HImode in mips16 mode can cause overflow. */
diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md
index a43a0c28847..b0ceff8dbe3 100644
--- a/gcc/config/mips/mips.md
+++ b/gcc/config/mips/mips.md
@@ -336,7 +336,7 @@
;; Attribute describing the processor. This attribute must match exactly
;; with the processor_type enumeration in mips.h.
(define_attr "cpu"
- "r3000,4kc,4kp,5kc,20kc,24k,24kx,m4k,r3900,r6000,r4000,r4100,r4111,r4120,r4130,r4300,r4600,r4650,r5000,r5400,r5500,r7000,r8000,r9000,sb1,sr71000"
+ "r3000,4kc,4kp,5kc,5kf,20kc,24k,24kx,m4k,r3900,r6000,r4000,r4100,r4111,r4120,r4130,r4300,r4600,r4650,r5000,r5400,r5500,r7000,r8000,r9000,sb1,sr71000"
(const (symbol_ref "mips_tune")))
;; The type of hardware hazard associated with this instruction.
@@ -571,6 +571,7 @@
(define_cpu_unit "imuldiv" "imuldiv")
(include "4k.md")
+(include "5k.md")
(include "24k.md")
(include "3000.md")
(include "4000.md")
diff --git a/gcc/config/mips/openbsd.h b/gcc/config/mips/openbsd.h
index 67e60fe688c..69cc0c6ad1a 100644
--- a/gcc/config/mips/openbsd.h
+++ b/gcc/config/mips/openbsd.h
@@ -1,4 +1,4 @@
-/* Configuration for a Mips ABI32 OpenBSD target.
+/* Configuration for a MIPS ABI32 OpenBSD target.
Copyright (C) 1999, 2003, 2004 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 e4e3805845f..a96e0172149 100644
--- a/gcc/config/mips/predicates.md
+++ b/gcc/config/mips/predicates.md
@@ -103,8 +103,10 @@
switch (symbol_type)
{
case SYMBOL_GENERAL:
- /* If -mlong-calls, force all calls to use register addressing. */
- return !TARGET_LONG_CALLS;
+ /* If -mlong-calls, force all calls to use register addressing. Also,
+ if this function has the long_call attribute, we must use register
+ addressing. */
+ return !TARGET_LONG_CALLS && !SYMBOL_REF_LONG_CALL_P (op);
case SYMBOL_GOT_GLOBAL:
/* Without explicit relocs, there is no special syntax for
diff --git a/gcc/config/mips/t-cross64 b/gcc/config/mips/t-cross64
deleted file mode 100644
index 6eb5217a937..00000000000
--- a/gcc/config/mips/t-cross64
+++ /dev/null
@@ -1,12 +0,0 @@
-SYSTEM_HEADER_DIR = /usr/cross64/usr/include
-
-AR = /usr/cross64/usr/bin/ar
-
-# The rest of the file is identical to t-iris6.
-
-MULTILIB_OPTIONS=mips1/mips2/mips3/mips4
-MULTILIB_DIRNAMES=
-MULTILIB_MATCHES=
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/mn10300/mn10300.h b/gcc/config/mn10300/mn10300.h
index e86c7b56685..20751fd18a0 100644
--- a/gcc/config/mn10300/mn10300.h
+++ b/gcc/config/mn10300/mn10300.h
@@ -480,7 +480,7 @@ enum reg_class {
#define STACK_GROWS_DOWNWARD
-/* Define this to non-zero if the nominal address of the stack frame
+/* Define this to nonzero if the nominal address of the stack frame
is at the high-address end of the local variables;
that is, each additional local variable allocated
goes at a more negative offset in the frame. */
diff --git a/gcc/config/pa/linux-unwind.h b/gcc/config/pa/linux-unwind.h
index d6835697949..62fa065cf0e 100644
--- a/gcc/config/pa/linux-unwind.h
+++ b/gcc/config/pa/linux-unwind.h
@@ -131,8 +131,8 @@ pa32_fallback_frame_state (struct _Unwind_Context *context,
}
fs->regs.reg[88].how = REG_SAVED_OFFSET;
fs->regs.reg[88].loc.offset = (long) &sc->sc_sar - new_cfa;
- fs->regs.reg[2].how = REG_SAVED_OFFSET;
- fs->regs.reg[2].loc.offset = (long) &sc->sc_iaoq[0] - new_cfa;
- fs->retaddr_column = 2;
+ fs->regs.reg[0].how = REG_SAVED_OFFSET;
+ fs->regs.reg[0].loc.offset = (long) &sc->sc_iaoq[0] - new_cfa;
+ fs->retaddr_column = 0;
return _URC_NO_REASON;
}
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index ffe6708d319..260d2125e94 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -3504,7 +3504,7 @@ pa_output_function_prologue (FILE *file, HOST_WIDE_INT size ATTRIBUTE_UNUSED)
/* The SAVE_SP flag is used to indicate that register %r3 is stored
at the beginning of the frame and that it is used as the frame
pointer for the frame. We do this because our current frame
- layout doesn't conform to that specified in the the HP runtime
+ layout doesn't conform to that specified in the HP runtime
documentation and we need a way to indicate to programs such as
GDB where %r3 is saved. The SAVE_SP flag was chosen because it
isn't used by HP compilers but is supported by the assembler.
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index 76a64feddb1..d56ebcf7a12 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -500,7 +500,7 @@ extern struct rtx_def *hppa_pic_save_rtx (void);
/* Believe it or not. */
#define ARGS_GROW_DOWNWARD
-/* Define this to non-zero if the nominal address of the stack frame
+/* Define this to nonzero if the nominal address of the stack frame
is at the high-address end of the local variables;
that is, each additional local variable allocated
goes at a more negative offset in the frame. */
diff --git a/gcc/config/pa/pa64-regs.h b/gcc/config/pa/pa64-regs.h
index fe06c7771e0..26802baf7db 100644
--- a/gcc/config/pa/pa64-regs.h
+++ b/gcc/config/pa/pa64-regs.h
@@ -106,7 +106,7 @@ Boston, MA 02110-1301, USA. */
int i; \
if (TARGET_DISABLE_FPREGS || TARGET_SOFT_FLOAT)\
{ \
- for (i = FP_REG_FIRST; i < FP_REG_LAST; i++)\
+ for (i = FP_REG_FIRST; i <= FP_REG_LAST; i++)\
fixed_regs[i] = call_used_regs[i] = 1; \
} \
if (flag_pic) \
diff --git a/gcc/config/pdp11/pdp11.h b/gcc/config/pdp11/pdp11.h
index bb83fdfd4b0..09de325b7a9 100644
--- a/gcc/config/pdp11/pdp11.h
+++ b/gcc/config/pdp11/pdp11.h
@@ -415,7 +415,7 @@ loading is easier into LOAD_FPU_REGS than FPU_REGS! */
makes the stack pointer a smaller address. */
#define STACK_GROWS_DOWNWARD
-/* Define this to non-zero if the nominal address of the stack frame
+/* Define this to nonzero if the nominal address of the stack frame
is at the high-address end of the local variables;
that is, each additional local variable allocated
goes at a more negative offset in the frame.
diff --git a/gcc/config/ptx4.h b/gcc/config/ptx4.h
index 3ba47dc2aab..8c231027dd9 100644
--- a/gcc/config/ptx4.h
+++ b/gcc/config/ptx4.h
@@ -137,7 +137,7 @@ Boston, MA 02110-1301, USA.
#undef LINK_SPEC
#define LINK_SPEC "%{h*} %{v:-V} \
- %{b} %{Wl,*:%*} \
+ %{b} \
%{static:-dn -Bstatic} \
%{shared:-G -dy -z text} \
%{symbolic:-Bsymbolic -G -dy -z text} \
diff --git a/gcc/config/rs6000/aix52.h b/gcc/config/rs6000/aix52.h
index 3f3dbf63db2..d793d643141 100644
--- a/gcc/config/rs6000/aix52.h
+++ b/gcc/config/rs6000/aix52.h
@@ -106,7 +106,7 @@ do { \
#define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS)
#undef PROCESSOR_DEFAULT
-#define PROCESSOR_DEFAULT PROCESSOR_PPC630
+#define PROCESSOR_DEFAULT PROCESSOR_POWER4
#undef PROCESSOR_DEFAULT64
#define PROCESSOR_DEFAULT64 PROCESSOR_POWER4
diff --git a/gcc/config/rs6000/altivec.md b/gcc/config/rs6000/altivec.md
index 3923a1ca088..9016b0d09a0 100644
--- a/gcc/config/rs6000/altivec.md
+++ b/gcc/config/rs6000/altivec.md
@@ -33,13 +33,91 @@
(UNSPEC_VCMPGTUW 60)
(UNSPEC_VCMPGTSW 61)
(UNSPEC_VCMPGTFP 62)
+ (UNSPEC_VMSUMU 65)
+ (UNSPEC_VMSUMM 66)
+ (UNSPEC_VMSUMSHM 68)
+ (UNSPEC_VMSUMUHS 69)
+ (UNSPEC_VMSUMSHS 70)
+ (UNSPEC_VMHADDSHS 71)
+ (UNSPEC_VMHRADDSHS 72)
+ (UNSPEC_VMLADDUHM 73)
+ (UNSPEC_VADDCUW 75)
+ (UNSPEC_VADDU 76)
+ (UNSPEC_VADDS 77)
+ (UNSPEC_VAVGU 80)
+ (UNSPEC_VAVGS 81)
+ (UNSPEC_VMULEUB 83)
+ (UNSPEC_VMULESB 84)
+ (UNSPEC_VMULEUH 85)
+ (UNSPEC_VMULESH 86)
+ (UNSPEC_VMULOUB 87)
+ (UNSPEC_VMULOSB 88)
+ (UNSPEC_VMULOUH 89)
+ (UNSPEC_VMULOSH 90)
+ (UNSPEC_VPKUHUM 93)
+ (UNSPEC_VPKUWUM 94)
+ (UNSPEC_VPKPX 95)
+ (UNSPEC_VPKUHSS 96)
+ (UNSPEC_VPKSHSS 97)
+ (UNSPEC_VPKUWSS 98)
+ (UNSPEC_VPKSWSS 99)
+ (UNSPEC_VPKUHUS 100)
+ (UNSPEC_VPKSHUS 101)
+ (UNSPEC_VPKUWUS 102)
+ (UNSPEC_VPKSWUS 103)
+ (UNSPEC_VRL 104)
+ (UNSPEC_VSL 107)
(UNSPEC_VSLW 109)
- (UNSPEC_SUBS 126)
+ (UNSPEC_VSLV4SI 110)
+ (UNSPEC_VSLO 111)
+ (UNSPEC_VSR 118)
+ (UNSPEC_VSRO 119)
+ (UNSPEC_VSUBCUW 124)
+ (UNSPEC_VSUBU 125)
+ (UNSPEC_VSUBS 126)
+ (UNSPEC_VSUM4UBS 131)
+ (UNSPEC_VSUM4S 132)
+ (UNSPEC_VSUM2SWS 134)
+ (UNSPEC_VSUMSWS 135)
+ (UNSPEC_VPERM 144)
+ (UNSPEC_VRFIP 148)
+ (UNSPEC_VRFIN 149)
+ (UNSPEC_VRFIM 150)
+ (UNSPEC_VCFUX 151)
+ (UNSPEC_VCFSX 152)
+ (UNSPEC_VCTUXS 153)
+ (UNSPEC_VCTSXS 154)
+ (UNSPEC_VLOGEFP 155)
+ (UNSPEC_VEXPTEFP 156)
+ (UNSPEC_VRSQRTEFP 157)
+ (UNSPEC_VREFP 158)
(UNSPEC_VSEL4SI 159)
(UNSPEC_VSEL4SF 160)
(UNSPEC_VSEL8HI 161)
(UNSPEC_VSEL16QI 162)
+ (UNSPEC_VLSDOI 163)
+ (UNSPEC_VUPKHSB 167)
+ (UNSPEC_VUPKHPX 168)
+ (UNSPEC_VUPKHSH 169)
+ (UNSPEC_VUPKLSB 170)
+ (UNSPEC_VUPKLPX 171)
+ (UNSPEC_VUPKLSH 172)
+ (UNSPEC_PREDICATE 173)
+ (UNSPEC_DST 190)
+ (UNSPEC_DSTT 191)
+ (UNSPEC_DSTST 192)
+ (UNSPEC_DSTSTT 193)
+ (UNSPEC_LVSL 194)
+ (UNSPEC_LVSR 195)
+ (UNSPEC_LVE 196)
+ (UNSPEC_STVX 201)
+ (UNSPEC_STVXL 202)
+ (UNSPEC_STVE 203)
(UNSPEC_SET_VSCR 213)
+ (UNSPEC_GET_VRSAVE 214)
+ (UNSPEC_REALIGN_LOAD 215)
+ (UNSPEC_REDUC_PLUS 217)
+ (UNSPEC_VECSH 219)
(UNSPEC_VCOND_V4SI 301)
(UNSPEC_VCOND_V4SF 302)
(UNSPEC_VCOND_V8HI 303)
@@ -49,6 +127,14 @@
(UNSPEC_VCONDU_V16QI 307)
])
+(define_constants
+ [(UNSPECV_SET_VRSAVE 30)
+ (UNSPECV_MTVSCR 186)
+ (UNSPECV_MFVSCR 187)
+ (UNSPECV_DSSALL 188)
+ (UNSPECV_DSS 189)
+ ])
+
;; Vec int modes
(define_mode_macro VI [V4SI V8HI V16QI])
;; Short vec in modes
@@ -63,14 +149,14 @@
;; Generic LVX load instruction.
(define_insn "altivec_lvx_<mode>"
[(set (match_operand:V 0 "altivec_register_operand" "=v")
- (match_operand:V 1 "memory_operand" "m"))]
+ (match_operand:V 1 "memory_operand" "Z"))]
"TARGET_ALTIVEC"
"lvx %0,%y1"
[(set_attr "type" "vecload")])
;; Generic STVX store instruction.
(define_insn "altivec_stvx_<mode>"
- [(set (match_operand:V 0 "memory_operand" "=m")
+ [(set (match_operand:V 0 "memory_operand" "=Z")
(match_operand:V 1 "altivec_register_operand" "v"))]
"TARGET_ALTIVEC"
"stvx %1,%y0"
@@ -87,8 +173,8 @@
})
(define_insn "*mov<mode>_internal"
- [(set (match_operand:V 0 "nonimmediate_operand" "=m,v,v,o,r,r,v")
- (match_operand:V 1 "input_operand" "v,m,v,r,o,r,W"))]
+ [(set (match_operand:V 0 "nonimmediate_operand" "=Z,v,v,o,r,r,v")
+ (match_operand:V 1 "input_operand" "v,Z,v,r,o,r,W"))]
"TARGET_ALTIVEC
&& (register_operand (operands[0], <MODE>mode)
|| register_operand (operands[1], <MODE>mode))"
@@ -181,7 +267,7 @@
(define_insn "get_vrsave_internal"
[(set (match_operand:SI 0 "register_operand" "=r")
- (unspec:SI [(reg:SI 109)] 214))]
+ (unspec:SI [(reg:SI 109)] UNSPEC_GET_VRSAVE))]
"TARGET_ALTIVEC"
{
if (TARGET_MACHO)
@@ -195,7 +281,7 @@
[(match_parallel 0 "vrsave_operation"
[(set (reg:SI 109)
(unspec_volatile:SI [(match_operand:SI 1 "register_operand" "r")
- (reg:SI 109)] 30))])]
+ (reg:SI 109)] UNSPECV_SET_VRSAVE))])]
"TARGET_ALTIVEC"
{
if (TARGET_MACHO)
@@ -245,7 +331,8 @@
(define_insn "altivec_vaddcuw"
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:V4SI 1 "register_operand" "v")
- (match_operand:V4SI 2 "register_operand" "v")] 35))]
+ (match_operand:V4SI 2 "register_operand" "v")]
+ UNSPEC_VADDCUW))]
"TARGET_ALTIVEC"
"vaddcuw %0,%1,%2"
[(set_attr "type" "vecsimple")])
@@ -253,7 +340,8 @@
(define_insn "altivec_vaddu<VI_char>s"
[(set (match_operand:VI 0 "register_operand" "=v")
(unspec:VI [(match_operand:VI 1 "register_operand" "v")
- (match_operand:VI 2 "register_operand" "v")] 36))
+ (match_operand:VI 2 "register_operand" "v")]
+ UNSPEC_VADDU))
(set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]
"TARGET_ALTIVEC"
"vaddu<VI_char>s %0,%1,%2"
@@ -262,7 +350,8 @@
(define_insn "altivec_vadds<VI_char>s"
[(set (match_operand:VI 0 "register_operand" "=v")
(unspec:VI [(match_operand:VI 1 "register_operand" "v")
- (match_operand:VI 2 "register_operand" "v")] 37))
+ (match_operand:VI 2 "register_operand" "v")]
+ UNSPEC_VADDS))
(set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]
"TARGET_ALTIVEC"
"vadds<VI_char>s %0,%1,%2"
@@ -288,7 +377,8 @@
(define_insn "altivec_vsubcuw"
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:V4SI 1 "register_operand" "v")
- (match_operand:V4SI 2 "register_operand" "v")] 124))]
+ (match_operand:V4SI 2 "register_operand" "v")]
+ UNSPEC_VSUBCUW))]
"TARGET_ALTIVEC"
"vsubcuw %0,%1,%2"
[(set_attr "type" "vecsimple")])
@@ -296,7 +386,8 @@
(define_insn "altivec_vsubu<VI_char>s"
[(set (match_operand:VI 0 "register_operand" "=v")
(unspec:VI [(match_operand:VI 1 "register_operand" "v")
- (match_operand:VI 2 "register_operand" "v")] 125))
+ (match_operand:VI 2 "register_operand" "v")]
+ UNSPEC_VSUBU))
(set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]
"TARGET_ALTIVEC"
"vsubu<VI_char>s %0,%1,%2"
@@ -305,7 +396,8 @@
(define_insn "altivec_vsubs<VI_char>s"
[(set (match_operand:VI 0 "register_operand" "=v")
(unspec:VI [(match_operand:VI 1 "register_operand" "v")
- (match_operand:VI 2 "register_operand" "v")] UNSPEC_SUBS))
+ (match_operand:VI 2 "register_operand" "v")]
+ UNSPEC_VSUBS))
(set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]
"TARGET_ALTIVEC"
"vsubs<VI_char>s %0,%1,%2"
@@ -315,7 +407,8 @@
(define_insn "altivec_vavgu<VI_char>"
[(set (match_operand:VI 0 "register_operand" "=v")
(unspec:VI [(match_operand:VI 1 "register_operand" "v")
- (match_operand:VI 2 "register_operand" "v")] 44))]
+ (match_operand:VI 2 "register_operand" "v")]
+ UNSPEC_VAVGU))]
"TARGET_ALTIVEC"
"vavgu<VI_char> %0,%1,%2"
[(set_attr "type" "vecsimple")])
@@ -323,7 +416,8 @@
(define_insn "altivec_vavgs<VI_char>"
[(set (match_operand:VI 0 "register_operand" "=v")
(unspec:VI [(match_operand:VI 1 "register_operand" "v")
- (match_operand:VI 2 "register_operand" "v")] 45))]
+ (match_operand:VI 2 "register_operand" "v")]
+ UNSPEC_VAVGS))]
"TARGET_ALTIVEC"
"vavgs<VI_char> %0,%1,%2"
[(set_attr "type" "vecsimple")])
@@ -377,7 +471,7 @@
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:V4SF 1 "register_operand" "v")
(match_operand:V4SF 2 "register_operand" "v")]
- UNSPEC_VCMPGEFP))]
+ UNSPEC_VCMPGEFP))]
"TARGET_ALTIVEC"
"vcmpgefp %0,%1,%2"
[(set_attr "type" "veccmp")])
@@ -386,7 +480,7 @@
[(set (match_operand:V16QI 0 "register_operand" "=v")
(unspec:V16QI [(match_operand:V16QI 1 "register_operand" "v")
(match_operand:V16QI 2 "register_operand" "v")]
- UNSPEC_VCMPGTUB))]
+ UNSPEC_VCMPGTUB))]
"TARGET_ALTIVEC"
"vcmpgtub %0,%1,%2"
[(set_attr "type" "vecsimple")])
@@ -395,7 +489,7 @@
[(set (match_operand:V16QI 0 "register_operand" "=v")
(unspec:V16QI [(match_operand:V16QI 1 "register_operand" "v")
(match_operand:V16QI 2 "register_operand" "v")]
- UNSPEC_VCMPGTSB))]
+ UNSPEC_VCMPGTSB))]
"TARGET_ALTIVEC"
"vcmpgtsb %0,%1,%2"
[(set_attr "type" "vecsimple")])
@@ -404,7 +498,7 @@
[(set (match_operand:V8HI 0 "register_operand" "=v")
(unspec:V8HI [(match_operand:V8HI 1 "register_operand" "v")
(match_operand:V8HI 2 "register_operand" "v")]
- UNSPEC_VCMPGTUH))]
+ UNSPEC_VCMPGTUH))]
"TARGET_ALTIVEC"
"vcmpgtuh %0,%1,%2"
[(set_attr "type" "vecsimple")])
@@ -413,7 +507,7 @@
[(set (match_operand:V8HI 0 "register_operand" "=v")
(unspec:V8HI [(match_operand:V8HI 1 "register_operand" "v")
(match_operand:V8HI 2 "register_operand" "v")]
- UNSPEC_VCMPGTSH))]
+ UNSPEC_VCMPGTSH))]
"TARGET_ALTIVEC"
"vcmpgtsh %0,%1,%2"
[(set_attr "type" "vecsimple")])
@@ -422,7 +516,7 @@
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:V4SI 1 "register_operand" "v")
(match_operand:V4SI 2 "register_operand" "v")]
- UNSPEC_VCMPGTUW))]
+ UNSPEC_VCMPGTUW))]
"TARGET_ALTIVEC"
"vcmpgtuw %0,%1,%2"
[(set_attr "type" "vecsimple")])
@@ -431,7 +525,7 @@
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:V4SI 1 "register_operand" "v")
(match_operand:V4SI 2 "register_operand" "v")]
- UNSPEC_VCMPGTSW))]
+ UNSPEC_VCMPGTSW))]
"TARGET_ALTIVEC"
"vcmpgtsw %0,%1,%2"
[(set_attr "type" "vecsimple")])
@@ -440,7 +534,7 @@
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:V4SF 1 "register_operand" "v")
(match_operand:V4SF 2 "register_operand" "v")]
- UNSPEC_VCMPGTFP))]
+ UNSPEC_VCMPGTFP))]
"TARGET_ALTIVEC"
"vcmpgtfp %0,%1,%2"
[(set_attr "type" "veccmp")])
@@ -550,7 +644,8 @@
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:VIshort 1 "register_operand" "v")
(match_operand:VIshort 2 "register_operand" "v")
- (match_operand:V4SI 3 "register_operand" "v")] 65))]
+ (match_operand:V4SI 3 "register_operand" "v")]
+ UNSPEC_VMSUMU))]
"TARGET_ALTIVEC"
"vmsumu<VI_char>m %0,%1,%2,%3"
[(set_attr "type" "veccomplex")])
@@ -559,7 +654,8 @@
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:VIshort 1 "register_operand" "v")
(match_operand:VIshort 2 "register_operand" "v")
- (match_operand:V4SI 3 "register_operand" "v")] 66))]
+ (match_operand:V4SI 3 "register_operand" "v")]
+ UNSPEC_VMSUMM))]
"TARGET_ALTIVEC"
"vmsumm<VI_char>m %0,%1,%2,%3"
[(set_attr "type" "veccomplex")])
@@ -568,7 +664,8 @@
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")
(match_operand:V8HI 2 "register_operand" "v")
- (match_operand:V4SI 3 "register_operand" "v")] 68))]
+ (match_operand:V4SI 3 "register_operand" "v")]
+ UNSPEC_VMSUMSHM))]
"TARGET_ALTIVEC"
"vmsumshm %0,%1,%2,%3"
[(set_attr "type" "veccomplex")])
@@ -577,7 +674,8 @@
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")
(match_operand:V8HI 2 "register_operand" "v")
- (match_operand:V4SI 3 "register_operand" "v")] 69))
+ (match_operand:V4SI 3 "register_operand" "v")]
+ UNSPEC_VMSUMUHS))
(set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]
"TARGET_ALTIVEC"
"vmsumuhs %0,%1,%2,%3"
@@ -587,7 +685,8 @@
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")
(match_operand:V8HI 2 "register_operand" "v")
- (match_operand:V4SI 3 "register_operand" "v")] 70))
+ (match_operand:V4SI 3 "register_operand" "v")]
+ UNSPEC_VMSUMSHS))
(set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]
"TARGET_ALTIVEC"
"vmsumshs %0,%1,%2,%3"
@@ -647,25 +746,30 @@
[(set (match_operand:V8HI 0 "register_operand" "=v")
(unspec:V8HI [(match_operand:V8HI 1 "register_operand" "v")
(match_operand:V8HI 2 "register_operand" "v")
- (match_operand:V8HI 3 "register_operand" "v")] 71))
+ (match_operand:V8HI 3 "register_operand" "v")]
+ UNSPEC_VMHADDSHS))
(set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]
"TARGET_ALTIVEC"
"vmhaddshs %0,%1,%2,%3"
[(set_attr "type" "veccomplex")])
+
(define_insn "altivec_vmhraddshs"
[(set (match_operand:V8HI 0 "register_operand" "=v")
(unspec:V8HI [(match_operand:V8HI 1 "register_operand" "v")
(match_operand:V8HI 2 "register_operand" "v")
- (match_operand:V8HI 3 "register_operand" "v")] 72))
+ (match_operand:V8HI 3 "register_operand" "v")]
+ UNSPEC_VMHRADDSHS))
(set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]
"TARGET_ALTIVEC"
"vmhraddshs %0,%1,%2,%3"
[(set_attr "type" "veccomplex")])
+
(define_insn "altivec_vmladduhm"
[(set (match_operand:V8HI 0 "register_operand" "=v")
(unspec:V8HI [(match_operand:V8HI 1 "register_operand" "v")
(match_operand:V8HI 2 "register_operand" "v")
- (match_operand:V8HI 3 "register_operand" "v")] 73))]
+ (match_operand:V8HI 3 "register_operand" "v")]
+ UNSPEC_VMLADDUHM))]
"TARGET_ALTIVEC"
"vmladduhm %0,%1,%2,%3"
[(set_attr "type" "veccomplex")])
@@ -839,7 +943,8 @@
(define_insn "altivec_vmuleub"
[(set (match_operand:V8HI 0 "register_operand" "=v")
(unspec:V8HI [(match_operand:V16QI 1 "register_operand" "v")
- (match_operand:V16QI 2 "register_operand" "v")] 83))]
+ (match_operand:V16QI 2 "register_operand" "v")]
+ UNSPEC_VMULEUB))]
"TARGET_ALTIVEC"
"vmuleub %0,%1,%2"
[(set_attr "type" "veccomplex")])
@@ -847,7 +952,8 @@
(define_insn "altivec_vmulesb"
[(set (match_operand:V8HI 0 "register_operand" "=v")
(unspec:V8HI [(match_operand:V16QI 1 "register_operand" "v")
- (match_operand:V16QI 2 "register_operand" "v")] 84))]
+ (match_operand:V16QI 2 "register_operand" "v")]
+ UNSPEC_VMULESB))]
"TARGET_ALTIVEC"
"vmulesb %0,%1,%2"
[(set_attr "type" "veccomplex")])
@@ -855,7 +961,8 @@
(define_insn "altivec_vmuleuh"
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")
- (match_operand:V8HI 2 "register_operand" "v")] 85))]
+ (match_operand:V8HI 2 "register_operand" "v")]
+ UNSPEC_VMULEUH))]
"TARGET_ALTIVEC"
"vmuleuh %0,%1,%2"
[(set_attr "type" "veccomplex")])
@@ -863,7 +970,8 @@
(define_insn "altivec_vmulesh"
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")
- (match_operand:V8HI 2 "register_operand" "v")] 86))]
+ (match_operand:V8HI 2 "register_operand" "v")]
+ UNSPEC_VMULESH))]
"TARGET_ALTIVEC"
"vmulesh %0,%1,%2"
[(set_attr "type" "veccomplex")])
@@ -871,7 +979,8 @@
(define_insn "altivec_vmuloub"
[(set (match_operand:V8HI 0 "register_operand" "=v")
(unspec:V8HI [(match_operand:V16QI 1 "register_operand" "v")
- (match_operand:V16QI 2 "register_operand" "v")] 87))]
+ (match_operand:V16QI 2 "register_operand" "v")]
+ UNSPEC_VMULOUB))]
"TARGET_ALTIVEC"
"vmuloub %0,%1,%2"
[(set_attr "type" "veccomplex")])
@@ -879,7 +988,8 @@
(define_insn "altivec_vmulosb"
[(set (match_operand:V8HI 0 "register_operand" "=v")
(unspec:V8HI [(match_operand:V16QI 1 "register_operand" "v")
- (match_operand:V16QI 2 "register_operand" "v")] 88))]
+ (match_operand:V16QI 2 "register_operand" "v")]
+ UNSPEC_VMULOSB))]
"TARGET_ALTIVEC"
"vmulosb %0,%1,%2"
[(set_attr "type" "veccomplex")])
@@ -887,7 +997,8 @@
(define_insn "altivec_vmulouh"
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")
- (match_operand:V8HI 2 "register_operand" "v")] 89))]
+ (match_operand:V8HI 2 "register_operand" "v")]
+ UNSPEC_VMULOUH))]
"TARGET_ALTIVEC"
"vmulouh %0,%1,%2"
[(set_attr "type" "veccomplex")])
@@ -895,7 +1006,8 @@
(define_insn "altivec_vmulosh"
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")
- (match_operand:V8HI 2 "register_operand" "v")] 90))]
+ (match_operand:V8HI 2 "register_operand" "v")]
+ UNSPEC_VMULOSH))]
"TARGET_ALTIVEC"
"vmulosh %0,%1,%2"
[(set_attr "type" "veccomplex")])
@@ -927,6 +1039,14 @@
"vxor %0,%1,%2"
[(set_attr "type" "vecsimple")])
+(define_insn "xorv4sf3"
+ [(set (match_operand:V4SF 0 "register_operand" "=v")
+ (xor:V4SF (match_operand:V4SF 1 "register_operand" "v")
+ (match_operand:V4SF 2 "register_operand" "v")))]
+ "TARGET_ALTIVEC"
+ "vxor %0,%1,%2"
+ [(set_attr "type" "vecsimple")])
+
(define_insn "one_cmpl<mode>2"
[(set (match_operand:VI 0 "register_operand" "=v")
(not:VI (match_operand:VI 1 "register_operand" "v")))]
@@ -961,7 +1081,8 @@
(define_insn "altivec_vpkuhum"
[(set (match_operand:V16QI 0 "register_operand" "=v")
(unspec:V16QI [(match_operand:V8HI 1 "register_operand" "v")
- (match_operand:V8HI 2 "register_operand" "v")] 93))]
+ (match_operand:V8HI 2 "register_operand" "v")]
+ UNSPEC_VPKUHUM))]
"TARGET_ALTIVEC"
"vpkuhum %0,%1,%2"
[(set_attr "type" "vecperm")])
@@ -969,7 +1090,8 @@
(define_insn "altivec_vpkuwum"
[(set (match_operand:V8HI 0 "register_operand" "=v")
(unspec:V8HI [(match_operand:V4SI 1 "register_operand" "v")
- (match_operand:V4SI 2 "register_operand" "v")] 94))]
+ (match_operand:V4SI 2 "register_operand" "v")]
+ UNSPEC_VPKUWUM))]
"TARGET_ALTIVEC"
"vpkuwum %0,%1,%2"
[(set_attr "type" "vecperm")])
@@ -977,7 +1099,8 @@
(define_insn "altivec_vpkpx"
[(set (match_operand:V8HI 0 "register_operand" "=v")
(unspec:V8HI [(match_operand:V4SI 1 "register_operand" "v")
- (match_operand:V4SI 2 "register_operand" "v")] 95))]
+ (match_operand:V4SI 2 "register_operand" "v")]
+ UNSPEC_VPKPX))]
"TARGET_ALTIVEC"
"vpkpx %0,%1,%2"
[(set_attr "type" "vecperm")])
@@ -985,7 +1108,8 @@
(define_insn "altivec_vpkuhss"
[(set (match_operand:V16QI 0 "register_operand" "=v")
(unspec:V16QI [(match_operand:V8HI 1 "register_operand" "v")
- (match_operand:V8HI 2 "register_operand" "v")] 96))
+ (match_operand:V8HI 2 "register_operand" "v")]
+ UNSPEC_VPKUHSS))
(set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]
"TARGET_ALTIVEC"
"vpkuhss %0,%1,%2"
@@ -994,7 +1118,8 @@
(define_insn "altivec_vpkshss"
[(set (match_operand:V16QI 0 "register_operand" "=v")
(unspec:V16QI [(match_operand:V8HI 1 "register_operand" "v")
- (match_operand:V8HI 2 "register_operand" "v")] 97))
+ (match_operand:V8HI 2 "register_operand" "v")]
+ UNSPEC_VPKSHSS))
(set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]
"TARGET_ALTIVEC"
"vpkshss %0,%1,%2"
@@ -1003,7 +1128,8 @@
(define_insn "altivec_vpkuwss"
[(set (match_operand:V8HI 0 "register_operand" "=v")
(unspec:V8HI [(match_operand:V4SI 1 "register_operand" "v")
- (match_operand:V4SI 2 "register_operand" "v")] 98))
+ (match_operand:V4SI 2 "register_operand" "v")]
+ UNSPEC_VPKUWSS))
(set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]
"TARGET_ALTIVEC"
"vpkuwss %0,%1,%2"
@@ -1012,7 +1138,8 @@
(define_insn "altivec_vpkswss"
[(set (match_operand:V8HI 0 "register_operand" "=v")
(unspec:V8HI [(match_operand:V4SI 1 "register_operand" "v")
- (match_operand:V4SI 2 "register_operand" "v")] 99))
+ (match_operand:V4SI 2 "register_operand" "v")]
+ UNSPEC_VPKSWSS))
(set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]
"TARGET_ALTIVEC"
"vpkswss %0,%1,%2"
@@ -1021,7 +1148,8 @@
(define_insn "altivec_vpkuhus"
[(set (match_operand:V16QI 0 "register_operand" "=v")
(unspec:V16QI [(match_operand:V8HI 1 "register_operand" "v")
- (match_operand:V8HI 2 "register_operand" "v")] 100))
+ (match_operand:V8HI 2 "register_operand" "v")]
+ UNSPEC_VPKUHUS))
(set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]
"TARGET_ALTIVEC"
"vpkuhus %0,%1,%2"
@@ -1030,7 +1158,8 @@
(define_insn "altivec_vpkshus"
[(set (match_operand:V16QI 0 "register_operand" "=v")
(unspec:V16QI [(match_operand:V8HI 1 "register_operand" "v")
- (match_operand:V8HI 2 "register_operand" "v")] 101))
+ (match_operand:V8HI 2 "register_operand" "v")]
+ UNSPEC_VPKSHUS))
(set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]
"TARGET_ALTIVEC"
"vpkshus %0,%1,%2"
@@ -1039,7 +1168,8 @@
(define_insn "altivec_vpkuwus"
[(set (match_operand:V8HI 0 "register_operand" "=v")
(unspec:V8HI [(match_operand:V4SI 1 "register_operand" "v")
- (match_operand:V4SI 2 "register_operand" "v")] 102))
+ (match_operand:V4SI 2 "register_operand" "v")]
+ UNSPEC_VPKUWUS))
(set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]
"TARGET_ALTIVEC"
"vpkuwus %0,%1,%2"
@@ -1048,7 +1178,8 @@
(define_insn "altivec_vpkswus"
[(set (match_operand:V8HI 0 "register_operand" "=v")
(unspec:V8HI [(match_operand:V4SI 1 "register_operand" "v")
- (match_operand:V4SI 2 "register_operand" "v")] 103))
+ (match_operand:V4SI 2 "register_operand" "v")]
+ UNSPEC_VPKSWUS))
(set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]
"TARGET_ALTIVEC"
"vpkswus %0,%1,%2"
@@ -1057,7 +1188,8 @@
(define_insn "altivec_vrl<VI_char>"
[(set (match_operand:VI 0 "register_operand" "=v")
(unspec:VI [(match_operand:VI 1 "register_operand" "v")
- (match_operand:VI 2 "register_operand" "v")] 104))]
+ (match_operand:VI 2 "register_operand" "v")]
+ UNSPEC_VRL))]
"TARGET_ALTIVEC"
"vrl<VI_char> %0,%1,%2"
[(set_attr "type" "vecsimple")])
@@ -1065,7 +1197,8 @@
(define_insn "altivec_vsl<VI_char>"
[(set (match_operand:VI 0 "register_operand" "=v")
(unspec:VI [(match_operand:VI 1 "register_operand" "v")
- (match_operand:VI 2 "register_operand" "v")] 107))]
+ (match_operand:VI 2 "register_operand" "v")]
+ UNSPEC_VSL))]
"TARGET_ALTIVEC"
"vsl<VI_char> %0,%1,%2"
[(set_attr "type" "vecsimple")])
@@ -1073,7 +1206,8 @@
(define_insn "altivec_vslw_v4sf"
[(set (match_operand:V4SF 0 "register_operand" "=v")
(unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")
- (match_operand:V4SF 2 "register_operand" "v")] UNSPEC_VSLW))]
+ (match_operand:V4SF 2 "register_operand" "v")]
+ UNSPEC_VSLW))]
"TARGET_ALTIVEC"
"vslw %0,%1,%2"
[(set_attr "type" "vecsimple")])
@@ -1081,7 +1215,8 @@
(define_insn "altivec_vsl"
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:V4SI 1 "register_operand" "v")
- (match_operand:V4SI 2 "register_operand" "v")] 110))]
+ (match_operand:V4SI 2 "register_operand" "v")]
+ UNSPEC_VSLV4SI))]
"TARGET_ALTIVEC"
"vsl %0,%1,%2"
[(set_attr "type" "vecperm")])
@@ -1089,7 +1224,8 @@
(define_insn "altivec_vslo"
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:V4SI 1 "register_operand" "v")
- (match_operand:V4SI 2 "register_operand" "v")] 111))]
+ (match_operand:V4SI 2 "register_operand" "v")]
+ UNSPEC_VSLO))]
"TARGET_ALTIVEC"
"vslo %0,%1,%2"
[(set_attr "type" "vecperm")])
@@ -1113,7 +1249,8 @@
(define_insn "altivec_vsr"
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:V4SI 1 "register_operand" "v")
- (match_operand:V4SI 2 "register_operand" "v")] 118))]
+ (match_operand:V4SI 2 "register_operand" "v")]
+ UNSPEC_VSR))]
"TARGET_ALTIVEC"
"vsr %0,%1,%2"
[(set_attr "type" "vecperm")])
@@ -1121,7 +1258,8 @@
(define_insn "altivec_vsro"
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:V4SI 1 "register_operand" "v")
- (match_operand:V4SI 2 "register_operand" "v")] 119))]
+ (match_operand:V4SI 2 "register_operand" "v")]
+ UNSPEC_VSRO))]
"TARGET_ALTIVEC"
"vsro %0,%1,%2"
[(set_attr "type" "vecperm")])
@@ -1129,7 +1267,8 @@
(define_insn "altivec_vsum4ubs"
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:V16QI 1 "register_operand" "v")
- (match_operand:V4SI 2 "register_operand" "v")] 131))
+ (match_operand:V4SI 2 "register_operand" "v")]
+ UNSPEC_VSUM4UBS))
(set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]
"TARGET_ALTIVEC"
"vsum4ubs %0,%1,%2"
@@ -1138,7 +1277,8 @@
(define_insn "altivec_vsum4s<VI_char>s"
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:VIshort 1 "register_operand" "v")
- (match_operand:V4SI 2 "register_operand" "v")] 132))
+ (match_operand:V4SI 2 "register_operand" "v")]
+ UNSPEC_VSUM4S))
(set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]
"TARGET_ALTIVEC"
"vsum4s<VI_char>s %0,%1,%2"
@@ -1147,7 +1287,8 @@
(define_insn "altivec_vsum2sws"
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:V4SI 1 "register_operand" "v")
- (match_operand:V4SI 2 "register_operand" "v")] 134))
+ (match_operand:V4SI 2 "register_operand" "v")]
+ UNSPEC_VSUM2SWS))
(set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]
"TARGET_ALTIVEC"
"vsum2sws %0,%1,%2"
@@ -1156,7 +1297,8 @@
(define_insn "altivec_vsumsws"
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:V4SI 1 "register_operand" "v")
- (match_operand:V4SI 2 "register_operand" "v")] 135))
+ (match_operand:V4SI 2 "register_operand" "v")]
+ UNSPEC_VSUMSWS))
(set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]
"TARGET_ALTIVEC"
"vsumsws %0,%1,%2"
@@ -1192,6 +1334,16 @@
"vspltw %0,%1,%2"
[(set_attr "type" "vecperm")])
+(define_insn "*altivec_vspltsf"
+ [(set (match_operand:V4SF 0 "register_operand" "=v")
+ (vec_duplicate:V4SF
+ (vec_select:SF (match_operand:V4SF 1 "register_operand" "v")
+ (parallel
+ [(match_operand:QI 2 "u5bit_cint_operand" "i")]))))]
+ "TARGET_ALTIVEC"
+ "vspltw %0,%1,%2"
+ [(set_attr "type" "vecperm")])
+
(define_insn "altivec_vspltis<VI_char>"
[(set (match_operand:VI 0 "register_operand" "=v")
(vec_duplicate:VI
@@ -1215,41 +1367,36 @@
"vrfiz %0,%1"
[(set_attr "type" "vecfloat")])
-(define_insn "altivec_vperm_v4sf"
- [(set (match_operand:V4SF 0 "register_operand" "=v")
- (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")
- (match_operand:V4SF 2 "register_operand" "v")
- (match_operand:V16QI 3 "register_operand" "v")] 145))]
- "TARGET_ALTIVEC"
- "vperm %0,%1,%2,%3"
- [(set_attr "type" "vecperm")])
-
(define_insn "altivec_vperm_<mode>"
- [(set (match_operand:VI 0 "register_operand" "=v")
- (unspec:VI [(match_operand:VI 1 "register_operand" "v")
- (match_operand:VI 2 "register_operand" "v")
- (match_operand:V16QI 3 "register_operand" "v")] 144))]
+ [(set (match_operand:V 0 "register_operand" "=v")
+ (unspec:V [(match_operand:V 1 "register_operand" "v")
+ (match_operand:V 2 "register_operand" "v")
+ (match_operand:V16QI 3 "register_operand" "v")]
+ UNSPEC_VPERM))]
"TARGET_ALTIVEC"
"vperm %0,%1,%2,%3"
[(set_attr "type" "vecperm")])
(define_insn "altivec_vrfip"
[(set (match_operand:V4SF 0 "register_operand" "=v")
- (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")] 148))]
+ (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")]
+ UNSPEC_VRFIP))]
"TARGET_ALTIVEC"
"vrfip %0,%1"
[(set_attr "type" "vecfloat")])
(define_insn "altivec_vrfin"
[(set (match_operand:V4SF 0 "register_operand" "=v")
- (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")] 149))]
+ (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")]
+ UNSPEC_VRFIN))]
"TARGET_ALTIVEC"
"vrfin %0,%1"
[(set_attr "type" "vecfloat")])
(define_insn "altivec_vrfim"
[(set (match_operand:V4SF 0 "register_operand" "=v")
- (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")] 150))]
+ (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")]
+ UNSPEC_VRFIM))]
"TARGET_ALTIVEC"
"vrfim %0,%1"
[(set_attr "type" "vecfloat")])
@@ -1257,7 +1404,8 @@
(define_insn "altivec_vcfux"
[(set (match_operand:V4SF 0 "register_operand" "=v")
(unspec:V4SF [(match_operand:V4SI 1 "register_operand" "v")
- (match_operand:QI 2 "immediate_operand" "i")] 151))]
+ (match_operand:QI 2 "immediate_operand" "i")]
+ UNSPEC_VCFUX))]
"TARGET_ALTIVEC"
"vcfux %0,%1,%2"
[(set_attr "type" "vecfloat")])
@@ -1265,7 +1413,8 @@
(define_insn "altivec_vcfsx"
[(set (match_operand:V4SF 0 "register_operand" "=v")
(unspec:V4SF [(match_operand:V4SI 1 "register_operand" "v")
- (match_operand:QI 2 "immediate_operand" "i")] 152))]
+ (match_operand:QI 2 "immediate_operand" "i")]
+ UNSPEC_VCFSX))]
"TARGET_ALTIVEC"
"vcfsx %0,%1,%2"
[(set_attr "type" "vecfloat")])
@@ -1273,7 +1422,8 @@
(define_insn "altivec_vctuxs"
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:V4SF 1 "register_operand" "v")
- (match_operand:QI 2 "immediate_operand" "i")] 153))
+ (match_operand:QI 2 "immediate_operand" "i")]
+ UNSPEC_VCTUXS))
(set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]
"TARGET_ALTIVEC"
"vctuxs %0,%1,%2"
@@ -1282,7 +1432,8 @@
(define_insn "altivec_vctsxs"
[(set (match_operand:V4SI 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:V4SF 1 "register_operand" "v")
- (match_operand:QI 2 "immediate_operand" "i")] 154))
+ (match_operand:QI 2 "immediate_operand" "i")]
+ UNSPEC_VCTSXS))
(set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]
"TARGET_ALTIVEC"
"vctsxs %0,%1,%2"
@@ -1290,28 +1441,32 @@
(define_insn "altivec_vlogefp"
[(set (match_operand:V4SF 0 "register_operand" "=v")
- (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")] 155))]
+ (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")]
+ UNSPEC_VLOGEFP))]
"TARGET_ALTIVEC"
"vlogefp %0,%1"
[(set_attr "type" "vecfloat")])
(define_insn "altivec_vexptefp"
[(set (match_operand:V4SF 0 "register_operand" "=v")
- (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")] 156))]
+ (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")]
+ UNSPEC_VEXPTEFP))]
"TARGET_ALTIVEC"
"vexptefp %0,%1"
[(set_attr "type" "vecfloat")])
(define_insn "altivec_vrsqrtefp"
[(set (match_operand:V4SF 0 "register_operand" "=v")
- (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")] 157))]
+ (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")]
+ UNSPEC_VRSQRTEFP))]
"TARGET_ALTIVEC"
"vrsqrtefp %0,%1"
[(set_attr "type" "vecfloat")])
(define_insn "altivec_vrefp"
[(set (match_operand:V4SF 0 "register_operand" "=v")
- (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")] 158))]
+ (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")]
+ UNSPEC_VREFP))]
"TARGET_ALTIVEC"
"vrefp %0,%1"
[(set_attr "type" "vecfloat")])
@@ -1455,7 +1610,7 @@
(unspec:V4SI [(match_operand:V4SI 1 "register_operand" "v")
(match_operand:V4SI 2 "register_operand" "v")
(match_operand:V4SI 3 "register_operand" "v")]
- UNSPEC_VSEL4SI))]
+ UNSPEC_VSEL4SI))]
"TARGET_ALTIVEC"
"vsel %0,%1,%2,%3"
[(set_attr "type" "vecperm")])
@@ -1475,7 +1630,7 @@
(unspec:V8HI [(match_operand:V8HI 1 "register_operand" "v")
(match_operand:V8HI 2 "register_operand" "v")
(match_operand:V8HI 3 "register_operand" "v")]
- UNSPEC_VSEL8HI))]
+ UNSPEC_VSEL8HI))]
"TARGET_ALTIVEC"
"vsel %0,%1,%2,%3"
[(set_attr "type" "vecperm")])
@@ -1485,85 +1640,65 @@
(unspec:V16QI [(match_operand:V16QI 1 "register_operand" "v")
(match_operand:V16QI 2 "register_operand" "v")
(match_operand:V16QI 3 "register_operand" "v")]
- UNSPEC_VSEL16QI))]
+ UNSPEC_VSEL16QI))]
"TARGET_ALTIVEC"
"vsel %0,%1,%2,%3"
[(set_attr "type" "vecperm")])
-(define_insn "altivec_vsldoi_v4si"
- [(set (match_operand:V4SI 0 "register_operand" "=v")
- (unspec:V4SI [(match_operand:V4SI 1 "register_operand" "v")
- (match_operand:V4SI 2 "register_operand" "v")
- (match_operand:QI 3 "immediate_operand" "i")] 163))]
- "TARGET_ALTIVEC"
- "vsldoi %0,%1,%2,%3"
- [(set_attr "type" "vecperm")])
-
-(define_insn "altivec_vsldoi_v4sf"
- [(set (match_operand:V4SF 0 "register_operand" "=v")
- (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")
- (match_operand:V4SF 2 "register_operand" "v")
- (match_operand:QI 3 "immediate_operand" "i")] 164))]
- "TARGET_ALTIVEC"
- "vsldoi %0,%1,%2,%3"
- [(set_attr "type" "vecperm")])
-
-(define_insn "altivec_vsldoi_v8hi"
- [(set (match_operand:V8HI 0 "register_operand" "=v")
- (unspec:V8HI [(match_operand:V8HI 1 "register_operand" "v")
- (match_operand:V8HI 2 "register_operand" "v")
- (match_operand:QI 3 "immediate_operand" "i")] 165))]
- "TARGET_ALTIVEC"
- "vsldoi %0,%1,%2,%3"
- [(set_attr "type" "vecperm")])
-
-(define_insn "altivec_vsldoi_v16qi"
- [(set (match_operand:V16QI 0 "register_operand" "=v")
- (unspec:V16QI [(match_operand:V16QI 1 "register_operand" "v")
- (match_operand:V16QI 2 "register_operand" "v")
- (match_operand:QI 3 "immediate_operand" "i")] 166))]
+(define_insn "altivec_vsldoi_<mode>"
+ [(set (match_operand:V 0 "register_operand" "=v")
+ (unspec:V [(match_operand:V 1 "register_operand" "v")
+ (match_operand:V 2 "register_operand" "v")
+ (match_operand:QI 3 "immediate_operand" "i")]
+ UNSPEC_VLSDOI))]
"TARGET_ALTIVEC"
"vsldoi %0,%1,%2,%3"
[(set_attr "type" "vecperm")])
(define_insn "altivec_vupkhsb"
[(set (match_operand:V8HI 0 "register_operand" "=v")
- (unspec:V8HI [(match_operand:V16QI 1 "register_operand" "v")] 167))]
+ (unspec:V8HI [(match_operand:V16QI 1 "register_operand" "v")]
+ UNSPEC_VUPKHSB))]
"TARGET_ALTIVEC"
"vupkhsb %0,%1"
[(set_attr "type" "vecperm")])
(define_insn "altivec_vupkhpx"
[(set (match_operand:V4SI 0 "register_operand" "=v")
- (unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")] 168))]
+ (unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")]
+ UNSPEC_VUPKHPX))]
"TARGET_ALTIVEC"
"vupkhpx %0,%1"
[(set_attr "type" "vecperm")])
(define_insn "altivec_vupkhsh"
[(set (match_operand:V4SI 0 "register_operand" "=v")
- (unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")] 169))]
+ (unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")]
+ UNSPEC_VUPKHSH))]
"TARGET_ALTIVEC"
"vupkhsh %0,%1"
[(set_attr "type" "vecperm")])
(define_insn "altivec_vupklsb"
[(set (match_operand:V8HI 0 "register_operand" "=v")
- (unspec:V8HI [(match_operand:V16QI 1 "register_operand" "v")] 170))]
+ (unspec:V8HI [(match_operand:V16QI 1 "register_operand" "v")]
+ UNSPEC_VUPKLSB))]
"TARGET_ALTIVEC"
"vupklsb %0,%1"
[(set_attr "type" "vecperm")])
(define_insn "altivec_vupklpx"
[(set (match_operand:V4SI 0 "register_operand" "=v")
- (unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")] 171))]
+ (unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")]
+ UNSPEC_VUPKLPX))]
"TARGET_ALTIVEC"
"vupklpx %0,%1"
[(set_attr "type" "vecperm")])
(define_insn "altivec_vupklsh"
[(set (match_operand:V4SI 0 "register_operand" "=v")
- (unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")] 172))]
+ (unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")]
+ UNSPEC_VUPKLSH))]
"TARGET_ALTIVEC"
"vupklsh %0,%1"
[(set_attr "type" "vecperm")])
@@ -1603,22 +1738,12 @@
;; We can get away with generating the opcode on the fly (%3 below)
;; because all the predicates have the same scheduling parameters.
-(define_insn "altivec_predicate_v4sf"
- [(set (reg:CC 74)
- (unspec:CC [(match_operand:V4SF 1 "register_operand" "v")
- (match_operand:V4SF 2 "register_operand" "v")
- (match_operand 3 "any_operand" "")] 174))
- (clobber (match_scratch:V4SF 0 "=v"))]
- "TARGET_ALTIVEC"
- "%3 %0,%1,%2"
-[(set_attr "type" "veccmp")])
-
(define_insn "altivec_predicate_<mode>"
[(set (reg:CC 74)
- (unspec:CC [(match_operand:VI 1 "register_operand" "v")
- (match_operand:VI 2 "register_operand" "v")
- (match_operand 3 "any_operand" "")] 173))
- (clobber (match_scratch:VI 0 "=v"))]
+ (unspec:CC [(match_operand:V 1 "register_operand" "v")
+ (match_operand:V 2 "register_operand" "v")
+ (match_operand 3 "any_operand" "")] UNSPEC_PREDICATE))
+ (clobber (match_scratch:V 0 "=v"))]
"TARGET_ALTIVEC"
"%3 %0,%1,%2"
[(set_attr "type" "veccmp")])
@@ -1626,26 +1751,27 @@
(define_insn "altivec_mtvscr"
[(set (reg:SI 110)
(unspec_volatile:SI
- [(match_operand:V4SI 0 "register_operand" "v")] 186))]
+ [(match_operand:V4SI 0 "register_operand" "v")] UNSPECV_MTVSCR))]
"TARGET_ALTIVEC"
"mtvscr %0"
[(set_attr "type" "vecsimple")])
(define_insn "altivec_mfvscr"
[(set (match_operand:V8HI 0 "register_operand" "=v")
- (unspec_volatile:V8HI [(reg:SI 110)] 187))]
+ (unspec_volatile:V8HI [(reg:SI 110)] UNSPECV_MFVSCR))]
"TARGET_ALTIVEC"
"mfvscr %0"
[(set_attr "type" "vecsimple")])
(define_insn "altivec_dssall"
- [(unspec_volatile [(const_int 0)] 188)]
+ [(unspec_volatile [(const_int 0)] UNSPECV_DSSALL)]
"TARGET_ALTIVEC"
"dssall"
[(set_attr "type" "vecsimple")])
(define_insn "altivec_dss"
- [(unspec_volatile [(match_operand:QI 0 "immediate_operand" "i")] 189)]
+ [(unspec_volatile [(match_operand:QI 0 "immediate_operand" "i")]
+ UNSPECV_DSS)]
"TARGET_ALTIVEC"
"dss %0"
[(set_attr "type" "vecsimple")])
@@ -1653,7 +1779,7 @@
(define_insn "altivec_dst"
[(unspec [(match_operand 0 "register_operand" "b")
(match_operand:SI 1 "register_operand" "r")
- (match_operand:QI 2 "immediate_operand" "i")] 190)]
+ (match_operand:QI 2 "immediate_operand" "i")] UNSPEC_DST)]
"TARGET_ALTIVEC && GET_MODE (operands[0]) == Pmode"
"dst %0,%1,%2"
[(set_attr "type" "vecsimple")])
@@ -1661,7 +1787,7 @@
(define_insn "altivec_dstt"
[(unspec [(match_operand 0 "register_operand" "b")
(match_operand:SI 1 "register_operand" "r")
- (match_operand:QI 2 "immediate_operand" "i")] 191)]
+ (match_operand:QI 2 "immediate_operand" "i")] UNSPEC_DSTT)]
"TARGET_ALTIVEC && GET_MODE (operands[0]) == Pmode"
"dstt %0,%1,%2"
[(set_attr "type" "vecsimple")])
@@ -1669,7 +1795,7 @@
(define_insn "altivec_dstst"
[(unspec [(match_operand 0 "register_operand" "b")
(match_operand:SI 1 "register_operand" "r")
- (match_operand:QI 2 "immediate_operand" "i")] 192)]
+ (match_operand:QI 2 "immediate_operand" "i")] UNSPEC_DSTST)]
"TARGET_ALTIVEC && GET_MODE (operands[0]) == Pmode"
"dstst %0,%1,%2"
[(set_attr "type" "vecsimple")])
@@ -1677,28 +1803,28 @@
(define_insn "altivec_dststt"
[(unspec [(match_operand 0 "register_operand" "b")
(match_operand:SI 1 "register_operand" "r")
- (match_operand:QI 2 "immediate_operand" "i")] 193)]
+ (match_operand:QI 2 "immediate_operand" "i")] UNSPEC_DSTSTT)]
"TARGET_ALTIVEC && GET_MODE (operands[0]) == Pmode"
"dststt %0,%1,%2"
[(set_attr "type" "vecsimple")])
(define_insn "altivec_lvsl"
[(set (match_operand:V16QI 0 "register_operand" "=v")
- (unspec:V16QI [(match_operand 1 "memory_operand" "m")] 194))]
+ (unspec:V16QI [(match_operand 1 "memory_operand" "Z")] UNSPEC_LVSL))]
"TARGET_ALTIVEC"
"lvsl %0,%y1"
[(set_attr "type" "vecload")])
(define_insn "altivec_lvsr"
[(set (match_operand:V16QI 0 "register_operand" "=v")
- (unspec:V16QI [(match_operand 1 "memory_operand" "m")] 195))]
+ (unspec:V16QI [(match_operand 1 "memory_operand" "Z")] UNSPEC_LVSR))]
"TARGET_ALTIVEC"
"lvsr %0,%y1"
[(set_attr "type" "vecload")])
(define_expand "build_vector_mask_for_load"
- [(set (match_operand:V16QI 0 "register_operand" "=v")
- (unspec:V16QI [(match_operand 1 "memory_operand" "m")] 195))]
+ [(set (match_operand:V16QI 0 "register_operand" "")
+ (unspec:V16QI [(match_operand 1 "memory_operand" "")] UNSPEC_LVSR))]
"TARGET_ALTIVEC"
"
{
@@ -1722,16 +1848,25 @@
(define_insn "altivec_lve<VI_char>x"
[(parallel
[(set (match_operand:VI 0 "register_operand" "=v")
- (match_operand:VI 1 "memory_operand" "m"))
- (unspec [(const_int 0)] 196)])]
+ (match_operand:VI 1 "memory_operand" "Z"))
+ (unspec [(const_int 0)] UNSPEC_LVE)])]
"TARGET_ALTIVEC"
"lve<VI_char>x %0,%y1"
[(set_attr "type" "vecload")])
+(define_insn "*altivec_lvesfx"
+ [(parallel
+ [(set (match_operand:V4SF 0 "register_operand" "=v")
+ (match_operand:V4SF 1 "memory_operand" "Z"))
+ (unspec [(const_int 0)] UNSPEC_LVE)])]
+ "TARGET_ALTIVEC"
+ "lvewx %0,%y1"
+ [(set_attr "type" "vecload")])
+
(define_insn "altivec_lvxl"
[(parallel
[(set (match_operand:V4SI 0 "register_operand" "=v")
- (match_operand:V4SI 1 "memory_operand" "m"))
+ (match_operand:V4SI 1 "memory_operand" "Z"))
(unspec [(const_int 0)] UNSPEC_SET_VSCR)])]
"TARGET_ALTIVEC"
"lvxl %0,%y1"
@@ -1739,38 +1874,136 @@
(define_insn "altivec_lvx"
[(set (match_operand:V4SI 0 "register_operand" "=v")
- (match_operand:V4SI 1 "memory_operand" "m"))]
+ (match_operand:V4SI 1 "memory_operand" "Z"))]
"TARGET_ALTIVEC"
"lvx %0,%y1"
[(set_attr "type" "vecload")])
(define_insn "altivec_stvx"
[(parallel
- [(set (match_operand:V4SI 0 "memory_operand" "=m")
+ [(set (match_operand:V4SI 0 "memory_operand" "=Z")
(match_operand:V4SI 1 "register_operand" "v"))
- (unspec [(const_int 0)] 201)])]
+ (unspec [(const_int 0)] UNSPEC_STVX)])]
"TARGET_ALTIVEC"
"stvx %1,%y0"
[(set_attr "type" "vecstore")])
(define_insn "altivec_stvxl"
[(parallel
- [(set (match_operand:V4SI 0 "memory_operand" "=m")
+ [(set (match_operand:V4SI 0 "memory_operand" "=Z")
(match_operand:V4SI 1 "register_operand" "v"))
- (unspec [(const_int 0)] 202)])]
+ (unspec [(const_int 0)] UNSPEC_STVXL)])]
"TARGET_ALTIVEC"
"stvxl %1,%y0"
[(set_attr "type" "vecstore")])
(define_insn "altivec_stve<VI_char>x"
[(parallel
- [(set (match_operand:VI 0 "memory_operand" "=m")
+ [(set (match_operand:VI 0 "memory_operand" "=Z")
(match_operand:VI 1 "register_operand" "v"))
- (unspec [(const_int 0)] 203)])]
+ (unspec [(const_int 0)] UNSPEC_STVE)])]
"TARGET_ALTIVEC"
"stve<VI_char>x %1,%y0"
[(set_attr "type" "vecstore")])
+(define_insn "*altivec_stvesfx"
+ [(parallel
+ [(set (match_operand:V4SF 0 "memory_operand" "=Z")
+ (match_operand:V4SF 1 "register_operand" "v"))
+ (unspec [(const_int 0)] UNSPEC_STVE)])]
+ "TARGET_ALTIVEC"
+ "stvewx %1,%y0"
+ [(set_attr "type" "vecstore")])
+
+(define_expand "vec_init<mode>"
+ [(match_operand:V 0 "register_operand" "")
+ (match_operand 1 "" "")]
+ "TARGET_ALTIVEC"
+{
+ rs6000_expand_vector_init (operands[0], operands[1]);
+ DONE;
+})
+
+(define_expand "vec_setv4si"
+ [(match_operand:V4SI 0 "register_operand" "")
+ (match_operand:SI 1 "register_operand" "")
+ (match_operand 2 "const_int_operand" "")]
+ "TARGET_ALTIVEC"
+{
+ rs6000_expand_vector_set (operands[0], operands[1], INTVAL (operands[2]));
+ DONE;
+})
+
+(define_expand "vec_setv8hi"
+ [(match_operand:V8HI 0 "register_operand" "")
+ (match_operand:HI 1 "register_operand" "")
+ (match_operand 2 "const_int_operand" "")]
+ "TARGET_ALTIVEC"
+{
+ rs6000_expand_vector_set (operands[0], operands[1], INTVAL (operands[2]));
+ DONE;
+})
+
+(define_expand "vec_setv16qi"
+ [(match_operand:V16QI 0 "register_operand" "")
+ (match_operand:QI 1 "register_operand" "")
+ (match_operand 2 "const_int_operand" "")]
+ "TARGET_ALTIVEC"
+{
+ rs6000_expand_vector_set (operands[0], operands[1], INTVAL (operands[2]));
+ DONE;
+})
+
+(define_expand "vec_setv4sf"
+ [(match_operand:V4SF 0 "register_operand" "")
+ (match_operand:SF 1 "register_operand" "")
+ (match_operand 2 "const_int_operand" "")]
+ "TARGET_ALTIVEC"
+{
+ rs6000_expand_vector_set (operands[0], operands[1], INTVAL (operands[2]));
+ DONE;
+})
+
+(define_expand "vec_extractv4si"
+ [(match_operand:SI 0 "register_operand" "")
+ (match_operand:V4SI 1 "register_operand" "")
+ (match_operand 2 "const_int_operand" "")]
+ "TARGET_ALTIVEC"
+{
+ rs6000_expand_vector_extract (operands[0], operands[1], INTVAL (operands[2]));
+ DONE;
+})
+
+(define_expand "vec_extractv8hi"
+ [(match_operand:HI 0 "register_operand" "")
+ (match_operand:V8HI 1 "register_operand" "")
+ (match_operand 2 "const_int_operand" "")]
+ "TARGET_ALTIVEC"
+{
+ rs6000_expand_vector_extract (operands[0], operands[1], INTVAL (operands[2]));
+ DONE;
+})
+
+(define_expand "vec_extractv16qi"
+ [(match_operand:QI 0 "register_operand" "")
+ (match_operand:V16QI 1 "register_operand" "")
+ (match_operand 2 "const_int_operand" "")]
+ "TARGET_ALTIVEC"
+{
+ rs6000_expand_vector_extract (operands[0], operands[1], INTVAL (operands[2]));
+ DONE;
+})
+
+(define_expand "vec_extractv4sf"
+ [(match_operand:SF 0 "register_operand" "")
+ (match_operand:V4SF 1 "register_operand" "")
+ (match_operand 2 "const_int_operand" "")]
+ "TARGET_ALTIVEC"
+{
+ rs6000_expand_vector_extract (operands[0], operands[1], INTVAL (operands[2]));
+ DONE;
+})
+
;; Generate
;; vspltis? SCRATCH0,0
;; vsubu?m SCRATCH2,SCRATCH1,%1
@@ -1815,7 +2048,7 @@
(parallel [(set (match_dup 3)
(unspec:VI [(match_dup 2)
(match_operand:VI 1 "register_operand" "v")]
- UNSPEC_SUBS))
+ UNSPEC_VSUBS))
(set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))])
(set (match_operand:VI 0 "register_operand" "=v")
(smax:VI (match_dup 1) (match_dup 3)))]
@@ -1833,7 +2066,8 @@
(define_expand "vec_shl_<mode>"
[(set (match_operand:V 0 "register_operand" "=v")
(unspec:V [(match_operand:V 1 "register_operand" "v")
- (match_operand:QI 2 "reg_or_short_operand" "")] 219 ))]
+ (match_operand:QI 2 "reg_or_short_operand" "")]
+ UNSPEC_VECSH))]
"TARGET_ALTIVEC"
"
{
@@ -1862,7 +2096,8 @@
(define_expand "vec_shr_<mode>"
[(set (match_operand:V 0 "register_operand" "=v")
(unspec:V [(match_operand:V 1 "register_operand" "v")
- (match_operand:QI 2 "reg_or_short_operand" "")] 219 ))]
+ (match_operand:QI 2 "reg_or_short_operand" "")]
+ UNSPEC_VECSH))]
"TARGET_ALTIVEC"
"
{
@@ -1886,7 +2121,8 @@
(define_insn "altivec_vsumsws_nomode"
[(set (match_operand 0 "register_operand" "=v")
(unspec:V4SI [(match_operand:V4SI 1 "register_operand" "v")
- (match_operand:V4SI 2 "register_operand" "v")] 135))
+ (match_operand:V4SI 2 "register_operand" "v")]
+ UNSPEC_VSUMSWS))
(set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]
"TARGET_ALTIVEC"
"vsumsws %0,%1,%2"
@@ -1894,7 +2130,8 @@
(define_expand "reduc_splus_<mode>"
[(set (match_operand:VIshort 0 "register_operand" "=v")
- (unspec:VIshort [(match_operand:VIshort 1 "register_operand" "v")] 217))]
+ (unspec:VIshort [(match_operand:VIshort 1 "register_operand" "v")]
+ UNSPEC_REDUC_PLUS))]
"TARGET_ALTIVEC"
"
{
@@ -1909,7 +2146,8 @@
(define_expand "reduc_uplus_v16qi"
[(set (match_operand:V16QI 0 "register_operand" "=v")
- (unspec:V16QI [(match_operand:V16QI 1 "register_operand" "v")] 217))]
+ (unspec:V16QI [(match_operand:V16QI 1 "register_operand" "v")]
+ UNSPEC_REDUC_PLUS))]
"TARGET_ALTIVEC"
"
{
@@ -1922,20 +2160,46 @@
DONE;
}")
-(define_insn "vec_realign_load_v4sf"
- [(set (match_operand:V4SF 0 "register_operand" "=v")
- (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")
- (match_operand:V4SF 2 "register_operand" "v")
- (match_operand:V16QI 3 "register_operand" "v")] 216))]
+(define_insn "vec_realign_load_<mode>"
+ [(set (match_operand:V 0 "register_operand" "=v")
+ (unspec:V [(match_operand:V 1 "register_operand" "v")
+ (match_operand:V 2 "register_operand" "v")
+ (match_operand:V16QI 3 "register_operand" "v")]
+ UNSPEC_REALIGN_LOAD))]
"TARGET_ALTIVEC"
"vperm %0,%1,%2,%3"
[(set_attr "type" "vecperm")])
-(define_insn "vec_realign_load_<mode>"
- [(set (match_operand:VI 0 "register_operand" "=v")
- (unspec:VI [(match_operand:VI 1 "register_operand" "v")
- (match_operand:VI 2 "register_operand" "v")
- (match_operand:V16QI 3 "register_operand" "v")] 215))]
+(define_expand "neg<mode>2"
+ [(use (match_operand:VI 0 "register_operand" ""))
+ (use (match_operand:VI 1 "register_operand" ""))]
"TARGET_ALTIVEC"
- "vperm %0,%1,%2,%3"
- [(set_attr "type" "vecperm")])
+ "
+{
+ rtx vzero;
+
+ vzero = gen_reg_rtx (GET_MODE (operands[0]));
+ emit_insn (gen_altivec_vspltis<VI_char> (vzero, const0_rtx));
+ emit_insn (gen_sub<mode>3 (operands[0], vzero, operands[1]));
+
+ DONE;
+}")
+
+(define_expand "negv4sf2"
+ [(use (match_operand:V4SF 0 "register_operand" ""))
+ (use (match_operand:V4SF 1 "register_operand" ""))]
+ "TARGET_ALTIVEC"
+ "
+{
+ rtx neg0;
+
+ /* Generate [-0.0, -0.0, -0.0, -0.0]. */
+ neg0 = gen_reg_rtx (V4SFmode);
+ emit_insn (gen_altivec_vspltisw_v4sf (neg0, constm1_rtx));
+ emit_insn (gen_altivec_vslw_v4sf (neg0, neg0, neg0));
+
+ /* XOR */
+ emit_insn (gen_xorv4sf3 (operands[0], neg0, operands[1]));
+
+ DONE;
+}")
diff --git a/gcc/config/rs6000/darwin.h b/gcc/config/rs6000/darwin.h
index 482c6e74f9a..ef1532d776f 100644
--- a/gcc/config/rs6000/darwin.h
+++ b/gcc/config/rs6000/darwin.h
@@ -55,6 +55,7 @@
builtin_define ("__POWERPC__"); \
builtin_define ("__NATURAL_ALIGNMENT__"); \
darwin_cpp_builtins (pfile); \
+ SUBTARGET_OS_CPP_BUILTINS (); \
} \
while (0)
diff --git a/gcc/config/rs6000/linux-unwind.h b/gcc/config/rs6000/linux-unwind.h
index 71bebd2caa0..6e822bde0e2 100644
--- a/gcc/config/rs6000/linux-unwind.h
+++ b/gcc/config/rs6000/linux-unwind.h
@@ -276,7 +276,7 @@ ppc_fallback_frame_state (struct _Unwind_Context *context,
if (hwcap == 0)
{
hwcap = ppc_linux_aux_vector (16);
- /* These will already be set if we found AT_HWCAP. A non-zero
+ /* These will already be set if we found AT_HWCAP. A nonzero
value stops us looking again if for some reason we couldn't
find AT_HWCAP. */
#ifdef __powerpc64__
diff --git a/gcc/config/rs6000/predicates.md b/gcc/config/rs6000/predicates.md
index a5bad7bfcd4..64304e536d1 100644
--- a/gcc/config/rs6000/predicates.md
+++ b/gcc/config/rs6000/predicates.md
@@ -355,11 +355,22 @@
;; Return 1 if the operand is an indexed or indirect memory operand.
(define_predicate "indexed_or_indirect_operand"
- (and (match_operand 0 "memory_operand")
- (match_test "REG_P (XEXP (op, 0))
- || (GET_CODE (XEXP (op, 0)) == PLUS
- && REG_P (XEXP (XEXP (op, 0), 0))
- && REG_P (XEXP (XEXP (op, 0), 1)))")))
+ (match_operand 0 "memory_operand")
+{
+ rtx tmp = XEXP (op, 0);
+
+ if (TARGET_ALTIVEC
+ && ALTIVEC_VECTOR_MODE (mode)
+ && GET_CODE (tmp) == AND
+ && GET_CODE (XEXP (tmp, 1)) == CONST_INT
+ && INTVAL (XEXP (tmp, 1)) == -16)
+ tmp = XEXP (tmp, 0);
+
+ return REG_P (tmp)
+ || (GET_CODE (tmp) == PLUS
+ && REG_P (XEXP (tmp, 0))
+ && REG_P (XEXP (tmp, 1)));
+})
;; Return 1 if the operand is a memory operand with an address divisible by 4
(define_predicate "word_offset_memref_operand"
@@ -369,6 +380,14 @@
|| GET_CODE (XEXP (XEXP (op, 0), 1)) != CONST_INT
|| INTVAL (XEXP (XEXP (op, 0), 1)) % 4 == 0")))
+;; Return 1 if the operand is an indexed or indirect address.
+(define_predicate "indexed_or_indirect_address"
+ (and (match_operand 0 "address_operand")
+ (match_test "REG_P (op)
+ || (GET_CODE (op) == PLUS
+ && REG_P (XEXP (op, 0))
+ && REG_P (XEXP (op, 1)))")))
+
;; Used for the destination of the fix_truncdfsi2 expander.
;; If stfiwx will be used, the result goes to memory; otherwise,
;; we're going to emit a store and a load of a subreg, so the dest is a
@@ -433,14 +452,10 @@
(and (not (match_operand 0 "logical_operand"))
(match_operand 0 "reg_or_logical_cint_operand"))))
-;; For SImode, return 1 if op is a constant that can be encoded in a
-;; 32-bit mask (no more than two 1->0 or 0->1 transitions). Reject
-;; all ones and all zeros, since these should have been optimized away
-;; and confuse the making of MB and ME.
-;; For DImode, return 1 if the operand is a constant that is a
-;; PowerPC64 mask (no more than one 1->0 or 0->1 transitions). Reject
-;; all zeros, since zero should have been optimized away and confuses
-;; the making of MB and ME.
+;; Return 1 if op is a constant that can be encoded in a 32-bit mask,
+;; suitable for use with rlwinm (no more than two 1->0 or 0->1
+;; transitions). Reject all ones and all zeros, since these should have
+;; been optimized away and confuse the making of MB and ME.
(define_predicate "mask_operand"
(match_code "const_int")
{
@@ -448,34 +463,38 @@
c = INTVAL (op);
- /* Fail in 64-bit mode if the mask wraps around because the upper
- 32-bits of the mask will all be 1s, contrary to GCC's internal view. */
- if (mode == SImode && TARGET_POWERPC64 && (c & 0x80000001) == 0x80000001)
- return 0;
+ if (TARGET_POWERPC64)
+ {
+ /* Fail if the mask is not 32-bit. */
+ if (mode == DImode && (c & ~(unsigned HOST_WIDE_INT) 0xffffffff) != 0)
+ return 0;
- /* Reject all zeros or all ones in 32-bit mode. */
- if (c == 0 || (mode == SImode && c == -1))
- return 0;
+ /* Fail if the mask wraps around because the upper 32-bits of the
+ mask will all be 1s, contrary to GCC's internal view. */
+ if ((c & 0x80000001) == 0x80000001)
+ return 0;
+ }
/* We don't change the number of transitions by inverting,
so make sure we start with the LS bit zero. */
if (c & 1)
c = ~c;
+ /* Reject all zeros or all ones. */
+ if (c == 0)
+ return 0;
+
/* Find the first transition. */
lsb = c & -c;
- if (mode == SImode)
- {
- /* Invert to look for a second transition. */
- c = ~c;
+ /* Invert to look for a second transition. */
+ c = ~c;
- /* Erase first transition. */
- c &= -lsb;
+ /* Erase first transition. */
+ c &= -lsb;
- /* Find the second transition (if any). */
- lsb = c & -c;
- }
+ /* Find the second transition (if any). */
+ lsb = c & -c;
/* Match if all the bits above are 1's (or c is zero). */
return c == -lsb;
@@ -503,20 +522,81 @@
return c == -lsb;
})
-;; Like mask_operand, but allow up to three transitions. This
+;; Return 1 if the operand is a constant that is a PowerPC64 mask
+;; suitable for use with rldicl or rldicr (no more than one 1->0 or 0->1
+;; transition). Reject all zeros, since zero should have been
+;; optimized away and confuses the making of MB and ME.
+(define_predicate "mask64_operand"
+ (match_code "const_int")
+{
+ HOST_WIDE_INT c, lsb;
+
+ c = INTVAL (op);
+
+ /* Reject all zeros. */
+ if (c == 0)
+ return 0;
+
+ /* We don't change the number of transitions by inverting,
+ so make sure we start with the LS bit zero. */
+ if (c & 1)
+ c = ~c;
+
+ /* Find the first transition. */
+ lsb = c & -c;
+
+ /* Match if all the bits above are 1's (or c is zero). */
+ return c == -lsb;
+})
+
+;; Like mask64_operand, but allow up to three transitions. This
;; predicate is used by insn patterns that generate two rldicl or
;; rldicr machine insns.
(define_predicate "mask64_2_operand"
(match_code "const_int")
{
- return mask64_1or2_operand (op, mode, false);
+ HOST_WIDE_INT c, lsb;
+
+ c = INTVAL (op);
+
+ /* Disallow all zeros. */
+ if (c == 0)
+ return 0;
+
+ /* We don't change the number of transitions by inverting,
+ so make sure we start with the LS bit zero. */
+ if (c & 1)
+ c = ~c;
+
+ /* Find the first transition. */
+ lsb = c & -c;
+
+ /* Invert to look for a second transition. */
+ c = ~c;
+
+ /* Erase first transition. */
+ c &= -lsb;
+
+ /* Find the second transition. */
+ lsb = c & -c;
+
+ /* Invert to look for a third transition. */
+ c = ~c;
+
+ /* Erase second transition. */
+ c &= -lsb;
+
+ /* Find the third transition (if any). */
+ lsb = c & -c;
+
+ /* Match if all the bits above are 1's (or c is zero). */
+ return c == -lsb;
})
;; Like and_operand, but also match constants that can be implemented
;; with two rldicl or rldicr insns.
(define_predicate "and64_2_operand"
- (ior (and (match_code "const_int")
- (match_test "mask64_1or2_operand (op, mode, true)"))
+ (ior (match_operand 0 "mask64_2_operand")
(if_then_else (match_test "fixed_regs[CR0_REGNO]")
(match_operand 0 "gpc_reg_operand")
(match_operand 0 "logical_operand"))))
@@ -525,9 +605,11 @@
;; constant that can be used as the operand of a logical AND.
(define_predicate "and_operand"
(ior (match_operand 0 "mask_operand")
- (if_then_else (match_test "fixed_regs[CR0_REGNO]")
- (match_operand 0 "gpc_reg_operand")
- (match_operand 0 "logical_operand"))))
+ (ior (and (match_test "TARGET_POWERPC64 && mode == DImode")
+ (match_operand 0 "mask64_operand"))
+ (if_then_else (match_test "fixed_regs[CR0_REGNO]")
+ (match_operand 0 "gpc_reg_operand")
+ (match_operand 0 "logical_operand")))))
;; Return 1 if the operand is either a logical operand or a short cint operand.
(define_predicate "scc_eq_operand"
@@ -691,6 +773,10 @@
(define_predicate "boolean_or_operator"
(match_code "ior,xor"))
+;; Return true if operand is an equality operator.
+(define_special_predicate "equality_operator"
+ (match_code "eq,ne"))
+
;; Return true if operand is MIN or MAX operator.
(define_predicate "min_max_operator"
(match_code "smin,smax,umin,umax"))
diff --git a/gcc/config/rs6000/rs6000-protos.h b/gcc/config/rs6000/rs6000-protos.h
index 2103e60f83c..b946c90d939 100644
--- a/gcc/config/rs6000/rs6000-protos.h
+++ b/gcc/config/rs6000/rs6000-protos.h
@@ -34,7 +34,6 @@ extern void rs6000_va_start (tree, rtx);
extern int easy_vector_same (rtx, enum machine_mode);
extern int easy_vector_splat_const (int, enum machine_mode);
-extern int mask64_1or2_operand (rtx, enum machine_mode, bool);
extern bool macho_lo_sum_memory_operand (rtx, enum machine_mode);
extern int num_insns_constant (rtx, enum machine_mode);
extern int num_insns_constant_wide (HOST_WIDE_INT);
@@ -45,11 +44,15 @@ extern void validate_condition_mode (enum rtx_code, enum machine_mode);
extern bool legitimate_constant_pool_address_p (rtx);
extern bool legitimate_indirect_address_p (rtx, int);
extern bool rs6000_legitimate_offset_address_p (enum machine_mode, rtx, int);
+extern bool rs6000_legitimate_small_data_p (enum machine_mode, rtx);
extern rtx rs6000_got_register (rtx);
extern rtx find_addr_reg (rtx);
extern rtx gen_easy_vector_constant_add_self (rtx);
extern const char *output_vec_const_move (rtx *);
+extern void rs6000_expand_vector_init (rtx, rtx);
+extern void rs6000_expand_vector_set (rtx, rtx, int);
+extern void rs6000_expand_vector_extract (rtx, rtx, int);
extern void build_mask64_2_operands (rtx, rtx *);
extern int expand_block_clear (rtx[]);
extern int expand_block_move (rtx[]);
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 432fee78ef3..43c053288a5 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -584,7 +584,6 @@ static unsigned toc_hash_function (const void *);
static int toc_hash_eq (const void *, const void *);
static int constant_pool_expr_1 (rtx, int *, int *);
static bool constant_pool_expr_p (rtx);
-static bool legitimate_small_data_p (enum machine_mode, rtx);
static bool legitimate_indexed_address_p (rtx, int);
static bool legitimate_lo_sum_address_p (enum machine_mode, rtx, int);
static struct machine_function * rs6000_init_machine_status (void);
@@ -684,6 +683,10 @@ static rtx altivec_expand_predicate_builtin (enum insn_code,
const char *, tree, rtx);
static rtx altivec_expand_lv_builtin (enum insn_code, tree, rtx);
static rtx altivec_expand_stv_builtin (enum insn_code, tree);
+static rtx altivec_expand_vec_init_builtin (tree, tree, rtx);
+static rtx altivec_expand_vec_set_builtin (tree);
+static rtx altivec_expand_vec_ext_builtin (tree, rtx);
+static int get_element_number (tree, tree);
static bool rs6000_handle_option (size_t, const char *, int);
static void rs6000_parse_tls_size_option (void);
static void rs6000_parse_yes_no_option (const char *, const char *, int *);
@@ -1971,13 +1974,13 @@ int
num_insns_constant (rtx op, enum machine_mode mode)
{
HOST_WIDE_INT low, high;
-
+
switch (GET_CODE (op))
{
case CONST_INT:
#if HOST_BITS_PER_WIDE_INT == 64
if ((INTVAL (op) >> 31) != 0 && (INTVAL (op) >> 31) != -1
- && mask_operand (op, mode))
+ && mask64_operand (op, mode))
return 2;
else
#endif
@@ -1988,7 +1991,7 @@ num_insns_constant (rtx op, enum machine_mode mode)
{
long l;
REAL_VALUE_TYPE rv;
-
+
REAL_VALUE_FROM_CONST_DOUBLE (rv, op);
REAL_VALUE_TO_TARGET_SINGLE (rv, l);
return num_insns_constant_wide ((HOST_WIDE_INT) l);
@@ -2003,7 +2006,7 @@ num_insns_constant (rtx op, enum machine_mode mode)
{
long l[2];
REAL_VALUE_TYPE rv;
-
+
REAL_VALUE_FROM_CONST_DOUBLE (rv, op);
REAL_VALUE_TO_TARGET_DOUBLE (rv, l);
high = l[WORDS_BIG_ENDIAN == 0];
@@ -2018,18 +2021,18 @@ num_insns_constant (rtx op, enum machine_mode mode)
if ((high == 0 && low >= 0)
|| (high == -1 && low < 0))
return num_insns_constant_wide (low);
-
- else if (mask_operand (op, mode))
+
+ else if (mask64_operand (op, mode))
return 2;
-
+
else if (low == 0)
return num_insns_constant_wide (high) + 1;
-
+
else
return (num_insns_constant_wide (high)
+ num_insns_constant_wide (low) + 1);
}
-
+
default:
gcc_unreachable ();
}
@@ -2124,7 +2127,7 @@ output_vec_const_move (rtx *operands)
return "vxor %0,%0,%0";
gcc_assert (easy_vector_constant (vec, mode));
-
+
operands[1] = GEN_INT (cst);
switch (mode)
{
@@ -2158,14 +2161,14 @@ output_vec_const_move (rtx *operands)
}
else if (EASY_VECTOR_15_ADD_SELF (cst))
return "#";
-
+
default:
gcc_unreachable ();
}
}
gcc_assert (TARGET_SPE);
-
+
/* Vector constant 0 is handled as a splitter of V2SI, and in the
pattern of V1DI, V4HI, and V2SF.
@@ -2179,59 +2182,168 @@ output_vec_const_move (rtx *operands)
return "li %0,%1\n\tevmergelo %0,%0,%0\n\tli %0,%2";
}
-int
-mask64_1or2_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED,
- bool allow_one)
-{
- if (GET_CODE (op) == CONST_INT)
+/* Initialize vector TARGET to VALS. */
+
+void
+rs6000_expand_vector_init (rtx target, rtx vals)
+{
+ enum machine_mode mode = GET_MODE (target);
+ enum machine_mode inner_mode = GET_MODE_INNER (mode);
+ int n_elts = GET_MODE_NUNITS (mode);
+ int n_var = 0, one_var = -1;
+ bool all_same = true, all_const_zero = true;
+ rtx x, mem;
+ int i;
+
+ for (i = 0; i < n_elts; ++i)
{
- HOST_WIDE_INT c, lsb;
- bool one_ok;
-
- c = INTVAL (op);
+ x = XVECEXP (vals, 0, i);
+ if (!CONSTANT_P (x))
+ ++n_var, one_var = i;
+ else if (x != CONST0_RTX (inner_mode))
+ all_const_zero = false;
- /* Disallow all zeros. */
- if (c == 0)
- return 0;
+ if (i > 0 && !rtx_equal_p (x, XVECEXP (vals, 0, 0)))
+ all_same = false;
+ }
- /* We can use a single rlwinm insn if no upper bits of C are set
- AND there are zero, one or two transitions in the _whole_ of
- C. */
- one_ok = !(c & ~(HOST_WIDE_INT)0xffffffff);
-
- /* We don't change the number of transitions by inverting,
- so make sure we start with the LS bit zero. */
- if (c & 1)
- c = ~c;
-
- /* Find the first transition. */
- lsb = c & -c;
+ if (n_var == 0)
+ {
+ if (mode != V4SFmode && all_const_zero)
+ {
+ /* Zero register. */
+ emit_insn (gen_rtx_SET (VOIDmode, target,
+ gen_rtx_XOR (mode, target, target)));
+ return;
+ }
+ else if (mode != V4SFmode && easy_vector_same (vals, mode))
+ {
+ /* Splat immediate. */
+ x = gen_rtx_VEC_DUPLICATE (mode, CONST_VECTOR_ELT (vals, 0));
+ emit_insn (gen_rtx_SET (VOIDmode, target, x));
+ return;
+ }
+ else if (all_same)
+ ; /* Splat vector element. */
+ else
+ {
+ /* Load from constant pool. */
+ emit_move_insn (target, gen_rtx_CONST_VECTOR (mode, XVEC (vals, 0)));
+ return;
+ }
+ }
- /* Invert to look for a second transition. */
- c = ~c;
+ /* Store value to stack temp. Load vector element. Splat. */
+ if (all_same)
+ {
+ mem = assign_stack_temp (mode, GET_MODE_SIZE (inner_mode), 0);
+ emit_move_insn (adjust_address_nv (mem, inner_mode, 0),
+ XVECEXP (vals, 0, 0));
+ x = gen_rtx_UNSPEC (VOIDmode,
+ gen_rtvec (1, const0_rtx), UNSPEC_LVE);
+ emit_insn (gen_rtx_PARALLEL (VOIDmode,
+ gen_rtvec (2,
+ gen_rtx_SET (VOIDmode,
+ target, mem),
+ x)));
+ x = gen_rtx_VEC_SELECT (inner_mode, target,
+ gen_rtx_PARALLEL (VOIDmode,
+ gen_rtvec (1, const0_rtx)));
+ emit_insn (gen_rtx_SET (VOIDmode, target,
+ gen_rtx_VEC_DUPLICATE (mode, x)));
+ return;
+ }
- /* Erase first transition. */
- c &= -lsb;
+ /* One field is non-constant. Load constant then overwrite
+ varying field. */
+ if (n_var == 1)
+ {
+ rtx copy = copy_rtx (vals);
- /* Find the second transition. */
- lsb = c & -c;
+ /* Load constant part of vector, substititute neighboring value for
+ varying element. */
+ XVECEXP (copy, 0, one_var) = XVECEXP (vals, 0, (one_var + 1) % n_elts);
+ rs6000_expand_vector_init (target, copy);
- /* Invert to look for a third transition. */
- c = ~c;
+ /* Insert variable. */
+ rs6000_expand_vector_set (target, XVECEXP (vals, 0, one_var), one_var);
+ return;
+ }
- /* Erase second transition. */
- c &= -lsb;
+ /* Construct the vector in memory one field at a time
+ and load the whole vector. */
+ mem = assign_stack_temp (mode, GET_MODE_SIZE (mode), 0);
+ for (i = 0; i < n_elts; i++)
+ emit_move_insn (adjust_address_nv (mem, inner_mode,
+ i * GET_MODE_SIZE (inner_mode)),
+ XVECEXP (vals, 0, i));
+ emit_move_insn (target, mem);
+}
- if (one_ok && !(allow_one || c))
- return 0;
+/* Set field ELT of TARGET to VAL. */
- /* Find the third transition (if any). */
- lsb = c & -c;
+void
+rs6000_expand_vector_set (rtx target, rtx val, int elt)
+{
+ enum machine_mode mode = GET_MODE (target);
+ enum machine_mode inner_mode = GET_MODE_INNER (mode);
+ rtx reg = gen_reg_rtx (mode);
+ rtx mask, mem, x;
+ int width = GET_MODE_SIZE (inner_mode);
+ int i;
- /* Match if all the bits above are 1's (or c is zero). */
- return c == -lsb;
- }
- return 0;
+ /* Load single variable value. */
+ mem = assign_stack_temp (mode, GET_MODE_SIZE (inner_mode), 0);
+ emit_move_insn (adjust_address_nv (mem, inner_mode, 0), val);
+ x = gen_rtx_UNSPEC (VOIDmode,
+ gen_rtvec (1, const0_rtx), UNSPEC_LVE);
+ emit_insn (gen_rtx_PARALLEL (VOIDmode,
+ gen_rtvec (2,
+ gen_rtx_SET (VOIDmode,
+ reg, mem),
+ x)));
+
+ /* Linear sequence. */
+ mask = gen_rtx_PARALLEL (V16QImode, rtvec_alloc (16));
+ for (i = 0; i < 16; ++i)
+ XVECEXP (mask, 0, i) = GEN_INT (i);
+
+ /* Set permute mask to insert element into target. */
+ for (i = 0; i < width; ++i)
+ XVECEXP (mask, 0, elt*width + i)
+ = GEN_INT (i + 0x10);
+ x = gen_rtx_CONST_VECTOR (V16QImode, XVEC (mask, 0));
+ x = gen_rtx_UNSPEC (mode,
+ gen_rtvec (3, target, reg,
+ force_reg (V16QImode, x)),
+ UNSPEC_VPERM);
+ emit_insn (gen_rtx_SET (VOIDmode, target, x));
+}
+
+/* Extract field ELT from VEC into TARGET. */
+
+void
+rs6000_expand_vector_extract (rtx target, rtx vec, int elt)
+{
+ enum machine_mode mode = GET_MODE (vec);
+ enum machine_mode inner_mode = GET_MODE_INNER (mode);
+ rtx mem, x;
+
+ /* Allocate mode-sized buffer. */
+ mem = assign_stack_temp (mode, GET_MODE_SIZE (mode), 0);
+
+ /* Add offset to field within buffer matching vector element. */
+ mem = adjust_address_nv (mem, mode, elt * GET_MODE_SIZE (inner_mode));
+
+ /* Store single field into mode-sized buffer. */
+ x = gen_rtx_UNSPEC (VOIDmode,
+ gen_rtvec (1, const0_rtx), UNSPEC_STVE);
+ emit_insn (gen_rtx_PARALLEL (VOIDmode,
+ gen_rtvec (2,
+ gen_rtx_SET (VOIDmode,
+ mem, vec),
+ x)));
+ emit_move_insn (target, adjust_address_nv (mem, inner_mode, 0));
}
/* Generates shifts and masks for a pair of rldicl or rldicr insns to
@@ -2333,7 +2445,7 @@ rs6000_special_round_type_align (tree type, int computed, int specified)
{
tree field = TYPE_FIELDS (type);
- /* Skip all non field decls */
+ /* Skip all non field decls */
while (field != NULL && TREE_CODE (field) != FIELD_DECL)
field = TREE_CHAIN (field);
@@ -2463,8 +2575,8 @@ legitimate_constant_pool_address_p (rtx x)
&& constant_pool_expr_p (XEXP (x, 1)));
}
-static bool
-legitimate_small_data_p (enum machine_mode mode, rtx x)
+bool
+rs6000_legitimate_small_data_p (enum machine_mode mode, rtx x)
{
return (DEFAULT_ABI == ABI_V4
&& !flag_pic && !TARGET_TOC
@@ -2499,10 +2611,10 @@ rs6000_legitimate_offset_address_p (enum machine_mode mode, rtx x, int strict)
case V8HImode:
case V4SFmode:
case V4SImode:
- /* AltiVec vector modes. Only reg+reg addressing is valid here,
- which leaves the only valid constant offset of zero, which by
- canonicalization rules is also invalid. */
- return false;
+ /* AltiVec vector modes. Only reg+reg addressing is valid and
+ constant offset zero should not occur due to canonicalization.
+ Allow any offset when not strict before reload. */
+ return !strict;
case V4HImode:
case V2SImode:
@@ -3164,6 +3276,23 @@ rs6000_legitimize_reload_address (rtx x, enum machine_mode mode,
}
#endif
+ /* Reload an offset address wrapped by an AND that represents the
+ masking of the lower bits. Strip the outer AND and let reload
+ convert the offset address into an indirect address. */
+ if (TARGET_ALTIVEC
+ && ALTIVEC_VECTOR_MODE (mode)
+ && GET_CODE (x) == AND
+ && GET_CODE (XEXP (x, 0)) == PLUS
+ && GET_CODE (XEXP (XEXP (x, 0), 0)) == REG
+ && GET_CODE (XEXP (XEXP (x, 0), 1)) == CONST_INT
+ && GET_CODE (XEXP (x, 1)) == CONST_INT
+ && INTVAL (XEXP (x, 1)) == -16)
+ {
+ x = XEXP (x, 0);
+ *win = 1;
+ return x;
+ }
+
if (TARGET_TOC
&& constant_pool_expr_p (x)
&& ASM_OUTPUT_SPECIAL_POOL_ENTRY_P (get_pool_constant (x), mode))
@@ -3216,7 +3345,7 @@ rs6000_legitimate_address (enum machine_mode mode, rtx x, int reg_ok_strict)
&& TARGET_UPDATE
&& legitimate_indirect_address_p (XEXP (x, 0), reg_ok_strict))
return 1;
- if (legitimate_small_data_p (mode, x))
+ if (rs6000_legitimate_small_data_p (mode, x))
return 1;
if (legitimate_constant_pool_address_p (x))
return 1;
@@ -3406,10 +3535,10 @@ rs6000_emit_set_const (rtx dest, enum machine_mode mode,
dest = gen_reg_rtx (mode);
emit_insn (gen_rtx_SET (VOIDmode, dest, source));
return dest;
-
+
case SImode:
result = no_new_pseudos ? dest : gen_reg_rtx (SImode);
-
+
emit_insn (gen_rtx_SET (VOIDmode, result,
GEN_INT (INTVAL (source)
& (~ (HOST_WIDE_INT) 0xffff))));
@@ -3426,7 +3555,7 @@ rs6000_emit_set_const (rtx dest, enum machine_mode mode,
c0 = INTVAL (source);
c1 = -(c0 < 0);
break;
-
+
case CONST_DOUBLE:
#if HOST_BITS_PER_WIDE_INT >= 64
c0 = CONST_DOUBLE_LOW (source);
@@ -3590,7 +3719,7 @@ rs6000_emit_move (rtx dest, rtx source, enum machine_mode mode)
|| CONST_DOUBLE_LOW (operands[1]) < 0)
&& (CONST_DOUBLE_HIGH (operands[1]) != -1
|| CONST_DOUBLE_LOW (operands[1]) >= 0)));
-
+
/* Check if GCC is setting up a block move that will end up using FP
registers as temporaries. We must make sure this is acceptable. */
if (GET_CODE (operands[0]) == MEM
@@ -4381,7 +4510,7 @@ function_arg_advance (CUMULATIVE_ARGS *cum, enum machine_mode mode,
grovel through the fields for these too. */
cum->intoffset = 0;
rs6000_darwin64_record_arg_advance_recurse (cum, type, 0);
- rs6000_darwin64_record_arg_advance_flush (cum,
+ rs6000_darwin64_record_arg_advance_flush (cum,
size * BITS_PER_UNIT);
}
}
@@ -4543,7 +4672,7 @@ rs6000_spe_function_arg (CUMULATIVE_ARGS *cum, enum machine_mode mode,
structure between cum->intoffset and bitpos to integer registers. */
static void
-rs6000_darwin64_record_arg_flush (CUMULATIVE_ARGS *cum,
+rs6000_darwin64_record_arg_flush (CUMULATIVE_ARGS *cum,
HOST_WIDE_INT bitpos, rtx rvec[], int *k)
{
enum machine_mode mode;
@@ -4587,7 +4716,7 @@ rs6000_darwin64_record_arg_flush (CUMULATIVE_ARGS *cum,
if (intregs > 0 && intregs > GP_ARG_NUM_REG - this_regno)
cum->use_stack = 1;
-
+
intregs = MIN (intregs, GP_ARG_NUM_REG - this_regno);
if (intregs <= 0)
return;
@@ -4611,7 +4740,7 @@ rs6000_darwin64_record_arg_flush (CUMULATIVE_ARGS *cum,
/* Recursive workhorse for the following. */
static void
-rs6000_darwin64_record_arg_recurse (CUMULATIVE_ARGS *cum, tree type,
+rs6000_darwin64_record_arg_recurse (CUMULATIVE_ARGS *cum, tree type,
HOST_WIDE_INT startbitpos, rtx rvec[],
int *k)
{
@@ -4645,7 +4774,7 @@ rs6000_darwin64_record_arg_recurse (CUMULATIVE_ARGS *cum, tree type,
#endif
rs6000_darwin64_record_arg_flush (cum, bitpos, rvec, k);
rvec[(*k)++]
- = gen_rtx_EXPR_LIST (VOIDmode,
+ = gen_rtx_EXPR_LIST (VOIDmode,
gen_rtx_REG (mode, cum->fregno++),
GEN_INT (bitpos / BITS_PER_UNIT));
if (mode == TFmode)
@@ -4655,8 +4784,8 @@ rs6000_darwin64_record_arg_recurse (CUMULATIVE_ARGS *cum, tree type,
{
rs6000_darwin64_record_arg_flush (cum, bitpos, rvec, k);
rvec[(*k)++]
- = gen_rtx_EXPR_LIST (VOIDmode,
- gen_rtx_REG (mode, cum->vregno++),
+ = gen_rtx_EXPR_LIST (VOIDmode,
+ gen_rtx_REG (mode, cum->vregno++),
GEN_INT (bitpos / BITS_PER_UNIT));
}
else if (cum->intoffset == -1)
@@ -4669,12 +4798,12 @@ rs6000_darwin64_record_arg_recurse (CUMULATIVE_ARGS *cum, tree type,
being passed by value, along with the offset of where the
register's value may be found in the block. FP fields go in FP
register, vector fields go in vector registers, and everything
- else goes in int registers, packed as in memory.
+ else goes in int registers, packed as in memory.
This code is also used for function return values. RETVAL indicates
whether this is the case.
- Much of this is taken from the Sparc V9 port, which has a similar
+ Much of this is taken from the SPARC V9 port, which has a similar
calling convention. */
static rtx
@@ -4812,9 +4941,10 @@ function_arg (CUMULATIVE_ARGS *cum, enum machine_mode mode,
if (mode == VOIDmode)
{
if (abi == ABI_V4
- && cum->nargs_prototype < 0
&& (cum->call_cookie & CALL_LIBCALL) == 0
- && (cum->prototype || TARGET_NO_PROTOTYPE))
+ && (cum->stdarg
+ || (cum->nargs_prototype < 0
+ && (cum->prototype || TARGET_NO_PROTOTYPE))))
{
/* For the SPE, we need to crxor CR6 always. */
if (TARGET_SPE_ABI)
@@ -5081,7 +5211,7 @@ rs6000_arg_partial_bytes (CUMULATIVE_ARGS *cum, enum machine_mode mode,
/* If we are passing this arg in the fixed parameter save area
(gprs or memory) as well as fprs, then this function should
return the number of bytes passed in the parameter save area
- rather than bytes passed in fprs. */
+ rather than bytes passed in fprs. */
&& !(type
&& (cum->nargs_prototype <= 0
|| (DEFAULT_ABI == ABI_AIX
@@ -5329,7 +5459,8 @@ setup_incoming_varargs (CUMULATIVE_ARGS *cum, enum machine_mode mode,
mem = gen_rtx_MEM (BLKmode,
plus_constant (save_area,
- first_reg_offset * reg_size)),
+ first_reg_offset * reg_size));
+ MEM_NOTRAP_P (mem) = 1;
set_mem_alias_set (mem, set);
set_mem_align (mem, BITS_PER_WORD);
@@ -5364,6 +5495,7 @@ setup_incoming_varargs (CUMULATIVE_ARGS *cum, enum machine_mode mode,
fregno++, off += UNITS_PER_FP_WORD, nregs++)
{
mem = gen_rtx_MEM (DFmode, plus_constant (save_area, off));
+ MEM_NOTRAP_P (mem) = 1;
set_mem_alias_set (mem, set);
set_mem_align (mem, GET_MODE_ALIGNMENT (DFmode));
emit_move_insn (mem, gen_rtx_REG (DFmode, fregno));
@@ -6883,6 +7015,111 @@ altivec_expand_dst_builtin (tree exp, rtx target ATTRIBUTE_UNUSED,
return NULL_RTX;
}
+/* Expand vec_init builtin. */
+static rtx
+altivec_expand_vec_init_builtin (tree type, tree arglist, rtx target)
+{
+ enum machine_mode tmode = TYPE_MODE (type);
+ enum machine_mode inner_mode = GET_MODE_INNER (tmode);
+ int i, n_elt = GET_MODE_NUNITS (tmode);
+ rtvec v = rtvec_alloc (n_elt);
+
+ gcc_assert (VECTOR_MODE_P (tmode));
+
+ for (i = 0; i < n_elt; ++i, arglist = TREE_CHAIN (arglist))
+ {
+ rtx x = expand_expr (TREE_VALUE (arglist), NULL_RTX, VOIDmode, 0);
+ RTVEC_ELT (v, i) = gen_lowpart (inner_mode, x);
+ }
+
+ gcc_assert (arglist == NULL);
+
+ if (!target || !register_operand (target, tmode))
+ target = gen_reg_rtx (tmode);
+
+ rs6000_expand_vector_init (target, gen_rtx_PARALLEL (tmode, v));
+ return target;
+}
+
+/* Return the integer constant in ARG. Constrain it to be in the range
+ of the subparts of VEC_TYPE; issue an error if not. */
+
+static int
+get_element_number (tree vec_type, tree arg)
+{
+ unsigned HOST_WIDE_INT elt, max = TYPE_VECTOR_SUBPARTS (vec_type) - 1;
+
+ if (!host_integerp (arg, 1)
+ || (elt = tree_low_cst (arg, 1), elt > max))
+ {
+ error ("selector must be an integer constant in the range 0..%wi", max);
+ return 0;
+ }
+
+ return elt;
+}
+
+/* Expand vec_set builtin. */
+static rtx
+altivec_expand_vec_set_builtin (tree arglist)
+{
+ enum machine_mode tmode, mode1;
+ tree arg0, arg1, arg2;
+ int elt;
+ rtx op0, op1;
+
+ arg0 = TREE_VALUE (arglist);
+ arg1 = TREE_VALUE (TREE_CHAIN (arglist));
+ arg2 = TREE_VALUE (TREE_CHAIN (TREE_CHAIN (arglist)));
+
+ tmode = TYPE_MODE (TREE_TYPE (arg0));
+ mode1 = TYPE_MODE (TREE_TYPE (TREE_TYPE (arg0)));
+ gcc_assert (VECTOR_MODE_P (tmode));
+
+ op0 = expand_expr (arg0, NULL_RTX, tmode, 0);
+ op1 = expand_expr (arg1, NULL_RTX, mode1, 0);
+ elt = get_element_number (TREE_TYPE (arg0), arg2);
+
+ if (GET_MODE (op1) != mode1 && GET_MODE (op1) != VOIDmode)
+ op1 = convert_modes (mode1, GET_MODE (op1), op1, true);
+
+ op0 = force_reg (tmode, op0);
+ op1 = force_reg (mode1, op1);
+
+ rs6000_expand_vector_set (op0, op1, elt);
+
+ return op0;
+}
+
+/* Expand vec_ext builtin. */
+static rtx
+altivec_expand_vec_ext_builtin (tree arglist, rtx target)
+{
+ enum machine_mode tmode, mode0;
+ tree arg0, arg1;
+ int elt;
+ rtx op0;
+
+ arg0 = TREE_VALUE (arglist);
+ arg1 = TREE_VALUE (TREE_CHAIN (arglist));
+
+ op0 = expand_expr (arg0, NULL_RTX, VOIDmode, 0);
+ elt = get_element_number (TREE_TYPE (arg0), arg1);
+
+ tmode = TYPE_MODE (TREE_TYPE (TREE_TYPE (arg0)));
+ mode0 = TYPE_MODE (TREE_TYPE (arg0));
+ gcc_assert (VECTOR_MODE_P (mode0));
+
+ op0 = force_reg (mode0, op0);
+
+ if (optimize || !target || !register_operand (target, tmode))
+ target = gen_reg_rtx (tmode);
+
+ rs6000_expand_vector_extract (target, op0, elt);
+
+ return target;
+}
+
/* Expand the builtin in EXP and store the result in TARGET. Store
true in *EXPANDEDP if we found a builtin to expand. */
static rtx
@@ -6994,6 +7231,28 @@ altivec_expand_builtin (tree exp, rtx target, bool *expandedp)
emit_insn (gen_altivec_dss (op0));
return NULL_RTX;
+
+ case ALTIVEC_BUILTIN_VEC_INIT_V4SI:
+ case ALTIVEC_BUILTIN_VEC_INIT_V8HI:
+ case ALTIVEC_BUILTIN_VEC_INIT_V16QI:
+ case ALTIVEC_BUILTIN_VEC_INIT_V4SF:
+ return altivec_expand_vec_init_builtin (TREE_TYPE (exp), arglist, target);
+
+ case ALTIVEC_BUILTIN_VEC_SET_V4SI:
+ case ALTIVEC_BUILTIN_VEC_SET_V8HI:
+ case ALTIVEC_BUILTIN_VEC_SET_V16QI:
+ case ALTIVEC_BUILTIN_VEC_SET_V4SF:
+ return altivec_expand_vec_set_builtin (arglist);
+
+ case ALTIVEC_BUILTIN_VEC_EXT_V4SI:
+ case ALTIVEC_BUILTIN_VEC_EXT_V8HI:
+ case ALTIVEC_BUILTIN_VEC_EXT_V16QI:
+ case ALTIVEC_BUILTIN_VEC_EXT_V4SF:
+ return altivec_expand_vec_ext_builtin (arglist, target);
+
+ default:
+ break;
+ /* Fall through. */
}
/* Expand abs* operations. */
@@ -7441,13 +7700,13 @@ rs6000_expand_builtin (tree exp, rtx target, rtx subtarget ATTRIBUTE_UNUSED,
}
gcc_assert (TARGET_ALTIVEC || TARGET_SPE);
-
+
/* Handle simple unary operations. */
d = (struct builtin_description *) bdesc_1arg;
for (i = 0; i < ARRAY_SIZE (bdesc_1arg); i++, d++)
if (d->code == fcode)
return rs6000_expand_unop_builtin (d->icode, arglist, target);
-
+
/* Handle simple binary operations. */
d = (struct builtin_description *) bdesc_2arg;
for (i = 0; i < ARRAY_SIZE (bdesc_2arg); i++, d++)
@@ -7459,7 +7718,7 @@ rs6000_expand_builtin (tree exp, rtx target, rtx subtarget ATTRIBUTE_UNUSED,
for (i = 0; i < ARRAY_SIZE (bdesc_3arg); i++, d++)
if (d->code == fcode)
return rs6000_expand_ternop_builtin (d->icode, arglist, target);
-
+
gcc_unreachable ();
}
@@ -7827,6 +8086,8 @@ altivec_init_builtins (void)
struct builtin_description *d;
struct builtin_description_predicates *dp;
size_t i;
+ tree ftype;
+
tree pfloat_type_node = build_pointer_type (float_type_node);
tree pint_type_node = build_pointer_type (integer_type_node);
tree pshort_type_node = build_pointer_type (short_integer_type_node);
@@ -8092,6 +8353,88 @@ altivec_init_builtins (void)
/* Record the decl. Will be used by rs6000_builtin_mask_for_load. */
altivec_builtin_mask_for_load = decl;
}
+
+ /* Access to the vec_init patterns. */
+ ftype = build_function_type_list (V4SI_type_node, integer_type_node,
+ integer_type_node, integer_type_node,
+ integer_type_node, NULL_TREE);
+ def_builtin (MASK_ALTIVEC, "__builtin_vec_init_v4si", ftype,
+ ALTIVEC_BUILTIN_VEC_INIT_V4SI);
+
+ ftype = build_function_type_list (V8HI_type_node, short_integer_type_node,
+ short_integer_type_node,
+ short_integer_type_node,
+ short_integer_type_node,
+ short_integer_type_node,
+ short_integer_type_node,
+ short_integer_type_node,
+ short_integer_type_node, NULL_TREE);
+ def_builtin (MASK_ALTIVEC, "__builtin_vec_init_v8hi", ftype,
+ ALTIVEC_BUILTIN_VEC_INIT_V8HI);
+
+ ftype = build_function_type_list (V16QI_type_node, char_type_node,
+ char_type_node, char_type_node,
+ char_type_node, char_type_node,
+ char_type_node, char_type_node,
+ char_type_node, char_type_node,
+ char_type_node, char_type_node,
+ char_type_node, char_type_node,
+ char_type_node, char_type_node,
+ char_type_node, NULL_TREE);
+ def_builtin (MASK_ALTIVEC, "__builtin_vec_init_v16qi", ftype,
+ ALTIVEC_BUILTIN_VEC_INIT_V16QI);
+
+ ftype = build_function_type_list (V4SF_type_node, float_type_node,
+ float_type_node, float_type_node,
+ float_type_node, NULL_TREE);
+ def_builtin (MASK_ALTIVEC, "__builtin_vec_init_v4sf", ftype,
+ ALTIVEC_BUILTIN_VEC_INIT_V4SF);
+
+ /* Access to the vec_set patterns. */
+ ftype = build_function_type_list (V4SI_type_node, V4SI_type_node,
+ intSI_type_node,
+ integer_type_node, NULL_TREE);
+ def_builtin (MASK_ALTIVEC, "__builtin_vec_set_v4si", ftype,
+ ALTIVEC_BUILTIN_VEC_SET_V4SI);
+
+ ftype = build_function_type_list (V8HI_type_node, V8HI_type_node,
+ intHI_type_node,
+ integer_type_node, NULL_TREE);
+ def_builtin (MASK_ALTIVEC, "__builtin_vec_set_v8hi", ftype,
+ ALTIVEC_BUILTIN_VEC_SET_V8HI);
+
+ ftype = build_function_type_list (V8HI_type_node, V16QI_type_node,
+ intQI_type_node,
+ integer_type_node, NULL_TREE);
+ def_builtin (MASK_ALTIVEC, "__builtin_vec_set_v16qi", ftype,
+ ALTIVEC_BUILTIN_VEC_SET_V16QI);
+
+ ftype = build_function_type_list (V4SF_type_node, V4SF_type_node,
+ float_type_node,
+ integer_type_node, NULL_TREE);
+ def_builtin (MASK_ALTIVEC, "__builtin_vec_set_v4sf", ftype,
+ ALTIVEC_BUILTIN_VEC_SET_V4SF);
+
+ /* Access to the vec_extract patterns. */
+ ftype = build_function_type_list (intSI_type_node, V4SI_type_node,
+ integer_type_node, NULL_TREE);
+ def_builtin (MASK_ALTIVEC, "__builtin_vec_ext_v4si", ftype,
+ ALTIVEC_BUILTIN_VEC_EXT_V4SI);
+
+ ftype = build_function_type_list (intHI_type_node, V8HI_type_node,
+ integer_type_node, NULL_TREE);
+ def_builtin (MASK_ALTIVEC, "__builtin_vec_ext_v8hi", ftype,
+ ALTIVEC_BUILTIN_VEC_EXT_V8HI);
+
+ ftype = build_function_type_list (intQI_type_node, V16QI_type_node,
+ integer_type_node, NULL_TREE);
+ def_builtin (MASK_ALTIVEC, "__builtin_vec_ext_v16qi", ftype,
+ ALTIVEC_BUILTIN_VEC_EXT_V16QI);
+
+ ftype = build_function_type_list (float_type_node, V4SF_type_node,
+ integer_type_node, NULL_TREE);
+ def_builtin (MASK_ALTIVEC, "__builtin_vec_ext_v4sf", ftype,
+ ALTIVEC_BUILTIN_VEC_EXT_V4SF);
}
static void
@@ -8319,7 +8662,7 @@ rs6000_common_init_builtins (void)
mode2 = insn_data[d->icode].operand[2].mode;
mode3 = insn_data[d->icode].operand[3].mode;
}
-
+
/* When all four are of the same mode. */
if (mode0 == mode1 && mode1 == mode2 && mode2 == mode3)
{
@@ -8416,7 +8759,7 @@ rs6000_common_init_builtins (void)
mode2 = VOIDmode;
}
else
- {
+ {
if (d->name == 0 || d->icode == CODE_FOR_nothing)
continue;
@@ -8566,7 +8909,7 @@ rs6000_common_init_builtins (void)
{
if (d->name == 0 || d->icode == CODE_FOR_nothing)
continue;
-
+
mode0 = insn_data[d->icode].operand[0].mode;
mode1 = insn_data[d->icode].operand[1].mode;
}
@@ -8737,7 +9080,7 @@ expand_block_clear (rtx operands[])
clear_bytes = 4;
mode = SImode;
}
- else if (bytes == 2 && (align >= 16 || !STRICT_ALIGNMENT))
+ else if (bytes >= 2 && (align >= 16 || !STRICT_ALIGNMENT))
{ /* move 2 bytes */
clear_bytes = 2;
mode = HImode;
@@ -8873,7 +9216,7 @@ expand_block_move (rtx operands[])
mode = SImode;
gen_func.mov = gen_movsi;
}
- else if (bytes == 2 && (align >= 16 || !STRICT_ALIGNMENT))
+ else if (bytes >= 2 && (align >= 16 || !STRICT_ALIGNMENT))
{ /* move 2 bytes */
move_bytes = 2;
mode = HImode;
@@ -9268,8 +9611,8 @@ int
mems_ok_for_quad_peep (rtx mem1, rtx mem2)
{
rtx addr1, addr2;
- unsigned int reg1;
- int offset1;
+ unsigned int reg1, reg2;
+ int offset1, offset2;
/* The mems cannot be volatile. */
if (MEM_VOLATILE_P (mem1) || MEM_VOLATILE_P (mem2))
@@ -9302,23 +9645,36 @@ mems_ok_for_quad_peep (rtx mem1, rtx mem2)
offset1 = 0;
}
- /* Make sure the second address is a (mem (plus (reg) (const_int)))
- or if it is (mem (reg)) then make sure that offset1 is -8 and the same
- register as addr1. */
- if (offset1 == -8 && GET_CODE (addr2) == REG && reg1 == REGNO (addr2))
- return 1;
- if (GET_CODE (addr2) != PLUS)
- return 0;
-
- if (GET_CODE (XEXP (addr2, 0)) != REG
- || GET_CODE (XEXP (addr2, 1)) != CONST_INT)
+ /* And now for the second addr. */
+ if (GET_CODE (addr2) == PLUS)
+ {
+ /* If not a REG, return zero. */
+ if (GET_CODE (XEXP (addr2, 0)) != REG)
+ return 0;
+ else
+ {
+ reg2 = REGNO (XEXP (addr2, 0));
+ /* The offset must be constant. */
+ if (GET_CODE (XEXP (addr2, 1)) != CONST_INT)
+ return 0;
+ offset2 = INTVAL (XEXP (addr2, 1));
+ }
+ }
+ else if (GET_CODE (addr2) != REG)
return 0;
+ else
+ {
+ reg2 = REGNO (addr2);
+ /* This was a simple (mem (reg)) expression. Offset is 0. */
+ offset2 = 0;
+ }
- if (reg1 != REGNO (XEXP (addr2, 0)))
+ /* Both of these must have the same base register. */
+ if (reg1 != reg2)
return 0;
/* The offset for the second addr must be 8 more than the first addr. */
- if (INTVAL (XEXP (addr2, 1)) != offset1 + 8)
+ if (offset2 != offset1 + 8)
return 0;
/* All the tests passed. addr1 and addr2 are valid for lfq or stfq
@@ -9970,7 +10326,7 @@ print_operand (FILE *file, rtx x, int code)
/* PowerPC64 mask position. All 0's is excluded.
CONST_INT 32-bit mask is considered sign-extended so any
transition must occur within the CONST_INT, not on the boundary. */
- if (! mask_operand (x, DImode))
+ if (! mask64_operand (x, DImode))
output_operand_lossage ("invalid %%S value");
uval = INT_LOWPART (x);
@@ -10238,7 +10594,7 @@ print_operand (FILE *file, rtx x, int code)
{
gcc_assert (GET_CODE (tmp) == PLUS
&& GET_CODE (XEXP (tmp, 1)) == REG);
-
+
if (REGNO (XEXP (tmp, 0)) == 0)
fprintf (file, "%s,%s", reg_names[ REGNO (XEXP (tmp, 1)) ],
reg_names[ REGNO (XEXP (tmp, 0)) ]);
@@ -10539,7 +10895,7 @@ rs6000_generate_compare (enum rtx_code code)
gcc_unreachable ();
}
break;
-
+
case GT: case GTU: case UNGT: case UNGE: case GE: case GEU:
switch (op_mode)
{
@@ -10550,7 +10906,7 @@ rs6000_generate_compare (enum rtx_code code)
: gen_cmpsfgt_gpr (compare_result, rs6000_compare_op0,
rs6000_compare_op1);
break;
-
+
case DFmode:
cmp = flag_unsafe_math_optimizations
? gen_tstdfgt_gpr (compare_result, rs6000_compare_op0,
@@ -10563,7 +10919,7 @@ rs6000_generate_compare (enum rtx_code code)
gcc_unreachable ();
}
break;
-
+
case LT: case LTU: case UNLT: case UNLE: case LE: case LEU:
switch (op_mode)
{
@@ -10574,7 +10930,7 @@ rs6000_generate_compare (enum rtx_code code)
: gen_cmpsflt_gpr (compare_result, rs6000_compare_op0,
rs6000_compare_op1);
break;
-
+
case DFmode:
cmp = flag_unsafe_math_optimizations
? gen_tstdflt_gpr (compare_result, rs6000_compare_op0,
@@ -11198,7 +11554,7 @@ rs6000_emit_vector_select (rtx dest, rtx op1, rtx op2, rtx mask)
temp = gen_reg_rtx (dest_mode);
- /* For each vector element, select op1 when mask is 1 otherwise
+ /* For each vector element, select op1 when mask is 1 otherwise
select op2. */
t = gen_rtx_SET (VOIDmode, temp,
gen_rtx_UNSPEC (dest_mode,
@@ -11488,7 +11844,7 @@ rs6000_emit_minmax (rtx dest, enum rtx_code code, rtx op0, rtx op1)
(set M (CODE:MODE M OP))
If not NULL, BEFORE is atomically set to M before the operation, and
AFTER is set to M after the operation (that is, (CODE:MODE M OP)).
- If SYNC_P then a memory barrier is emitted before the operation.
+ If SYNC_P then a memory barrier is emitted before the operation.
Either OP or M may be wrapped in a NOT operation. */
void
@@ -11502,10 +11858,10 @@ rs6000_emit_sync (enum rtx_code code, enum machine_mode mode,
rtvec vec;
HOST_WIDE_INT imask = GET_MODE_MASK (mode);
rtx shift = NULL_RTX;
-
+
if (sync_p)
emit_insn (gen_memory_barrier ());
-
+
if (GET_CODE (m) == NOT)
used_m = XEXP (m, 0);
else
@@ -11522,14 +11878,14 @@ rs6000_emit_sync (enum rtx_code code, enum machine_mode mode,
int ishift = 0;
if (BYTES_BIG_ENDIAN)
ishift = GET_MODE_BITSIZE (SImode) - GET_MODE_BITSIZE (mode);
-
+
shift = GEN_INT (ishift);
}
else
{
rtx addrSI, aligned_addr;
int shift_mask = mode == QImode ? 0x18 : 0x10;
-
+
addrSI = force_reg (SImode, gen_lowpart_common (SImode,
XEXP (used_m, 0)));
shift = gen_reg_rtx (SImode);
@@ -11582,7 +11938,7 @@ rs6000_emit_sync (enum rtx_code code, enum machine_mode mode,
case MINUS:
{
rtx mask;
-
+
newop = expand_binop (SImode, and_optab,
oldop, GEN_INT (imask), NULL_RTX,
1, OPTAB_LIB_WIDEN);
@@ -11637,7 +11993,7 @@ rs6000_emit_sync (enum rtx_code code, enum machine_mode mode,
if (after == NULL_RTX)
after = gen_reg_rtx (used_mode);
}
-
+
if ((code == PLUS || code == MINUS || GET_CODE (m) == NOT)
&& used_mode != mode)
the_op = op; /* Computed above. */
@@ -11730,7 +12086,7 @@ emit_store_conditional (enum machine_mode mode, rtx res, rtx mem, rtx val)
}
/* Expand an an atomic fetch-and-operate pattern. CODE is the binary operation
- to perform. MEM is the memory on which to operate. VAL is the second
+ to perform. MEM is the memory on which to operate. VAL is the second
operand of the binary operator. BEFORE and AFTER are optional locations to
return the value of MEM either before of after the operation. SCRATCH is
a scratch register. */
@@ -11895,16 +12251,14 @@ rs6000_split_multireg_move (rtx dst, rtx src)
emit_insn (TARGET_32BIT
? gen_addsi3 (breg, breg, delta_rtx)
: gen_adddi3 (breg, breg, delta_rtx));
- src = gen_rtx_MEM (mode, breg);
+ src = replace_equiv_address (src, breg);
}
else if (! offsettable_memref_p (src))
{
- rtx newsrc, basereg;
+ rtx basereg;
basereg = gen_rtx_REG (Pmode, reg);
emit_insn (gen_rtx_SET (VOIDmode, basereg, XEXP (src, 0)));
- newsrc = gen_rtx_MEM (GET_MODE (src), basereg);
- MEM_COPY_ATTRIBUTES (newsrc, src);
- src = newsrc;
+ src = replace_equiv_address (src, basereg);
}
breg = XEXP (src, 0);
@@ -11949,7 +12303,7 @@ rs6000_split_multireg_move (rtx dst, rtx src)
emit_insn (TARGET_32BIT
? gen_addsi3 (breg, breg, delta_rtx)
: gen_adddi3 (breg, breg, delta_rtx));
- dst = gen_rtx_MEM (mode, breg);
+ dst = replace_equiv_address (dst, breg);
}
else
gcc_assert (offsettable_memref_p (dst));
@@ -12982,7 +13336,7 @@ rs6000_emit_load_toc_table (int fromprolog)
else
{
gcc_assert (DEFAULT_ABI == ABI_AIX);
-
+
if (TARGET_32BIT)
insn = emit_insn (gen_load_toc_aix_si (dest));
else
@@ -13384,7 +13738,7 @@ generate_set_vrsave (rtx reg, rs6000_stack_t *info, int epiloguep)
vrsave,
gen_rtx_UNSPEC_VOLATILE (SImode,
gen_rtvec (2, reg, vrsave),
- 30));
+ UNSPECV_SET_VRSAVE));
nclobs = 1;
@@ -17388,7 +17742,7 @@ rs6000_machopic_legitimize_pic_address (rtx orig, enum machine_mode mode,
return orig;
gcc_assert (GET_CODE (XEXP (orig, 0)) == PLUS);
-
+
/* Use a different reg for the intermediate value, as
it will be marked UNCHANGING. */
reg_temp = no_new_pseudos ? reg : gen_reg_rtx (Pmode);
@@ -17397,7 +17751,7 @@ rs6000_machopic_legitimize_pic_address (rtx orig, enum machine_mode mode,
offset =
rs6000_machopic_legitimize_pic_address (XEXP (XEXP (orig, 0), 1),
Pmode, reg);
-
+
if (GET_CODE (offset) == CONST_INT)
{
if (SMALL_INT (offset))
@@ -17826,7 +18180,9 @@ rs6000_rtx_costs (rtx x, int code, int outer_code, int *total)
&& (CONST_OK_FOR_LETTER_P (INTVAL (x), 'K')
|| (CONST_OK_FOR_LETTER_P (INTVAL (x),
mode == SImode ? 'L' : 'J'))
- || mask_operand (x, VOIDmode)))
+ || mask_operand (x, mode)
+ || (mode == DImode
+ && mask64_operand (x, DImode))))
|| ((outer_code == IOR || outer_code == XOR)
&& (CONST_OK_FOR_LETTER_P (INTVAL (x), 'K')
|| (CONST_OK_FOR_LETTER_P (INTVAL (x),
@@ -17878,7 +18234,8 @@ rs6000_rtx_costs (rtx x, int code, int outer_code, int *total)
&& ((outer_code == AND
&& (CONST_OK_FOR_LETTER_P (INTVAL (x), 'K')
|| CONST_OK_FOR_LETTER_P (INTVAL (x), 'L')
- || mask_operand (x, DImode)))
+ || mask_operand (x, DImode)
+ || mask64_operand (x, DImode)))
|| ((outer_code == IOR || outer_code == XOR)
&& CONST_DOUBLE_HIGH (x) == 0
&& (CONST_DOUBLE_LOW (x)
@@ -18611,8 +18968,8 @@ rs6000_vector_mode_supported_p (enum machine_mode mode)
return false;
}
-/* Target hook for invalid_arg_for_unprototyped_fn. */
-static const char *
+/* Target hook for invalid_arg_for_unprototyped_fn. */
+static const char *
invalid_arg_for_unprototyped_fn (tree typelist, tree funcdecl, tree val)
{
return (!rs6000_darwin64_abi
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index b5e1286e51b..679ccee8144 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -1105,28 +1105,32 @@ enum reg_class
'Q' means that is a memory operand that is just an offset from a reg.
'R' is for AIX TOC entries.
- 'S' is a constant that can be placed into a 64-bit mask operand
- 'T' is a constant that can be placed into a 32-bit mask operand
+ 'S' is a constant that can be placed into a 64-bit mask operand.
+ 'T' is a constant that can be placed into a 32-bit mask operand.
'U' is for V.4 small data references.
'W' is a vector constant that can be easily generated (no mem refs).
- 'Y' is a indexed or word-aligned displacement memory operand.
+ 'Y' is an indexed or word-aligned displacement memory operand.
'Z' is an indexed or indirect memory operand.
- 't' is for AND masks that can be performed by two rldic{l,r} insns. */
+ 'a' is an indexed or indirect address operand.
+ 't' is for AND masks that can be performed by two rldic{l,r} insns
+ (but excluding those that could match other constraints of anddi3.) */
#define EXTRA_CONSTRAINT(OP, C) \
((C) == 'Q' ? GET_CODE (OP) == MEM && GET_CODE (XEXP (OP, 0)) == REG \
: (C) == 'R' ? legitimate_constant_pool_address_p (OP) \
- : (C) == 'S' ? mask_operand (OP, DImode) \
- : (C) == 'T' ? mask_operand (OP, SImode) \
+ : (C) == 'S' ? mask64_operand (OP, DImode) \
+ : (C) == 'T' ? mask_operand (OP, GET_MODE (OP)) \
: (C) == 'U' ? (DEFAULT_ABI == ABI_V4 \
&& small_data_operand (OP, GET_MODE (OP))) \
: (C) == 't' ? (mask64_2_operand (OP, DImode) \
&& (fixed_regs[CR0_REGNO] \
|| !logical_operand (OP, DImode)) \
- && !mask_operand (OP, DImode)) \
+ && !mask_operand (OP, DImode) \
+ && !mask64_operand (OP, DImode)) \
: (C) == 'W' ? (easy_vector_constant (OP, GET_MODE (OP))) \
: (C) == 'Y' ? (word_offset_memref_operand (OP, GET_MODE (OP))) \
: (C) == 'Z' ? (indexed_or_indirect_operand (OP, GET_MODE (OP))) \
+ : (C) == 'a' ? (indexed_or_indirect_address (OP, GET_MODE (OP))) \
: 0)
/* Define which constraints are memory constraints. Tell reload
@@ -1136,6 +1140,12 @@ enum reg_class
#define EXTRA_MEMORY_CONSTRAINT(C, STR) \
((C) == 'Q' || (C) == 'Y' || (C) == 'Z')
+/* Define which constraints should be treated like address constraints
+ by the reload pass. */
+
+#define EXTRA_ADDRESS_CONSTRAINT(C, STR) \
+ ((C) == 'a')
+
/* Given an rtx X being reloaded into a reg required to be
in class CLASS, return the class of reg to actually use.
In general this is just CLASS; but on some machines
@@ -1227,7 +1237,7 @@ extern enum rs6000_abi rs6000_current_abi; /* available for use by subtarget */
/* Offsets recorded in opcodes are a multiple of this alignment factor. */
#define DWARF_CIE_DATA_ALIGNMENT (-((int) (TARGET_32BIT ? 4 : 8)))
-/* Define this to non-zero if the nominal address of the stack frame
+/* Define this to nonzero if the nominal address of the stack frame
is at the high-address end of the local variables;
that is, each additional local variable allocated
goes at a more negative offset in the frame.
@@ -2490,6 +2500,18 @@ enum rs6000_builtins
ALTIVEC_BUILTIN_ABS_V16QI,
ALTIVEC_BUILTIN_MASK_FOR_LOAD,
ALTIVEC_BUILTIN_MASK_FOR_STORE,
+ ALTIVEC_BUILTIN_VEC_INIT_V4SI,
+ ALTIVEC_BUILTIN_VEC_INIT_V8HI,
+ ALTIVEC_BUILTIN_VEC_INIT_V16QI,
+ ALTIVEC_BUILTIN_VEC_INIT_V4SF,
+ ALTIVEC_BUILTIN_VEC_SET_V4SI,
+ ALTIVEC_BUILTIN_VEC_SET_V8HI,
+ ALTIVEC_BUILTIN_VEC_SET_V16QI,
+ ALTIVEC_BUILTIN_VEC_SET_V4SF,
+ ALTIVEC_BUILTIN_VEC_EXT_V4SI,
+ ALTIVEC_BUILTIN_VEC_EXT_V8HI,
+ ALTIVEC_BUILTIN_VEC_EXT_V16QI,
+ ALTIVEC_BUILTIN_VEC_EXT_V4SF,
/* Altivec overloaded builtins. */
ALTIVEC_BUILTIN_VCMPEQ_P,
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 3cc613a82ed..d8332e34570 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -134,6 +134,9 @@
; Any supported integer mode that fits in one register.
(define_mode_macro INT1 [QI HI SI (DI "TARGET_POWERPC64")])
+; extend modes for DImode
+(define_mode_macro QHSI [QI HI SI])
+
; SImode or DImode, even if DImode doesn't fit in GPRs.
(define_mode_macro SDI [SI DI])
@@ -149,42 +152,45 @@
; Various instructions that come in SI and DI forms.
; A generic w/d attribute, for things like cmpw/cmpd.
-(define_mode_attr wd [(SI "w") (DI "d")])
+(define_mode_attr wd [(QI "b") (HI "h") (SI "w") (DI "d")])
+
+; DImode bits
+(define_mode_attr dbits [(QI "56") (HI "48") (SI "32")])
;; Start with fixed-point load and store insns. Here we put only the more
;; complex forms. Basic data transfer is done later.
-(define_expand "zero_extendqidi2"
+(define_expand "zero_extend<mode>di2"
[(set (match_operand:DI 0 "gpc_reg_operand" "")
- (zero_extend:DI (match_operand:QI 1 "gpc_reg_operand" "")))]
+ (zero_extend:DI (match_operand:QHSI 1 "gpc_reg_operand" "")))]
"TARGET_POWERPC64"
"")
-(define_insn ""
+(define_insn "*zero_extend<mode>di2_internal1"
[(set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
- (zero_extend:DI (match_operand:QI 1 "reg_or_mem_operand" "m,r")))]
+ (zero_extend:DI (match_operand:QHSI 1 "reg_or_mem_operand" "m,r")))]
"TARGET_POWERPC64"
"@
- lbz%U1%X1 %0,%1
- rldicl %0,%1,0,56"
+ l<wd>z%U1%X1 %0,%1
+ rldicl %0,%1,0,<dbits>"
[(set_attr "type" "load,*")])
-(define_insn ""
+(define_insn "*zero_extend<mode>di2_internal2"
[(set (match_operand:CC 0 "cc_reg_operand" "=x,?y")
- (compare:CC (zero_extend:DI (match_operand:QI 1 "gpc_reg_operand" "r,r"))
+ (compare:CC (zero_extend:DI (match_operand:QHSI 1 "gpc_reg_operand" "r,r"))
(const_int 0)))
(clobber (match_scratch:DI 2 "=r,r"))]
"TARGET_64BIT"
"@
- rldicl. %2,%1,0,56
+ rldicl. %2,%1,0,<dbits>
#"
[(set_attr "type" "compare")
(set_attr "length" "4,8")])
(define_split
[(set (match_operand:CC 0 "cc_reg_not_cr0_operand" "")
- (compare:CC (zero_extend:DI (match_operand:QI 1 "gpc_reg_operand" ""))
+ (compare:CC (zero_extend:DI (match_operand:QHSI 1 "gpc_reg_operand" ""))
(const_int 0)))
(clobber (match_scratch:DI 2 ""))]
"TARGET_POWERPC64 && reload_completed"
@@ -195,22 +201,22 @@
(const_int 0)))]
"")
-(define_insn ""
+(define_insn "*zero_extend<mode>di2_internal3"
[(set (match_operand:CC 2 "cc_reg_operand" "=x,?y")
- (compare:CC (zero_extend:DI (match_operand:QI 1 "gpc_reg_operand" "r,r"))
+ (compare:CC (zero_extend:DI (match_operand:QHSI 1 "gpc_reg_operand" "r,r"))
(const_int 0)))
(set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
(zero_extend:DI (match_dup 1)))]
"TARGET_64BIT"
"@
- rldicl. %0,%1,0,56
+ rldicl. %0,%1,0,<dbits>
#"
[(set_attr "type" "compare")
(set_attr "length" "4,8")])
(define_split
[(set (match_operand:CC 2 "cc_reg_not_cr0_operand" "")
- (compare:CC (zero_extend:DI (match_operand:QI 1 "gpc_reg_operand" ""))
+ (compare:CC (zero_extend:DI (match_operand:QHSI 1 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:DI 0 "gpc_reg_operand" "")
(zero_extend:DI (match_dup 1)))]
@@ -280,73 +286,6 @@
(const_int 0)))]
"")
-(define_expand "zero_extendhidi2"
- [(set (match_operand:DI 0 "gpc_reg_operand" "")
- (zero_extend:DI (match_operand:HI 1 "gpc_reg_operand" "")))]
- "TARGET_POWERPC64"
- "")
-
-(define_insn ""
- [(set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
- (zero_extend:DI (match_operand:HI 1 "reg_or_mem_operand" "m,r")))]
- "TARGET_POWERPC64"
- "@
- lhz%U1%X1 %0,%1
- rldicl %0,%1,0,48"
- [(set_attr "type" "load,*")])
-
-(define_insn ""
- [(set (match_operand:CC 0 "cc_reg_operand" "=x,?y")
- (compare:CC (zero_extend:DI (match_operand:HI 1 "gpc_reg_operand" "r,r"))
- (const_int 0)))
- (clobber (match_scratch:DI 2 "=r,r"))]
- "TARGET_64BIT"
- "@
- rldicl. %2,%1,0,48
- #"
- [(set_attr "type" "compare")
- (set_attr "length" "4,8")])
-
-(define_split
- [(set (match_operand:CC 0 "cc_reg_not_cr0_operand" "")
- (compare:CC (zero_extend:DI (match_operand:HI 1 "gpc_reg_operand" ""))
- (const_int 0)))
- (clobber (match_scratch:DI 2 ""))]
- "TARGET_POWERPC64 && reload_completed"
- [(set (match_dup 2)
- (zero_extend:DI (match_dup 1)))
- (set (match_dup 0)
- (compare:CC (match_dup 2)
- (const_int 0)))]
- "")
-
-(define_insn ""
- [(set (match_operand:CC 2 "cc_reg_operand" "=x,?y")
- (compare:CC (zero_extend:DI (match_operand:HI 1 "gpc_reg_operand" "r,r"))
- (const_int 0)))
- (set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
- (zero_extend:DI (match_dup 1)))]
- "TARGET_64BIT"
- "@
- rldicl. %0,%1,0,48
- #"
- [(set_attr "type" "compare")
- (set_attr "length" "4,8")])
-
-(define_split
- [(set (match_operand:CC 2 "cc_reg_not_cr0_operand" "")
- (compare:CC (zero_extend:DI (match_operand:HI 1 "gpc_reg_operand" ""))
- (const_int 0)))
- (set (match_operand:DI 0 "gpc_reg_operand" "")
- (zero_extend:DI (match_dup 1)))]
- "TARGET_POWERPC64 && reload_completed"
- [(set (match_dup 0)
- (zero_extend:DI (match_dup 1)))
- (set (match_dup 2)
- (compare:CC (match_dup 0)
- (const_int 0)))]
- "")
-
(define_expand "extendhidi2"
[(set (match_operand:DI 0 "gpc_reg_operand" "")
(sign_extend:DI (match_operand:HI 1 "gpc_reg_operand" "")))]
@@ -414,73 +353,6 @@
(const_int 0)))]
"")
-(define_expand "zero_extendsidi2"
- [(set (match_operand:DI 0 "gpc_reg_operand" "")
- (zero_extend:DI (match_operand:SI 1 "gpc_reg_operand" "")))]
- "TARGET_POWERPC64"
- "")
-
-(define_insn ""
- [(set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
- (zero_extend:DI (match_operand:SI 1 "reg_or_mem_operand" "m,r")))]
- "TARGET_POWERPC64"
- "@
- lwz%U1%X1 %0,%1
- rldicl %0,%1,0,32"
- [(set_attr "type" "load,*")])
-
-(define_insn ""
- [(set (match_operand:CC 0 "cc_reg_operand" "=x,?y")
- (compare:CC (zero_extend:DI (match_operand:SI 1 "gpc_reg_operand" "r,r"))
- (const_int 0)))
- (clobber (match_scratch:DI 2 "=r,r"))]
- "TARGET_64BIT"
- "@
- rldicl. %2,%1,0,32
- #"
- [(set_attr "type" "compare")
- (set_attr "length" "4,8")])
-
-(define_split
- [(set (match_operand:CC 0 "cc_reg_not_cr0_operand" "")
- (compare:CC (zero_extend:DI (match_operand:SI 1 "gpc_reg_operand" ""))
- (const_int 0)))
- (clobber (match_scratch:DI 2 ""))]
- "TARGET_POWERPC64 && reload_completed"
- [(set (match_dup 2)
- (zero_extend:DI (match_dup 1)))
- (set (match_dup 0)
- (compare:CC (match_dup 2)
- (const_int 0)))]
- "")
-
-(define_insn ""
- [(set (match_operand:CC 2 "cc_reg_operand" "=x,?y")
- (compare:CC (zero_extend:DI (match_operand:SI 1 "gpc_reg_operand" "r,r"))
- (const_int 0)))
- (set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
- (zero_extend:DI (match_dup 1)))]
- "TARGET_64BIT"
- "@
- rldicl. %0,%1,0,32
- #"
- [(set_attr "type" "compare")
- (set_attr "length" "4,8")])
-
-(define_split
- [(set (match_operand:CC 2 "cc_reg_not_cr0_operand" "")
- (compare:CC (zero_extend:DI (match_operand:SI 1 "gpc_reg_operand" ""))
- (const_int 0)))
- (set (match_operand:DI 0 "gpc_reg_operand" "")
- (zero_extend:DI (match_dup 1)))]
- "TARGET_POWERPC64 && reload_completed"
- [(set (match_dup 0)
- (zero_extend:DI (match_dup 1)))
- (set (match_dup 2)
- (compare:CC (match_dup 0)
- (const_int 0)))]
- "")
-
(define_expand "extendsidi2"
[(set (match_operand:DI 0 "gpc_reg_operand" "")
(sign_extend:DI (match_operand:SI 1 "gpc_reg_operand" "")))]
@@ -4830,7 +4702,7 @@
(match_dup 3)
(match_dup 4)))]
"TARGET_PPC_GFXOPT && TARGET_HARD_FLOAT && TARGET_FPRS
- && !HONOR_NANS (SFmode) && !HONOR_SIGNED_ZEROS (SFmode)"
+ && !HONOR_NANS (SFmode) && !HONOR_SIGNED_ZEROS (SFmode)"
{
operands[3] = gen_reg_rtx (SFmode);
operands[4] = gen_reg_rtx (SFmode);
@@ -6107,7 +5979,7 @@
[(set (match_operand:DI 0 "gpc_reg_operand" "=r")
(and:DI (rotate:DI (match_operand:DI 1 "gpc_reg_operand" "r")
(match_operand:DI 2 "reg_or_cint_operand" "ri"))
- (match_operand:DI 3 "mask_operand" "n")))]
+ (match_operand:DI 3 "mask64_operand" "n")))]
"TARGET_POWERPC64"
"rld%I2c%B3 %0,%1,%H2,%S3")
@@ -6116,7 +5988,7 @@
(compare:CC (and:DI
(rotate:DI (match_operand:DI 1 "gpc_reg_operand" "r,r")
(match_operand:DI 2 "reg_or_cint_operand" "ri,ri"))
- (match_operand:DI 3 "mask_operand" "n,n"))
+ (match_operand:DI 3 "mask64_operand" "n,n"))
(const_int 0)))
(clobber (match_scratch:DI 4 "=r,r"))]
"TARGET_64BIT"
@@ -6131,7 +6003,7 @@
(compare:CC (and:DI
(rotate:DI (match_operand:DI 1 "gpc_reg_operand" "")
(match_operand:DI 2 "reg_or_cint_operand" ""))
- (match_operand:DI 3 "mask_operand" ""))
+ (match_operand:DI 3 "mask64_operand" ""))
(const_int 0)))
(clobber (match_scratch:DI 4 ""))]
"TARGET_POWERPC64 && reload_completed"
@@ -6149,7 +6021,7 @@
(compare:CC (and:DI
(rotate:DI (match_operand:DI 1 "gpc_reg_operand" "r,r")
(match_operand:DI 2 "reg_or_cint_operand" "ri,ri"))
- (match_operand:DI 3 "mask_operand" "n,n"))
+ (match_operand:DI 3 "mask64_operand" "n,n"))
(const_int 0)))
(set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
(and:DI (rotate:DI (match_dup 1) (match_dup 2)) (match_dup 3)))]
@@ -6165,7 +6037,7 @@
(compare:CC (and:DI
(rotate:DI (match_operand:DI 1 "gpc_reg_operand" "")
(match_operand:DI 2 "reg_or_cint_operand" ""))
- (match_operand:DI 3 "mask_operand" ""))
+ (match_operand:DI 3 "mask64_operand" ""))
(const_int 0)))
(set (match_operand:DI 0 "gpc_reg_operand" "")
(and:DI (rotate:DI (match_dup 1) (match_dup 2)) (match_dup 3)))]
@@ -6563,7 +6435,7 @@
[(set (match_operand:DI 0 "gpc_reg_operand" "=r")
(and:DI (ashift:DI (match_operand:DI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "const_int_operand" "i"))
- (match_operand:DI 3 "mask_operand" "n")))]
+ (match_operand:DI 3 "mask64_operand" "n")))]
"TARGET_POWERPC64 && includes_rldicr_lshift_p (operands[2], operands[3])"
"rldicr %0,%1,%H2,%S3")
@@ -6572,7 +6444,7 @@
(compare:CC
(and:DI (ashift:DI (match_operand:DI 1 "gpc_reg_operand" "r,r")
(match_operand:SI 2 "const_int_operand" "i,i"))
- (match_operand:DI 3 "mask_operand" "n,n"))
+ (match_operand:DI 3 "mask64_operand" "n,n"))
(const_int 0)))
(clobber (match_scratch:DI 4 "=r,r"))]
"TARGET_64BIT && includes_rldicr_lshift_p (operands[2], operands[3])"
@@ -6587,7 +6459,7 @@
(compare:CC
(and:DI (ashift:DI (match_operand:DI 1 "gpc_reg_operand" "")
(match_operand:SI 2 "const_int_operand" ""))
- (match_operand:DI 3 "mask_operand" ""))
+ (match_operand:DI 3 "mask64_operand" ""))
(const_int 0)))
(clobber (match_scratch:DI 4 ""))]
"TARGET_POWERPC64 && reload_completed
@@ -6605,7 +6477,7 @@
(compare:CC
(and:DI (ashift:DI (match_operand:DI 1 "gpc_reg_operand" "r,r")
(match_operand:SI 2 "const_int_operand" "i,i"))
- (match_operand:DI 3 "mask_operand" "n,n"))
+ (match_operand:DI 3 "mask64_operand" "n,n"))
(const_int 0)))
(set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
(and:DI (ashift:DI (match_dup 1) (match_dup 2)) (match_dup 3)))]
@@ -6621,7 +6493,7 @@
(compare:CC
(and:DI (ashift:DI (match_operand:DI 1 "gpc_reg_operand" "")
(match_operand:SI 2 "const_int_operand" ""))
- (match_operand:DI 3 "mask_operand" ""))
+ (match_operand:DI 3 "mask64_operand" ""))
(const_int 0)))
(set (match_operand:DI 0 "gpc_reg_operand" "")
(and:DI (ashift:DI (match_dup 1) (match_dup 2)) (match_dup 3)))]
@@ -6826,7 +6698,8 @@
(clobber (match_scratch:CC 3 ""))]
"TARGET_POWERPC64
&& (fixed_regs[CR0_REGNO] || !logical_operand (operands[2], DImode))
- && !mask_operand (operands[2], DImode)"
+ && !mask_operand (operands[2], DImode)
+ && !mask64_operand (operands[2], DImode)"
[(set (match_dup 0)
(and:DI (rotate:DI (match_dup 1)
(match_dup 4))
@@ -6840,16 +6713,17 @@
})
(define_insn "*anddi3_internal2"
- [(set (match_operand:CC 0 "cc_reg_operand" "=x,x,x,x,x,?y,?y,??y,??y,?y")
- (compare:CC (and:DI (match_operand:DI 1 "gpc_reg_operand" "%r,r,r,r,r,r,r,r,r,r")
- (match_operand:DI 2 "and64_2_operand" "r,S,K,J,t,r,S,K,J,t"))
+ [(set (match_operand:CC 0 "cc_reg_operand" "=x,x,x,x,x,x,?y,?y,?y,??y,??y,?y")
+ (compare:CC (and:DI (match_operand:DI 1 "gpc_reg_operand" "%r,r,r,r,r,r,r,r,r,r,r,r")
+ (match_operand:DI 2 "and64_2_operand" "r,S,T,K,J,t,r,S,T,K,J,t"))
(const_int 0)))
- (clobber (match_scratch:DI 3 "=r,r,r,r,r,r,r,r,r,r"))
- (clobber (match_scratch:CC 4 "=X,X,X,X,X,X,X,x,x,X"))]
+ (clobber (match_scratch:DI 3 "=r,r,r,r,r,r,r,r,r,r,r,r"))
+ (clobber (match_scratch:CC 4 "=X,X,X,X,X,X,X,X,X,x,x,X"))]
"TARGET_64BIT"
"@
and. %3,%1,%2
rldic%B2. %3,%1,0,%S2
+ rlwinm. %3,%1,0,%m2,%M2
andi. %3,%1,%b2
andis. %3,%1,%u2
#
@@ -6857,9 +6731,10 @@
#
#
#
+ #
#"
- [(set_attr "type" "compare,delayed_compare,compare,compare,delayed_compare,compare,compare,compare,compare,compare")
- (set_attr "length" "4,4,4,4,8,8,8,8,8,12")])
+ [(set_attr "type" "compare,delayed_compare,delayed_compare,compare,compare,delayed_compare,delayed_compare,compare,compare,compare,compare,compare")
+ (set_attr "length" "4,4,4,4,4,8,8,8,8,8,8,12")])
(define_split
[(set (match_operand:CC 0 "cc_reg_operand" "")
@@ -6868,9 +6743,10 @@
(const_int 0)))
(clobber (match_scratch:DI 3 ""))
(clobber (match_scratch:CC 4 ""))]
- "TARGET_POWERPC64 && reload_completed
+ "TARGET_64BIT && reload_completed
&& (fixed_regs[CR0_REGNO] || !logical_operand (operands[2], DImode))
- && !mask_operand (operands[2], DImode)"
+ && !mask_operand (operands[2], DImode)
+ && !mask64_operand (operands[2], DImode)"
[(set (match_dup 3)
(and:DI (rotate:DI (match_dup 1)
(match_dup 5))
@@ -6887,17 +6763,18 @@
}")
(define_insn "*anddi3_internal3"
- [(set (match_operand:CC 3 "cc_reg_operand" "=x,x,x,x,x,?y,?y,??y,??y,?y")
- (compare:CC (and:DI (match_operand:DI 1 "gpc_reg_operand" "%r,r,r,r,r,r,r,r,r,r")
- (match_operand:DI 2 "and64_2_operand" "r,S,K,J,t,r,S,K,J,t"))
+ [(set (match_operand:CC 3 "cc_reg_operand" "=x,x,x,x,x,x,?y,?y,?y,??y,??y,?y")
+ (compare:CC (and:DI (match_operand:DI 1 "gpc_reg_operand" "%r,r,r,r,r,r,r,r,r,r,r,r")
+ (match_operand:DI 2 "and64_2_operand" "r,S,T,K,J,t,r,S,T,K,J,t"))
(const_int 0)))
- (set (match_operand:DI 0 "gpc_reg_operand" "=r,r,r,r,r,r,r,r,r,r")
+ (set (match_operand:DI 0 "gpc_reg_operand" "=r,r,r,r,r,r,r,r,r,r,r,r")
(and:DI (match_dup 1) (match_dup 2)))
- (clobber (match_scratch:CC 4 "=X,X,X,X,X,X,X,x,x,X"))]
+ (clobber (match_scratch:CC 4 "=X,X,X,X,X,X,X,X,X,x,x,X"))]
"TARGET_64BIT"
"@
and. %0,%1,%2
rldic%B2. %0,%1,0,%S2
+ rlwinm. %0,%1,0,%m2,%M2
andi. %0,%1,%b2
andis. %0,%1,%u2
#
@@ -6905,19 +6782,20 @@
#
#
#
+ #
#"
- [(set_attr "type" "compare,delayed_compare,compare,compare,delayed_compare,compare,compare,compare,compare,compare")
- (set_attr "length" "4,4,4,4,8,8,8,8,8,12")])
+ [(set_attr "type" "compare,delayed_compare,delayed_compare,compare,compare,delayed_compare,delayed_compare,compare,compare,compare,compare,compare")
+ (set_attr "length" "4,4,4,4,4,8,8,8,8,8,8,12")])
(define_split
[(set (match_operand:CC 3 "cc_reg_not_cr0_operand" "")
(compare:CC (and:DI (match_operand:DI 1 "gpc_reg_operand" "")
- (match_operand:DI 2 "and_operand" ""))
+ (match_operand:DI 2 "and64_2_operand" ""))
(const_int 0)))
(set (match_operand:DI 0 "gpc_reg_operand" "")
(and:DI (match_dup 1) (match_dup 2)))
(clobber (match_scratch:CC 4 ""))]
- "TARGET_POWERPC64 && reload_completed"
+ "TARGET_64BIT && reload_completed"
[(parallel [(set (match_dup 0)
(and:DI (match_dup 1) (match_dup 2)))
(clobber (match_dup 4))])
@@ -6934,9 +6812,10 @@
(set (match_operand:DI 0 "gpc_reg_operand" "")
(and:DI (match_dup 1) (match_dup 2)))
(clobber (match_scratch:CC 4 ""))]
- "TARGET_POWERPC64 && reload_completed
+ "TARGET_64BIT && reload_completed
&& (fixed_regs[CR0_REGNO] || !logical_operand (operands[2], DImode))
- && !mask_operand (operands[2], DImode)"
+ && !mask_operand (operands[2], DImode)
+ && !mask64_operand (operands[2], DImode)"
[(set (match_dup 0)
(and:DI (rotate:DI (match_dup 1)
(match_dup 5))
@@ -7677,9 +7556,10 @@
if (GET_CODE (operands[1]) == MEM
&& (rs6000_legitimate_offset_address_p (DFmode, XEXP (operands[1], 0),
reload_completed || reload_in_progress)
+ || rs6000_legitimate_small_data_p (DFmode, XEXP (operands[1], 0))
|| GET_CODE (XEXP (operands[1], 0)) == REG
|| GET_CODE (XEXP (operands[1], 0)) == LO_SUM
- || GET_CODE (XEXP (operands[1], 0)) == PRE_INC
+ || GET_CODE (XEXP (operands[1], 0)) == PRE_INC
|| GET_CODE (XEXP (operands[1], 0)) == PRE_DEC))
{
/* If the low-address word is used in the address, we must load
@@ -7719,9 +7599,10 @@
if (GET_CODE (operands[0]) == MEM
&& (rs6000_legitimate_offset_address_p (DFmode, XEXP (operands[0], 0),
reload_completed || reload_in_progress)
+ || rs6000_legitimate_small_data_p (DFmode, XEXP (operands[0], 0))
|| GET_CODE (XEXP (operands[0], 0)) == REG
|| GET_CODE (XEXP (operands[0], 0)) == LO_SUM
- || GET_CODE (XEXP (operands[0], 0)) == PRE_INC
+ || GET_CODE (XEXP (operands[0], 0)) == PRE_INC
|| GET_CODE (XEXP (operands[0], 0)) == PRE_DEC))
return \"{st%U0|stw%U0} %1,%0\;{st|stw} %L1,%L0\";
else
@@ -8150,7 +8031,7 @@
;; Use (and:DI (rotate:DI ...)) to avoid anddi3 unnecessary clobber.
(define_split
[(set (match_operand:DI 0 "gpc_reg_operand" "")
- (match_operand:DI 1 "mask_operand" ""))]
+ (match_operand:DI 1 "mask64_operand" ""))]
"TARGET_POWERPC64 && num_insns_constant (operands[1], DImode) > 1"
[(set (match_dup 0) (const_int -1))
(set (match_dup 0)
@@ -9144,11 +9025,11 @@
;; Peephole to convert two consecutive FP loads or stores into lfq/stfq.
(define_insn "*lfq_power2"
- [(set (match_operand:TF 0 "gpc_reg_operand" "=f")
- (match_operand:TF 1 "memory_operand" ""))]
+ [(set (match_operand:V2DF 0 "gpc_reg_operand" "=f")
+ (match_operand:V2DF 1 "memory_operand" ""))]
"TARGET_POWER2
&& TARGET_HARD_FLOAT && TARGET_FPRS"
- "lfq%U1%X1 %0,%1")
+ "lfq%U1%X1 %0,%1")
(define_peephole2
[(set (match_operand:DF 0 "gpc_reg_operand" "")
@@ -9160,13 +9041,13 @@
&& registers_ok_for_quad_peep (operands[0], operands[2])
&& mems_ok_for_quad_peep (operands[1], operands[3])"
[(set (match_dup 0)
- (match_dup 1))]
- "operands[1] = widen_memory_access (operands[1], TFmode, 0);
- operands[0] = gen_rtx_REG (TFmode, REGNO (operands[0]));")
+ (match_dup 1))]
+ "operands[1] = widen_memory_access (operands[1], V2DFmode, 0);
+ operands[0] = gen_rtx_REG (V2DFmode, REGNO (operands[0]));")
(define_insn "*stfq_power2"
- [(set (match_operand:TF 0 "memory_operand" "")
- (match_operand:TF 1 "gpc_reg_operand" "f"))]
+ [(set (match_operand:V2DF 0 "memory_operand" "")
+ (match_operand:V2DF 1 "gpc_reg_operand" "f"))]
"TARGET_POWER2
&& TARGET_HARD_FLOAT && TARGET_FPRS"
"stfq%U0%X0 %1,%0")
@@ -9183,8 +9064,8 @@
&& mems_ok_for_quad_peep (operands[0], operands[2])"
[(set (match_dup 0)
(match_dup 1))]
- "operands[0] = widen_memory_access (operands[0], TFmode, 0);
- operands[1] = gen_rtx_REG (TFmode, REGNO (operands[1]));")
+ "operands[0] = widen_memory_access (operands[0], V2DFmode, 0);
+ operands[1] = gen_rtx_REG (V2DFmode, REGNO (operands[1]));")
;; after inserting conditional returns we can sometimes have
;; unnecessary register moves. Unfortunately we cannot have a
@@ -10855,32 +10736,47 @@
[(set_attr "type" "cmp")])
;; If we are comparing a register for equality with a large constant,
-;; we can do this with an XOR followed by a compare. But we need a scratch
-;; register for the result of the XOR.
-
-(define_split
- [(set (match_operand:CC 0 "cc_reg_operand" "")
- (compare:CC (match_operand:SI 1 "gpc_reg_operand" "")
- (match_operand:SI 2 "non_short_cint_operand" "")))
- (clobber (match_operand:SI 3 "gpc_reg_operand" ""))]
- "find_single_use (operands[0], insn, 0)
- && (GET_CODE (*find_single_use (operands[0], insn, 0)) == EQ
- || GET_CODE (*find_single_use (operands[0], insn, 0)) == NE)"
- [(set (match_dup 3) (xor:SI (match_dup 1) (match_dup 4)))
- (set (match_dup 0) (compare:CC (match_dup 3) (match_dup 5)))]
- "
-{
- /* Get the constant we are comparing against, C, and see what it looks like
- sign-extended to 16 bits. Then see what constant could be XOR'ed
- with C to get the sign-extended value. */
+;; we can do this with an XOR followed by a compare. But this is profitable
+;; only if the large constant is only used for the comparison (and in this
+;; case we already have a register to reuse as scratch).
+;;
+;; For 64-bit registers, we could only do so if the constant's bit 15 is clear:
+;; otherwise we'd need to XOR with FFFFFFFF????0000 which is not available.
- HOST_WIDE_INT c = INTVAL (operands[2]);
+(define_peephole2
+ [(set (match_operand:SI 0 "register_operand")
+ (match_operand:SI 1 "logical_operand" ""))
+ (set (match_dup 0) (match_operator:SI 3 "boolean_or_operator"
+ [(match_dup 0)
+ (match_operand:SI 2 "logical_operand" "")]))
+ (set (match_operand:CC 4 "cc_reg_operand" "")
+ (compare:CC (match_operand:SI 5 "gpc_reg_operand" "")
+ (match_dup 0)))
+ (set (pc)
+ (if_then_else (match_operator 6 "equality_operator"
+ [(match_dup 4) (const_int 0)])
+ (match_operand 7 "" "")
+ (match_operand 8 "" "")))]
+ "peep2_reg_dead_p (3, operands[0])
+ && peep2_reg_dead_p (4, operands[4])"
+ [(set (match_dup 0) (xor:SI (match_dup 5) (match_dup 9)))
+ (set (match_dup 4) (compare:CC (match_dup 0) (match_dup 10)))
+ (set (pc) (if_then_else (match_dup 6) (match_dup 7) (match_dup 8)))]
+
+{
+ /* Get the constant we are comparing against, and see what it looks like
+ when sign-extended from 16 to 32 bits. Then see what constant we could
+ XOR with SEXTC to get the sign-extended value. */
+ rtx cnst = simplify_const_binary_operation (GET_CODE (operands[3]),
+ SImode,
+ operands[1], operands[2]);
+ HOST_WIDE_INT c = INTVAL (cnst);
HOST_WIDE_INT sextc = ((c & 0xffff) ^ 0x8000) - 0x8000;
HOST_WIDE_INT xorv = c ^ sextc;
- operands[4] = GEN_INT (xorv);
- operands[5] = GEN_INT (sextc);
-}")
+ operands[9] = GEN_INT (xorv);
+ operands[10] = GEN_INT (sextc);
+})
(define_insn "*cmpsi_internal2"
[(set (match_operand:CCUNS 0 "cc_reg_operand" "=y")
@@ -11249,58 +11145,60 @@
(define_insn_and_split "*eq<mode>"
[(set (match_operand:GPR 0 "gpc_reg_operand" "=r")
(eq:GPR (match_operand:GPR 1 "gpc_reg_operand" "r")
- (match_operand:GPR 2 "scc_eq_operand" "<scc_eq_op2>")))
- (clobber (match_scratch:GPR 3 "=r"))
- (clobber (match_scratch:GPR 4 "=r"))]
+ (match_operand:GPR 2 "scc_eq_operand" "<scc_eq_op2>")))]
""
"#"
- "reload_completed"
- [(set (match_dup 3)
- (clz:GPR (match_dup 4)))
+ ""
+ [(set (match_dup 0)
+ (clz:GPR (match_dup 3)))
(set (match_dup 0)
- (lshiftrt:GPR (match_dup 3) (match_dup 5)))]
+ (lshiftrt:GPR (match_dup 0) (match_dup 4)))]
{
if (GET_CODE (operands[2]) != CONST_INT || INTVAL (operands[2]) != 0)
{
+ /* Use output operand as intermediate. */
+ operands[3] = operands[0];
+
if (logical_operand (operands[2], <MODE>mode))
- emit_insn (gen_rtx_SET (VOIDmode, operands[4],
+ emit_insn (gen_rtx_SET (VOIDmode, operands[3],
gen_rtx_XOR (<MODE>mode,
operands[1], operands[2])));
else
- emit_insn (gen_rtx_SET (VOIDmode, operands[4],
+ emit_insn (gen_rtx_SET (VOIDmode, operands[3],
gen_rtx_PLUS (<MODE>mode, operands[1],
negate_rtx (<MODE>mode,
operands[2]))));
}
else
- operands[4] = operands[1];
+ operands[3] = operands[1];
- operands[5] = GEN_INT (exact_log2 (GET_MODE_BITSIZE (<MODE>mode)));
+ operands[4] = GEN_INT (exact_log2 (GET_MODE_BITSIZE (<MODE>mode)));
})
(define_insn_and_split "*eq<mode>_compare"
- [(set (match_operand:CC 5 "cc_reg_operand" "=y")
+ [(set (match_operand:CC 3 "cc_reg_operand" "=y")
(compare:CC
(eq:P (match_operand:P 1 "gpc_reg_operand" "=r")
(match_operand:P 2 "scc_eq_operand" "<scc_eq_op2>"))
(const_int 0)))
(set (match_operand:P 0 "gpc_reg_operand" "=r")
- (eq:P (match_dup 1) (match_dup 2)))
- (clobber (match_scratch:P 3 "=r"))
- (clobber (match_scratch:P 4 "=r"))]
- ""
+ (eq:P (match_dup 1) (match_dup 2)))]
+ "optimize_size"
"#"
- "reload_completed"
- [(set (match_dup 3)
+ "optimize_size"
+ [(set (match_dup 0)
(clz:P (match_dup 4)))
- (parallel [(set (match_dup 5)
- (compare:CC (lshiftrt:P (match_dup 3) (match_dup 6))
+ (parallel [(set (match_dup 3)
+ (compare:CC (lshiftrt:P (match_dup 0) (match_dup 5))
(const_int 0)))
(set (match_dup 0)
- (lshiftrt:P (match_dup 3) (match_dup 6)))])]
+ (lshiftrt:P (match_dup 0) (match_dup 5)))])]
{
if (GET_CODE (operands[2]) != CONST_INT || INTVAL (operands[2]) != 0)
{
+ /* Use output operand as intermediate. */
+ operands[4] = operands[0];
+
if (logical_operand (operands[2], <MODE>mode))
emit_insn (gen_rtx_SET (VOIDmode, operands[4],
gen_rtx_XOR (<MODE>mode,
@@ -11314,7 +11212,7 @@
else
operands[4] = operands[1];
- operands[6] = GEN_INT (exact_log2 (GET_MODE_BITSIZE (<MODE>mode)));
+ operands[5] = GEN_INT (exact_log2 (GET_MODE_BITSIZE (<MODE>mode)));
})
;; We have insns of the form shown by the first define_insn below. If
@@ -11332,12 +11230,12 @@
(set (match_dup 2) (plus:SI (match_op_dup 1 [(match_dup 2) (match_dup 3)])
(match_dup 4)))])
-(define_insn ""
+(define_insn "*plus_eqsi"
[(set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r,&r,&r,&r")
(plus:SI (eq:SI (match_operand:SI 1 "gpc_reg_operand" "%r,r,r,r,r")
(match_operand:SI 2 "scc_eq_operand" "r,O,K,L,I"))
(match_operand:SI 3 "gpc_reg_operand" "r,r,r,r,r")))]
- "TARGET_32BIT"
+ "TARGET_32BIT && optimize_size"
"@
xor %0,%1,%2\;{sfi|subfic} %0,%0,0\;{aze|addze} %0,%3
{sfi|subfic} %0,%1,0\;{aze|addze} %0,%3
@@ -11347,7 +11245,7 @@
[(set_attr "type" "three,two,three,three,three")
(set_attr "length" "12,8,12,12,12")])
-(define_insn ""
+(define_insn "*compare_plus_eqsi"
[(set (match_operand:CC 0 "cc_reg_operand" "=x,x,x,x,x,?y,?y,?y,?y,?y")
(compare:CC
(plus:SI
@@ -11356,7 +11254,7 @@
(match_operand:SI 3 "gpc_reg_operand" "r,r,r,r,r,r,r,r,r,r"))
(const_int 0)))
(clobber (match_scratch:SI 4 "=&r,&r,&r,&r,&r,&r,&r,&r,&r,&r"))]
- "TARGET_32BIT"
+ "TARGET_32BIT && optimize_size"
"@
xor %4,%1,%2\;{sfi|subfic} %4,%4,0\;{aze.|addze.} %4,%3
{sfi|subfic} %4,%1,0\;{aze.|addze.} %4,%3
@@ -11380,7 +11278,7 @@
(match_operand:SI 3 "gpc_reg_operand" ""))
(const_int 0)))
(clobber (match_scratch:SI 4 ""))]
- "TARGET_32BIT && reload_completed"
+ "TARGET_32BIT && optimize_size && reload_completed"
[(set (match_dup 4)
(plus:SI (eq:SI (match_dup 1)
(match_dup 2))
@@ -11390,7 +11288,7 @@
(const_int 0)))]
"")
-(define_insn ""
+(define_insn "*plus_eqsi_compare"
[(set (match_operand:CC 4 "cc_reg_operand" "=x,x,x,x,x,?y,?y,?y,?y,?y")
(compare:CC
(plus:SI
@@ -11400,7 +11298,7 @@
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r,&r,&r,&r,&r,&r,&r,&r,&r")
(plus:SI (eq:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
- "TARGET_32BIT"
+ "TARGET_32BIT && optimize_size"
"@
xor %0,%1,%2\;{sfi|subfic} %0,%0,0\;{aze.|addze.} %0,%3
{sfi|subfic} %0,%1,0\;{aze.|addze.} %0,%3
@@ -11425,7 +11323,7 @@
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
(plus:SI (eq:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
- "TARGET_32BIT && reload_completed"
+ "TARGET_32BIT && optimize_size && reload_completed"
[(set (match_dup 0)
(plus:SI (eq:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
(set (match_dup 4)
@@ -11433,23 +11331,46 @@
(const_int 0)))]
"")
-(define_insn ""
- [(set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r,r")
- (neg:SI (eq:SI (match_operand:SI 1 "gpc_reg_operand" "%r,r,r,r,r")
- (match_operand:SI 2 "scc_eq_operand" "r,O,K,L,I"))))]
- "TARGET_32BIT"
- "@
- xor %0,%1,%2\;{ai|addic} %0,%0,-1\;{sfe|subfe} %0,%0,%0
- {ai|addic} %0,%1,-1\;{sfe|subfe} %0,%0,%0
- {xoril|xori} %0,%1,%b2\;{ai|addic} %0,%0,-1\;{sfe|subfe} %0,%0,%0
- {xoriu|xoris} %0,%1,%u2\;{ai|addic} %0,%0,-1\;{sfe|subfe} %0,%0,%0
- {sfi|subfic} %0,%1,%2\;{ai|addic} %0,%0,-1\;{sfe|subfe} %0,%0,%0"
- [(set_attr "type" "three,two,three,three,three")
- (set_attr "length" "12,8,12,12,12")])
+(define_insn "*neg_eq0<mode>"
+ [(set (match_operand:P 0 "gpc_reg_operand" "=r")
+ (neg:P (eq:P (match_operand:P 1 "gpc_reg_operand" "r")
+ (const_int 0))))]
+ "optimize_size"
+ "{ai|addic} %0,%1,-1\;{sfe|subfe} %0,%0,%0"
+ [(set_attr "type" "two")
+ (set_attr "length" "8")])
+
+(define_insn_and_split "*neg_eq<mode>"
+ [(set (match_operand:P 0 "gpc_reg_operand" "=r")
+ (neg:P (eq:P (match_operand:P 1 "gpc_reg_operand" "%r")
+ (match_operand:P 2 "scc_eq_operand" "<scc_eq_op2>"))))]
+ "optimize_size"
+ "#"
+ "optimize_size"
+ [(set (match_dup 0) (neg:P (eq:P (match_dup 3) (const_int 0))))]
+ {
+ if (GET_CODE (operands[2]) != CONST_INT || INTVAL (operands[2]) != 0)
+ {
+ /* Use output operand as intermediate. */
+ operands[3] = operands[0];
+
+ if (logical_operand (operands[2], <MODE>mode))
+ emit_insn (gen_rtx_SET (VOIDmode, operands[3],
+ gen_rtx_XOR (<MODE>mode,
+ operands[1], operands[2])));
+ else
+ emit_insn (gen_rtx_SET (VOIDmode, operands[3],
+ gen_rtx_PLUS (<MODE>mode, operands[1],
+ negate_rtx (<MODE>mode,
+ operands[2]))));
+ }
+ else
+ operands[3] = operands[1];
+ })
;; Simplify (ne X (const_int 0)) on the PowerPC. No need to on the Power,
;; since it nabs/sr is just as fast.
-(define_insn "*ne0"
+(define_insn "*ne0si"
[(set (match_operand:SI 0 "gpc_reg_operand" "=&r")
(lshiftrt:SI (neg:SI (abs:SI (match_operand:SI 1 "gpc_reg_operand" "r")))
(const_int 31)))
@@ -11459,7 +11380,7 @@
[(set_attr "type" "two")
(set_attr "length" "8")])
-(define_insn ""
+(define_insn "*ne0di"
[(set (match_operand:DI 0 "gpc_reg_operand" "=r")
(lshiftrt:DI (neg:DI (abs:DI (match_operand:DI 1 "gpc_reg_operand" "r")))
(const_int 63)))
@@ -11470,7 +11391,7 @@
(set_attr "length" "8")])
;; This is what (plus (ne X (const_int 0)) Y) looks like.
-(define_insn ""
+(define_insn "*plus_ne0si"
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(plus:SI (lshiftrt:SI
(neg:SI (abs:SI (match_operand:SI 1 "gpc_reg_operand" "r")))
@@ -11482,7 +11403,7 @@
[(set_attr "type" "two")
(set_attr "length" "8")])
-(define_insn ""
+(define_insn "*plus_ne0di"
[(set (match_operand:DI 0 "gpc_reg_operand" "=r")
(plus:DI (lshiftrt:DI
(neg:DI (abs:DI (match_operand:DI 1 "gpc_reg_operand" "r")))
@@ -11494,7 +11415,7 @@
[(set_attr "type" "two")
(set_attr "length" "8")])
-(define_insn ""
+(define_insn "*compare_plus_ne0si"
[(set (match_operand:CC 0 "cc_reg_operand" "=x,?y")
(compare:CC
(plus:SI (lshiftrt:SI
@@ -11532,7 +11453,7 @@
(const_int 0)))]
"")
-(define_insn ""
+(define_insn "*compare_plus_ne0di"
[(set (match_operand:CC 0 "cc_reg_operand" "=x,?y")
(compare:CC
(plus:DI (lshiftrt:DI
@@ -11567,7 +11488,7 @@
(const_int 0)))]
"")
-(define_insn ""
+(define_insn "*plus_ne0si_compare"
[(set (match_operand:CC 4 "cc_reg_operand" "=x,?y")
(compare:CC
(plus:SI (lshiftrt:SI
@@ -11608,7 +11529,7 @@
(const_int 0)))]
"")
-(define_insn ""
+(define_insn "*plus_ne0di_compare"
[(set (match_operand:CC 4 "cc_reg_operand" "=x,?y")
(compare:CC
(plus:DI (lshiftrt:DI
@@ -11786,64 +11707,24 @@
{ai|addic} %0,%1,-1\;{aze|addze} %0,%0\;{srai|srawi} %0,%0,31"
[(set_attr "length" "12")])
-(define_insn ""
- [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
- (leu:SI (match_operand:SI 1 "gpc_reg_operand" "r")
- (match_operand:SI 2 "reg_or_short_operand" "rI")))]
- "TARGET_32BIT"
+(define_insn "*leu<mode>"
+ [(set (match_operand:P 0 "gpc_reg_operand" "=r")
+ (leu:P (match_operand:P 1 "gpc_reg_operand" "r")
+ (match_operand:P 2 "reg_or_short_operand" "rI")))]
+ ""
"{sf%I2|subf%I2c} %0,%1,%2\;{cal %0,0(0)|li %0,0}\;{ae|adde} %0,%0,%0"
[(set_attr "type" "three")
(set_attr "length" "12")])
-(define_insn ""
- [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
- (leu:DI (match_operand:DI 1 "gpc_reg_operand" "r")
- (match_operand:DI 2 "reg_or_short_operand" "rI")))]
- "TARGET_64BIT"
- "subf%I2c %0,%1,%2\;li %0,0\;adde %0,%0,%0"
- [(set_attr "type" "three")
- (set_attr "length" "12")])
-
-(define_insn ""
+(define_insn "*leu<mode>_compare"
[(set (match_operand:CC 3 "cc_reg_operand" "=x,?y")
(compare:CC
- (leu:DI (match_operand:DI 1 "gpc_reg_operand" "r,r")
- (match_operand:DI 2 "reg_or_short_operand" "rI,rI"))
+ (leu:P (match_operand:P 1 "gpc_reg_operand" "r,r")
+ (match_operand:P 2 "reg_or_short_operand" "rI,rI"))
(const_int 0)))
- (set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
- (leu:DI (match_dup 1) (match_dup 2)))]
- "TARGET_64BIT"
- "@
- subf%I2c %0,%1,%2\;li %0,0\;adde. %0,%0,%0
- #"
- [(set_attr "type" "compare")
- (set_attr "length" "12,16")])
-
-(define_split
- [(set (match_operand:CC 3 "cc_reg_not_cr0_operand" "")
- (compare:CC
- (leu:DI (match_operand:DI 1 "gpc_reg_operand" "")
- (match_operand:DI 2 "reg_or_short_operand" ""))
- (const_int 0)))
- (set (match_operand:DI 0 "gpc_reg_operand" "")
- (leu:DI (match_dup 1) (match_dup 2)))]
- "TARGET_64BIT && reload_completed"
- [(set (match_dup 0)
- (leu:DI (match_dup 1) (match_dup 2)))
- (set (match_dup 3)
- (compare:CC (match_dup 0)
- (const_int 0)))]
- "")
-
-(define_insn ""
- [(set (match_operand:CC 3 "cc_reg_operand" "=x,?y")
- (compare:CC
- (leu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
- (match_operand:SI 2 "reg_or_short_operand" "rI,rI"))
- (const_int 0)))
- (set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
- (leu:SI (match_dup 1) (match_dup 2)))]
- "TARGET_32BIT"
+ (set (match_operand:P 0 "gpc_reg_operand" "=r,r")
+ (leu:P (match_dup 1) (match_dup 2)))]
+ ""
"@
{sf%I2|subf%I2c} %0,%1,%2\;{cal %0,0(0)|li %0,0}\;{ae.|adde.} %0,%0,%0
#"
@@ -11853,25 +11734,25 @@
(define_split
[(set (match_operand:CC 3 "cc_reg_not_cr0_operand" "")
(compare:CC
- (leu:SI (match_operand:SI 1 "gpc_reg_operand" "")
- (match_operand:SI 2 "reg_or_short_operand" ""))
+ (leu:P (match_operand:P 1 "gpc_reg_operand" "")
+ (match_operand:P 2 "reg_or_short_operand" ""))
(const_int 0)))
- (set (match_operand:SI 0 "gpc_reg_operand" "")
- (leu:SI (match_dup 1) (match_dup 2)))]
- "TARGET_32BIT && reload_completed"
+ (set (match_operand:P 0 "gpc_reg_operand" "")
+ (leu:P (match_dup 1) (match_dup 2)))]
+ "reload_completed"
[(set (match_dup 0)
- (leu:SI (match_dup 1) (match_dup 2)))
+ (leu:P (match_dup 1) (match_dup 2)))
(set (match_dup 3)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
-(define_insn ""
- [(set (match_operand:SI 0 "gpc_reg_operand" "=&r")
- (plus:SI (leu:SI (match_operand:SI 1 "gpc_reg_operand" "r")
- (match_operand:SI 2 "reg_or_short_operand" "rI"))
- (match_operand:SI 3 "gpc_reg_operand" "r")))]
- "TARGET_32BIT"
+(define_insn "*plus_leu<mode>"
+ [(set (match_operand:P 0 "gpc_reg_operand" "=&r")
+ (plus:P (leu:P (match_operand:P 1 "gpc_reg_operand" "r")
+ (match_operand:P 2 "reg_or_short_operand" "rI"))
+ (match_operand:P 3 "gpc_reg_operand" "r")))]
+ ""
"{sf%I2|subf%I2c} %0,%1,%2\;{aze|addze} %0,%3"
[(set_attr "type" "two")
(set_attr "length" "8")])
@@ -11941,22 +11822,22 @@
(const_int 0)))]
"")
-(define_insn ""
- [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
- (neg:SI (leu:SI (match_operand:SI 1 "gpc_reg_operand" "r")
- (match_operand:SI 2 "reg_or_short_operand" "rI"))))]
- "TARGET_32BIT"
+(define_insn "*neg_leu<mode>"
+ [(set (match_operand:P 0 "gpc_reg_operand" "=r")
+ (neg:P (leu:P (match_operand:P 1 "gpc_reg_operand" "r")
+ (match_operand:P 2 "reg_or_short_operand" "rI"))))]
+ ""
"{sf%I2|subf%I2c} %0,%1,%2\;{sfe|subfe} %0,%0,%0\;nand %0,%0,%0"
[(set_attr "type" "three")
(set_attr "length" "12")])
-(define_insn ""
- [(set (match_operand:SI 0 "gpc_reg_operand" "=&r")
- (and:SI (neg:SI
- (leu:SI (match_operand:SI 1 "gpc_reg_operand" "r")
- (match_operand:SI 2 "reg_or_short_operand" "rI")))
- (match_operand:SI 3 "gpc_reg_operand" "r")))]
- "TARGET_32BIT"
+(define_insn "*and_neg_leu<mode>"
+ [(set (match_operand:P 0 "gpc_reg_operand" "=&r")
+ (and:P (neg:P
+ (leu:P (match_operand:P 1 "gpc_reg_operand" "r")
+ (match_operand:P 2 "reg_or_short_operand" "rI")))
+ (match_operand:P 3 "gpc_reg_operand" "r")))]
+ ""
"{sf%I2|subf%I2c} %0,%1,%2\;{sfe|subfe} %0,%0,%0\;andc %0,%3,%0"
[(set_attr "type" "three")
(set_attr "length" "12")])
@@ -12152,170 +12033,70 @@
"doz%I2 %0,%1,%2\;nabs %0,%0\;{srai|srawi} %0,%0,31"
[(set_attr "length" "12")])
-(define_insn_and_split ""
- [(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
- (ltu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
- (match_operand:SI 2 "reg_or_neg_short_operand" "r,P")))]
- "TARGET_32BIT"
- "#"
- "TARGET_32BIT"
- [(set (match_dup 0) (neg:SI (ltu:SI (match_dup 1) (match_dup 2))))
- (set (match_dup 0) (neg:SI (match_dup 0)))]
- "")
-
-(define_insn_and_split ""
- [(set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
- (ltu:DI (match_operand:DI 1 "gpc_reg_operand" "r,r")
- (match_operand:DI 2 "reg_or_neg_short_operand" "r,P")))]
- "TARGET_64BIT"
+(define_insn_and_split "*ltu<mode>"
+ [(set (match_operand:P 0 "gpc_reg_operand" "=r,r")
+ (ltu:P (match_operand:P 1 "gpc_reg_operand" "r,r")
+ (match_operand:P 2 "reg_or_neg_short_operand" "r,P")))]
+ ""
"#"
- "TARGET_64BIT"
- [(set (match_dup 0) (neg:DI (ltu:DI (match_dup 1) (match_dup 2))))
- (set (match_dup 0) (neg:DI (match_dup 0)))]
+ ""
+ [(set (match_dup 0) (neg:P (ltu:P (match_dup 1) (match_dup 2))))
+ (set (match_dup 0) (neg:P (match_dup 0)))]
"")
-(define_insn ""
+(define_insn_and_split "*ltu<mode>_compare"
[(set (match_operand:CC 3 "cc_reg_operand" "=x,x,?y,?y")
(compare:CC
- (ltu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r")
- (match_operand:SI 2 "reg_or_neg_short_operand" "r,P,r,P"))
- (const_int 0)))
- (set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r")
- (ltu:SI (match_dup 1) (match_dup 2)))]
- "TARGET_32BIT"
- "@
- {sf|subfc} %0,%2,%1\;{sfe|subfe} %0,%0,%0\;neg. %0,%0
- {ai|addic} %0,%1,%n2\;{sfe|subfe} %0,%0,%0\;neg. %0,%0
- #
- #"
- [(set_attr "type" "compare")
- (set_attr "length" "12,12,16,16")])
-
-(define_split
- [(set (match_operand:CC 3 "cc_reg_not_cr0_operand" "")
- (compare:CC
- (ltu:SI (match_operand:SI 1 "gpc_reg_operand" "")
- (match_operand:SI 2 "reg_or_neg_short_operand" ""))
+ (ltu:P (match_operand:P 1 "gpc_reg_operand" "r,r,r,r")
+ (match_operand:P 2 "reg_or_neg_short_operand" "r,P,r,P"))
(const_int 0)))
- (set (match_operand:SI 0 "gpc_reg_operand" "")
- (ltu:SI (match_dup 1) (match_dup 2)))]
- "TARGET_32BIT && reload_completed"
- [(set (match_dup 0)
- (ltu:SI (match_dup 1) (match_dup 2)))
- (set (match_dup 3)
- (compare:CC (match_dup 0)
- (const_int 0)))]
- "")
-
-(define_insn_and_split ""
- [(set (match_operand:SI 0 "gpc_reg_operand" "=&r,r")
- (plus:SI (ltu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
- (match_operand:SI 2 "reg_or_neg_short_operand" "r,P"))
- (match_operand:SI 3 "reg_or_short_operand" "rI,rI")))]
- "TARGET_32BIT"
+ (set (match_operand:P 0 "gpc_reg_operand" "=r,r,r,r")
+ (ltu:P (match_dup 1) (match_dup 2)))]
+ ""
"#"
- "&& !reg_overlap_mentioned_p (operands[0], operands[3])"
- [(set (match_dup 0) (neg:SI (ltu:SI (match_dup 1) (match_dup 2))))
- (set (match_dup 0) (minus:SI (match_dup 3) (match_dup 0)))]
+ ""
+ [(set (match_dup 0) (neg:P (ltu:P (match_dup 1) (match_dup 2))))
+ (parallel [(set (match_dup 3)
+ (compare:CC (neg:P (match_dup 0)) (const_int 0)))
+ (set (match_dup 0) (neg:P (match_dup 0)))])]
"")
-(define_insn_and_split ""
- [(set (match_operand:DI 0 "gpc_reg_operand" "=&r,r")
- (plus:DI (ltu:DI (match_operand:DI 1 "gpc_reg_operand" "r,r")
- (match_operand:DI 2 "reg_or_neg_short_operand" "r,P"))
- (match_operand:DI 3 "reg_or_short_operand" "rI,rI")))]
- "TARGET_64BIT"
+(define_insn_and_split "*plus_ltu<mode>"
+ [(set (match_operand:P 0 "gpc_reg_operand" "=&r,r")
+ (plus:P (ltu:P (match_operand:P 1 "gpc_reg_operand" "r,r")
+ (match_operand:P 2 "reg_or_neg_short_operand" "r,P"))
+ (match_operand:P 3 "reg_or_short_operand" "rI,rI")))]
+ ""
"#"
"&& !reg_overlap_mentioned_p (operands[0], operands[3])"
- [(set (match_dup 0) (neg:DI (ltu:DI (match_dup 1) (match_dup 2))))
- (set (match_dup 0) (minus:DI (match_dup 3) (match_dup 0)))]
+ [(set (match_dup 0) (neg:P (ltu:P (match_dup 1) (match_dup 2))))
+ (set (match_dup 0) (minus:P (match_dup 3) (match_dup 0)))]
"")
-(define_insn ""
- [(set (match_operand:CC 0 "cc_reg_operand" "=x,x,?y,?y")
- (compare:CC
- (plus:SI (ltu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r")
- (match_operand:SI 2 "reg_or_neg_short_operand" "r,P,r,P"))
- (match_operand:SI 3 "gpc_reg_operand" "r,r,r,r"))
- (const_int 0)))
- (clobber (match_scratch:SI 4 "=&r,&r,&r,&r"))]
- "TARGET_32BIT"
- "@
- {sf|subfc} %4,%2,%1\;{sfe|subfe} %4,%4,%4\;{sf.|subf.} %4,%4,%3
- {ai|addic} %4,%1,%n2\;{sfe|subfe} %4,%4,%4\;{sf.|subf.} %4,%4,%3
- #
- #"
- [(set_attr "type" "compare")
- (set_attr "length" "12,12,16,16")])
-
-(define_split
- [(set (match_operand:CC 0 "cc_reg_not_cr0_operand" "")
- (compare:CC
- (plus:SI (ltu:SI (match_operand:SI 1 "gpc_reg_operand" "")
- (match_operand:SI 2 "reg_or_neg_short_operand" ""))
- (match_operand:SI 3 "gpc_reg_operand" ""))
- (const_int 0)))
- (clobber (match_scratch:SI 4 ""))]
- "TARGET_32BIT && reload_completed"
- [(set (match_dup 4)
- (plus:SI (ltu:SI (match_dup 1) (match_dup 2))
- (match_dup 3)))
- (set (match_dup 0)
- (compare:CC (match_dup 4)
- (const_int 0)))]
- "")
-
-(define_insn ""
+(define_insn_and_split "*plus_ltu<mode>_compare"
[(set (match_operand:CC 4 "cc_reg_operand" "=x,x,?y,?y")
(compare:CC
- (plus:SI (ltu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r")
- (match_operand:SI 2 "reg_or_neg_short_operand" "r,P,r,P"))
- (match_operand:SI 3 "gpc_reg_operand" "r,r,r,r"))
+ (plus:P (ltu:P (match_operand:P 1 "gpc_reg_operand" "r,r,r,r")
+ (match_operand:P 2 "reg_or_neg_short_operand" "r,P,r,P"))
+ (match_operand:P 3 "gpc_reg_operand" "r,r,r,r"))
(const_int 0)))
- (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r,&r,&r")
- (plus:SI (ltu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
- "TARGET_32BIT"
- "@
- {sf|subfc} %0,%2,%1\;{sfe|subfe} %0,%0,%0\;{sf.|subf.} %0,%0,%3
- {ai|addic} %0,%1,%n2\;{sfe|subfe} %0,%0,%0\;{sf.|subf.} %0,%0,%3
- #
- #"
- [(set_attr "type" "compare")
- (set_attr "length" "12,12,16,16")])
-
-(define_split
- [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "")
- (compare:CC
- (plus:SI (ltu:SI (match_operand:SI 1 "gpc_reg_operand" "")
- (match_operand:SI 2 "reg_or_neg_short_operand" ""))
- (match_operand:SI 3 "gpc_reg_operand" ""))
- (const_int 0)))
- (set (match_operand:SI 0 "gpc_reg_operand" "")
- (plus:SI (ltu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
- "TARGET_32BIT && reload_completed"
- [(set (match_dup 0)
- (plus:SI (ltu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
- (set (match_dup 4)
- (compare:CC (match_dup 0)
- (const_int 0)))]
+ (set (match_operand:P 0 "gpc_reg_operand" "=&r,&r,&r,&r")
+ (plus:P (ltu:P (match_dup 1) (match_dup 2)) (match_dup 3)))]
+ ""
+ "#"
+ "&& !reg_overlap_mentioned_p (operands[0], operands[3])"
+ [(set (match_dup 0) (neg:P (ltu:P (match_dup 1) (match_dup 2))))
+ (parallel [(set (match_dup 4)
+ (compare:CC (minus:P (match_dup 3) (match_dup 0))
+ (const_int 0)))
+ (set (match_dup 0) (minus:P (match_dup 3) (match_dup 0)))])]
"")
-(define_insn ""
- [(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
- (neg:SI (ltu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
- (match_operand:SI 2 "reg_or_neg_short_operand" "r,P"))))]
- "TARGET_32BIT"
- "@
- {sf|subfc} %0,%2,%1\;{sfe|subfe} %0,%0,%0
- {ai|addic} %0,%1,%n2\;{sfe|subfe} %0,%0,%0"
- [(set_attr "type" "two")
- (set_attr "length" "8")])
-
-(define_insn ""
- [(set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
- (neg:DI (ltu:DI (match_operand:DI 1 "gpc_reg_operand" "r,r")
- (match_operand:DI 2 "reg_or_neg_short_operand" "r,P"))))]
- "TARGET_64BIT"
+(define_insn "*neg_ltu<mode>"
+ [(set (match_operand:P 0 "gpc_reg_operand" "=r,r")
+ (neg:P (ltu:P (match_operand:P 1 "gpc_reg_operand" "r,r")
+ (match_operand:P 2 "reg_or_neg_short_operand" "r,P"))))]
+ ""
"@
{sf|subfc} %0,%2,%1\;{sfe|subfe} %0,%0,%0
{ai|addic} %0,%1,%n2\;{sfe|subfe} %0,%0,%0"
@@ -12447,37 +12228,26 @@
"doz%I2 %0,%1,%2\;{ai|addic} %0,%0,-1\;{sfe|subfe} %0,%0,%0"
[(set_attr "length" "12")])
-(define_insn ""
- [(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
- (geu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
- (match_operand:SI 2 "reg_or_neg_short_operand" "r,P")))]
- "TARGET_32BIT"
+(define_insn "*geu<mode>"
+ [(set (match_operand:P 0 "gpc_reg_operand" "=r,r")
+ (geu:P (match_operand:P 1 "gpc_reg_operand" "r,r")
+ (match_operand:P 2 "reg_or_neg_short_operand" "r,P")))]
+ ""
"@
{sf|subfc} %0,%2,%1\;{cal %0,0(0)|li %0,0}\;{ae|adde} %0,%0,%0
{ai|addic} %0,%1,%n2\;{cal %0,0(0)|li %0,0}\;{ae|adde} %0,%0,%0"
[(set_attr "type" "three")
(set_attr "length" "12")])
-(define_insn ""
- [(set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
- (geu:DI (match_operand:DI 1 "gpc_reg_operand" "r,r")
- (match_operand:DI 2 "reg_or_neg_short_operand" "r,P")))]
- "TARGET_64BIT"
- "@
- subfc %0,%2,%1\;li %0,0\;adde %0,%0,%0
- addic %0,%1,%n2\;li %0,0\;adde %0,%0,%0"
- [(set_attr "type" "three")
- (set_attr "length" "12")])
-
-(define_insn ""
+(define_insn "*geu<mode>_compare"
[(set (match_operand:CC 3 "cc_reg_operand" "=x,x,?y,?y")
(compare:CC
- (geu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r")
- (match_operand:SI 2 "reg_or_neg_short_operand" "r,P,r,P"))
+ (geu:P (match_operand:P 1 "gpc_reg_operand" "r,r,r,r")
+ (match_operand:P 2 "reg_or_neg_short_operand" "r,P,r,P"))
(const_int 0)))
- (set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r")
- (geu:SI (match_dup 1) (match_dup 2)))]
- "TARGET_32BIT"
+ (set (match_operand:P 0 "gpc_reg_operand" "=r,r,r,r")
+ (geu:P (match_dup 1) (match_dup 2)))]
+ ""
"@
{sf|subfc} %0,%2,%1\;{cal %0,0(0)|li %0,0}\;{ae.|adde.} %0,%0,%0
{ai|addic} %0,%1,%n2\;{cal %0,0(0)|li %0,0}\;{ae.|adde.} %0,%0,%0
@@ -12489,58 +12259,25 @@
(define_split
[(set (match_operand:CC 3 "cc_reg_not_cr0_operand" "")
(compare:CC
- (geu:SI (match_operand:SI 1 "gpc_reg_operand" "")
- (match_operand:SI 2 "reg_or_neg_short_operand" ""))
+ (geu:P (match_operand:P 1 "gpc_reg_operand" "")
+ (match_operand:P 2 "reg_or_neg_short_operand" ""))
(const_int 0)))
- (set (match_operand:SI 0 "gpc_reg_operand" "")
- (geu:SI (match_dup 1) (match_dup 2)))]
- "TARGET_32BIT && reload_completed"
- [(set (match_dup 0)
- (geu:SI (match_dup 1) (match_dup 2)))
- (set (match_dup 3)
- (compare:CC (match_dup 0)
- (const_int 0)))]
- "")
-
-(define_insn ""
- [(set (match_operand:CC 3 "cc_reg_operand" "=x,x,?y,?y")
- (compare:CC
- (geu:DI (match_operand:DI 1 "gpc_reg_operand" "r,r,r,r")
- (match_operand:DI 2 "reg_or_neg_short_operand" "r,P,r,P"))
- (const_int 0)))
- (set (match_operand:DI 0 "gpc_reg_operand" "=r,r,r,r")
- (geu:DI (match_dup 1) (match_dup 2)))]
- "TARGET_64BIT"
- "@
- subfc %0,%2,%1\;li %0,0\;adde. %0,%0,%0
- addic %0,%1,%n2\;li %0,0\;adde. %0,%0,%0
- #
- #"
- [(set_attr "type" "compare")
- (set_attr "length" "12,12,16,16")])
-
-(define_split
- [(set (match_operand:CC 3 "cc_reg_not_cr0_operand" "")
- (compare:CC
- (geu:DI (match_operand:DI 1 "gpc_reg_operand" "")
- (match_operand:DI 2 "reg_or_neg_short_operand" ""))
- (const_int 0)))
- (set (match_operand:DI 0 "gpc_reg_operand" "")
- (geu:DI (match_dup 1) (match_dup 2)))]
- "TARGET_64BIT && reload_completed"
+ (set (match_operand:P 0 "gpc_reg_operand" "")
+ (geu:P (match_dup 1) (match_dup 2)))]
+ "reload_completed"
[(set (match_dup 0)
- (geu:DI (match_dup 1) (match_dup 2)))
+ (geu:P (match_dup 1) (match_dup 2)))
(set (match_dup 3)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
-(define_insn ""
- [(set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r")
- (plus:SI (geu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
- (match_operand:SI 2 "reg_or_neg_short_operand" "r,P"))
- (match_operand:SI 3 "gpc_reg_operand" "r,r")))]
- "TARGET_32BIT"
+(define_insn "*plus_geu<mode>"
+ [(set (match_operand:P 0 "gpc_reg_operand" "=&r,&r")
+ (plus:P (geu:P (match_operand:P 1 "gpc_reg_operand" "r,r")
+ (match_operand:P 2 "reg_or_neg_short_operand" "r,P"))
+ (match_operand:P 3 "gpc_reg_operand" "r,r")))]
+ ""
"@
{sf|subfc} %0,%2,%1\;{aze|addze} %0,%3
{ai|addic} %0,%1,%n2\;{aze|addze} %0,%3"
@@ -12616,24 +12353,24 @@
(const_int 0)))]
"")
-(define_insn ""
- [(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
- (neg:SI (geu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
- (match_operand:SI 2 "reg_or_short_operand" "r,I"))))]
- "TARGET_32BIT"
+(define_insn "*neg_geu<mode>"
+ [(set (match_operand:P 0 "gpc_reg_operand" "=r,r")
+ (neg:P (geu:P (match_operand:P 1 "gpc_reg_operand" "r,r")
+ (match_operand:P 2 "reg_or_short_operand" "r,I"))))]
+ ""
"@
{sf|subfc} %0,%2,%1\;{sfe|subfe} %0,%0,%0\;nand %0,%0,%0
{sfi|subfic} %0,%1,-1\;{a%I2|add%I2c} %0,%0,%2\;{sfe|subfe} %0,%0,%0"
[(set_attr "type" "three")
(set_attr "length" "12")])
-(define_insn ""
- [(set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r")
- (and:SI (neg:SI
- (geu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
- (match_operand:SI 2 "reg_or_neg_short_operand" "r,P")))
- (match_operand:SI 3 "gpc_reg_operand" "r,r")))]
- "TARGET_32BIT"
+(define_insn "*and_neg_geu<mode>"
+ [(set (match_operand:P 0 "gpc_reg_operand" "=&r,&r")
+ (and:P (neg:P
+ (geu:P (match_operand:P 1 "gpc_reg_operand" "r,r")
+ (match_operand:P 2 "reg_or_neg_short_operand" "r,P")))
+ (match_operand:P 3 "gpc_reg_operand" "r,r")))]
+ ""
"@
{sf|subfc} %0,%2,%1\;{sfe|subfe} %0,%0,%0\;andc %0,%3,%0
{ai|addic} %0,%1,%n2\;{sfe|subfe} %0,%0,%0\;andc %0,%3,%0"
@@ -12716,86 +12453,6 @@
(define_insn ""
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(gt:SI (match_operand:SI 1 "gpc_reg_operand" "r")
- (const_int 0)))]
- "TARGET_32BIT"
- "{sfi|subfic} %0,%1,0\;{ame|addme} %0,%0\;{sri|srwi} %0,%0,31"
- [(set_attr "type" "three")
- (set_attr "length" "12")])
-
-(define_insn ""
- [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
- (gt:DI (match_operand:DI 1 "gpc_reg_operand" "r")
- (const_int 0)))]
- "TARGET_64BIT"
- "subfic %0,%1,0\;addme %0,%0\;srdi %0,%0,63"
- [(set_attr "type" "three")
- (set_attr "length" "12")])
-
-(define_insn ""
- [(set (match_operand:CC 2 "cc_reg_operand" "=x,?y")
- (compare:CC
- (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
- (const_int 0))
- (const_int 0)))
- (set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
- (gt:SI (match_dup 1) (const_int 0)))]
- "TARGET_32BIT"
- "@
- {sfi|subfic} %0,%1,0\;{ame|addme} %0,%0\;{sri.|srwi.} %0,%0,31
- #"
- [(set_attr "type" "delayed_compare")
- (set_attr "length" "12,16")])
-
-(define_split
- [(set (match_operand:CC 2 "cc_reg_not_cr0_operand" "")
- (compare:CC
- (gt:SI (match_operand:SI 1 "gpc_reg_operand" "")
- (const_int 0))
- (const_int 0)))
- (set (match_operand:SI 0 "gpc_reg_operand" "")
- (gt:SI (match_dup 1) (const_int 0)))]
- "TARGET_32BIT && reload_completed"
- [(set (match_dup 0)
- (gt:SI (match_dup 1) (const_int 0)))
- (set (match_dup 2)
- (compare:CC (match_dup 0)
- (const_int 0)))]
- "")
-
-(define_insn ""
- [(set (match_operand:CC 2 "cc_reg_operand" "=x,?y")
- (compare:CC
- (gt:DI (match_operand:DI 1 "gpc_reg_operand" "r,r")
- (const_int 0))
- (const_int 0)))
- (set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
- (gt:DI (match_dup 1) (const_int 0)))]
- "TARGET_64BIT"
- "@
- subfic %0,%1,0\;addme %0,%0\;srdi. %0,%0,63
- #"
- [(set_attr "type" "delayed_compare")
- (set_attr "length" "12,16")])
-
-(define_split
- [(set (match_operand:CC 2 "cc_reg_not_cr0_operand" "")
- (compare:CC
- (gt:DI (match_operand:DI 1 "gpc_reg_operand" "")
- (const_int 0))
- (const_int 0)))
- (set (match_operand:DI 0 "gpc_reg_operand" "")
- (gt:DI (match_dup 1) (const_int 0)))]
- "TARGET_64BIT && reload_completed"
- [(set (match_dup 0)
- (gt:DI (match_dup 1) (const_int 0)))
- (set (match_dup 2)
- (compare:CC (match_dup 0)
- (const_int 0)))]
- "")
-
-(define_insn ""
- [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
- (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "reg_or_short_operand" "r")))]
"TARGET_POWER"
"doz %0,%2,%1\;nabs %0,%0\;{sri|srwi} %0,%0,31"
@@ -12832,27 +12489,17 @@
(const_int 0)))]
"")
-(define_insn ""
- [(set (match_operand:SI 0 "gpc_reg_operand" "=&r")
- (plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r")
- (const_int 0))
- (match_operand:SI 2 "gpc_reg_operand" "r")))]
- "TARGET_32BIT"
+(define_insn "*plus_gt0<mode>"
+ [(set (match_operand:P 0 "gpc_reg_operand" "=&r")
+ (plus:P (gt:P (match_operand:P 1 "gpc_reg_operand" "r")
+ (const_int 0))
+ (match_operand:P 2 "gpc_reg_operand" "r")))]
+ ""
"{a|addc} %0,%1,%1\;{sfe|subfe} %0,%1,%0\;{aze|addze} %0,%2"
[(set_attr "type" "three")
(set_attr "length" "12")])
(define_insn ""
- [(set (match_operand:DI 0 "gpc_reg_operand" "=&r")
- (plus:DI (gt:DI (match_operand:DI 1 "gpc_reg_operand" "r")
- (const_int 0))
- (match_operand:DI 2 "gpc_reg_operand" "r")))]
- "TARGET_64BIT"
- "addc %0,%1,%1\;subfe %0,%1,%0\;addze %0,%2"
- [(set_attr "type" "three")
- (set_attr "length" "12")])
-
-(define_insn ""
[(set (match_operand:CC 0 "cc_reg_operand" "=x,?y")
(compare:CC
(plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
@@ -13058,292 +12705,79 @@
(define_insn ""
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(neg:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r")
- (const_int 0))))]
- "TARGET_32BIT"
- "{sfi|subfic} %0,%1,0\;{ame|addme} %0,%0\;{srai|srawi} %0,%0,31"
- [(set_attr "type" "three")
- (set_attr "length" "12")])
-
-(define_insn ""
- [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
- (neg:DI (gt:DI (match_operand:DI 1 "gpc_reg_operand" "r")
- (const_int 0))))]
- "TARGET_64BIT"
- "subfic %0,%1,0\;addme %0,%0\;sradi %0,%0,63"
- [(set_attr "type" "three")
- (set_attr "length" "12")])
-
-(define_insn ""
- [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
- (neg:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "reg_or_short_operand" "r"))))]
"TARGET_POWER"
"doz %0,%2,%1\;nabs %0,%0\;{srai|srawi} %0,%0,31"
[(set_attr "length" "12")])
-(define_insn_and_split ""
- [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
- (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r")
- (match_operand:SI 2 "reg_or_short_operand" "rI")))]
- "TARGET_32BIT"
- "#"
- "TARGET_32BIT"
- [(set (match_dup 0) (neg:SI (gtu:SI (match_dup 1) (match_dup 2))))
- (set (match_dup 0) (neg:SI (match_dup 0)))]
- "")
-
-(define_insn_and_split ""
- [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
- (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "r")
- (match_operand:DI 2 "reg_or_short_operand" "rI")))]
- "TARGET_64BIT"
+(define_insn_and_split "*gtu<mode>"
+ [(set (match_operand:P 0 "gpc_reg_operand" "=r")
+ (gtu:P (match_operand:P 1 "gpc_reg_operand" "r")
+ (match_operand:P 2 "reg_or_short_operand" "rI")))]
+ ""
"#"
- "TARGET_64BIT"
- [(set (match_dup 0) (neg:DI (gtu:DI (match_dup 1) (match_dup 2))))
- (set (match_dup 0) (neg:DI (match_dup 0)))]
- "")
-
-(define_insn ""
- [(set (match_operand:CC 3 "cc_reg_operand" "=x,?y")
- (compare:CC
- (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
- (match_operand:SI 2 "reg_or_short_operand" "rI,rI"))
- (const_int 0)))
- (set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
- (gtu:SI (match_dup 1) (match_dup 2)))]
- "TARGET_32BIT"
- "@
- {sf%I2|subf%I2c} %0,%1,%2\;{sfe|subfe} %0,%0,%0\;neg. %0,%0
- #"
- [(set_attr "type" "compare")
- (set_attr "length" "12,16")])
-
-(define_split
- [(set (match_operand:CC 3 "cc_reg_not_cr0_operand" "")
- (compare:CC
- (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "")
- (match_operand:SI 2 "reg_or_short_operand" ""))
- (const_int 0)))
- (set (match_operand:SI 0 "gpc_reg_operand" "")
- (gtu:SI (match_dup 1) (match_dup 2)))]
- "TARGET_32BIT && reload_completed"
- [(set (match_dup 0)
- (gtu:SI (match_dup 1) (match_dup 2)))
- (set (match_dup 3)
- (compare:CC (match_dup 0)
- (const_int 0)))]
+ ""
+ [(set (match_dup 0) (neg:P (gtu:P (match_dup 1) (match_dup 2))))
+ (set (match_dup 0) (neg:P (match_dup 0)))]
"")
-(define_insn ""
+(define_insn_and_split "*gtu<mode>_compare"
[(set (match_operand:CC 3 "cc_reg_operand" "=x,?y")
(compare:CC
- (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "r,r")
- (match_operand:DI 2 "reg_or_short_operand" "rI,rI"))
+ (gtu:P (match_operand:P 1 "gpc_reg_operand" "r,r")
+ (match_operand:P 2 "reg_or_short_operand" "rI,rI"))
(const_int 0)))
- (set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
- (gtu:DI (match_dup 1) (match_dup 2)))]
- "TARGET_64BIT"
- "@
- subf%I2c %0,%1,%2\;subfe %0,%0,%0\;neg. %0,%0
- #"
- [(set_attr "type" "compare")
- (set_attr "length" "12,16")])
-
-(define_split
- [(set (match_operand:CC 3 "cc_reg_not_cr0_operand" "")
- (compare:CC
- (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "")
- (match_operand:DI 2 "reg_or_short_operand" ""))
- (const_int 0)))
- (set (match_operand:DI 0 "gpc_reg_operand" "")
- (gtu:DI (match_dup 1) (match_dup 2)))]
- "TARGET_64BIT && reload_completed"
- [(set (match_dup 0)
- (gtu:DI (match_dup 1) (match_dup 2)))
- (set (match_dup 3)
- (compare:CC (match_dup 0)
- (const_int 0)))]
- "")
-
-(define_insn_and_split ""
- [(set (match_operand:SI 0 "gpc_reg_operand" "=&r")
- (plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r")
- (match_operand:SI 2 "reg_or_short_operand" "rI"))
- (match_operand:SI 3 "reg_or_short_operand" "rI")))]
- "TARGET_32BIT"
+ (set (match_operand:P 0 "gpc_reg_operand" "=r,r")
+ (gtu:P (match_dup 1) (match_dup 2)))]
+ ""
"#"
- "&& !reg_overlap_mentioned_p (operands[0], operands[3])"
- [(set (match_dup 0) (neg:SI (gtu:SI (match_dup 1) (match_dup 2))))
- (set (match_dup 0) (minus:SI (match_dup 3) (match_dup 0)))]
+ ""
+ [(set (match_dup 0) (neg:P (gtu:P (match_dup 1) (match_dup 2))))
+ (parallel [(set (match_dup 3)
+ (compare:CC (neg:P (match_dup 0)) (const_int 0)))
+ (set (match_dup 0) (neg:P (match_dup 0)))])]
"")
-(define_insn_and_split ""
- [(set (match_operand:DI 0 "gpc_reg_operand" "=&r")
- (plus:DI (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "r")
- (match_operand:DI 2 "reg_or_short_operand" "rI"))
- (match_operand:DI 3 "reg_or_short_operand" "rI")))]
- "TARGET_64BIT"
+(define_insn_and_split "*plus_gtu<mode>"
+ [(set (match_operand:P 0 "gpc_reg_operand" "=&r")
+ (plus:P (gtu:P (match_operand:P 1 "gpc_reg_operand" "r")
+ (match_operand:P 2 "reg_or_short_operand" "rI"))
+ (match_operand:P 3 "reg_or_short_operand" "rI")))]
+ ""
"#"
"&& !reg_overlap_mentioned_p (operands[0], operands[3])"
- [(set (match_dup 0) (neg:DI (gtu:DI (match_dup 1) (match_dup 2))))
- (set (match_dup 0) (minus:DI (match_dup 3) (match_dup 0)))]
+ [(set (match_dup 0) (neg:P (gtu:P (match_dup 1) (match_dup 2))))
+ (set (match_dup 0) (minus:P (match_dup 3) (match_dup 0)))]
"")
-(define_insn ""
- [(set (match_operand:CC 0 "cc_reg_operand" "=x,x,?y,?y")
- (compare:CC
- (plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r")
- (match_operand:SI 2 "reg_or_short_operand" "I,r,I,r"))
- (match_operand:SI 3 "gpc_reg_operand" "r,r,r,r"))
- (const_int 0)))
- (clobber (match_scratch:SI 4 "=&r,&r,&r,&r"))]
- "TARGET_32BIT"
- "@
- {ai|addic} %4,%1,%k2\;{aze.|addze.} %4,%3
- {sf%I2|subf%I2c} %4,%1,%2\;{sfe|subfe} %4,%4,%4\;{sf.|subf.} %4,%4,%3
- #
- #"
- [(set_attr "type" "compare")
- (set_attr "length" "8,12,12,16")])
-
-(define_split
- [(set (match_operand:CC 0 "cc_reg_not_cr0_operand" "")
- (compare:CC
- (plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "")
- (match_operand:SI 2 "reg_or_short_operand" ""))
- (match_operand:SI 3 "gpc_reg_operand" ""))
- (const_int 0)))
- (clobber (match_scratch:SI 4 ""))]
- "TARGET_32BIT && reload_completed"
- [(set (match_dup 4)
- (plus:SI (gtu:SI (match_dup 1) (match_dup 2))
- (match_dup 3)))
- (set (match_dup 0)
- (compare:CC (match_dup 4)
- (const_int 0)))]
- "")
-
-(define_insn ""
- [(set (match_operand:CC 0 "cc_reg_operand" "=x,x,?y,?y")
- (compare:CC
- (plus:DI (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "r,r,r,r")
- (match_operand:DI 2 "reg_or_short_operand" "I,r,I,r"))
- (match_operand:DI 3 "gpc_reg_operand" "r,r,r,r"))
- (const_int 0)))
- (clobber (match_scratch:DI 4 "=&r,&r,&r,&r"))]
- "TARGET_64BIT"
- "@
- addic %4,%1,%k2\;addze. %4,%3
- subf%I2c %4,%1,%2\;subfe %4,%4,%4\;subf. %4,%4,%3
- #
- #"
- [(set_attr "type" "compare")
- (set_attr "length" "8,12,12,16")])
-
-(define_split
- [(set (match_operand:CC 0 "cc_reg_not_cr0_operand" "")
- (compare:CC
- (plus:DI (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "")
- (match_operand:DI 2 "reg_or_short_operand" ""))
- (match_operand:DI 3 "gpc_reg_operand" ""))
- (const_int 0)))
- (clobber (match_scratch:DI 4 ""))]
- "TARGET_64BIT && reload_completed"
- [(set (match_dup 4)
- (plus:DI (gtu:DI (match_dup 1) (match_dup 2))
- (match_dup 3)))
- (set (match_dup 0)
- (compare:CC (match_dup 4)
- (const_int 0)))]
- "")
-
-(define_insn ""
- [(set (match_operand:CC 4 "cc_reg_operand" "=x,x,?y,?y")
- (compare:CC
- (plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r")
- (match_operand:SI 2 "reg_or_short_operand" "I,r,I,r"))
- (match_operand:SI 3 "gpc_reg_operand" "r,r,r,r"))
- (const_int 0)))
- (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r,&r,&r")
- (plus:SI (gtu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
- "TARGET_32BIT"
- "@
- {ai|addic} %0,%1,%k2\;{aze.|addze.} %0,%3
- {sf%I2|subf%I2c} %0,%1,%2\;{sfe|subfe} %0,%0,%0\;{sf.|subf.} %0,%0,%3
- #
- #"
- [(set_attr "type" "compare")
- (set_attr "length" "8,12,12,16")])
-
-(define_split
- [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "")
- (compare:CC
- (plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "")
- (match_operand:SI 2 "reg_or_short_operand" ""))
- (match_operand:SI 3 "gpc_reg_operand" ""))
- (const_int 0)))
- (set (match_operand:SI 0 "gpc_reg_operand" "")
- (plus:SI (gtu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
- "TARGET_32BIT && reload_completed"
- [(set (match_dup 0)
- (plus:SI (gtu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
- (set (match_dup 4)
- (compare:CC (match_dup 0)
- (const_int 0)))]
- "")
-
-(define_insn ""
+(define_insn_and_split "*plus_gtu<mode>_compare"
[(set (match_operand:CC 4 "cc_reg_operand" "=x,x,?y,?y")
(compare:CC
- (plus:DI (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "r,r,r,r")
- (match_operand:DI 2 "reg_or_short_operand" "I,r,I,r"))
- (match_operand:DI 3 "gpc_reg_operand" "r,r,r,r"))
- (const_int 0)))
- (set (match_operand:DI 0 "gpc_reg_operand" "=&r,&r,&r,&r")
- (plus:DI (gtu:DI (match_dup 1) (match_dup 2)) (match_dup 3)))]
- "TARGET_64BIT"
- "@
- addic %0,%1,%k2\;addze. %0,%3
- subf%I2c %0,%1,%2\;subfe %0,%0,%0\;subf. %0,%0,%3
- #
- #"
- [(set_attr "type" "compare")
- (set_attr "length" "8,12,12,16")])
-
-(define_split
- [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "")
- (compare:CC
- (plus:DI (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "")
- (match_operand:DI 2 "reg_or_short_operand" ""))
- (match_operand:DI 3 "gpc_reg_operand" ""))
+ (plus:P (gtu:P (match_operand:P 1 "gpc_reg_operand" "r,r,r,r")
+ (match_operand:P 2 "reg_or_short_operand" "I,r,I,r"))
+ (match_operand:P 3 "gpc_reg_operand" "r,r,r,r"))
(const_int 0)))
- (set (match_operand:DI 0 "gpc_reg_operand" "")
- (plus:DI (gtu:DI (match_dup 1) (match_dup 2)) (match_dup 3)))]
- "TARGET_64BIT && reload_completed"
- [(set (match_dup 0)
- (plus:DI (gtu:DI (match_dup 1) (match_dup 2)) (match_dup 3)))
- (set (match_dup 4)
- (compare:CC (match_dup 0)
- (const_int 0)))]
+ (set (match_operand:P 0 "gpc_reg_operand" "=&r,&r,&r,&r")
+ (plus:P (gtu:P (match_dup 1) (match_dup 2)) (match_dup 3)))]
+ ""
+ "#"
+ "&& !reg_overlap_mentioned_p (operands[0], operands[3])"
+ [(set (match_dup 0) (neg:P (gtu:P (match_dup 1) (match_dup 2))))
+ (parallel [(set (match_dup 4)
+ (compare:CC (minus:P (match_dup 3) (match_dup 0))
+ (const_int 0)))
+ (set (match_dup 0) (minus:P (match_dup 3) (match_dup 0)))])]
"")
-(define_insn ""
- [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
- (neg:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r")
- (match_operand:SI 2 "reg_or_short_operand" "rI"))))]
- "TARGET_32BIT"
+(define_insn "*neg_gtu<mode>"
+ [(set (match_operand:P 0 "gpc_reg_operand" "=r")
+ (neg:P (gtu:P (match_operand:P 1 "gpc_reg_operand" "r")
+ (match_operand:P 2 "reg_or_short_operand" "rI"))))]
+ ""
"{sf%I2|subf%I2c} %0,%1,%2\;{sfe|subfe} %0,%0,%0"
[(set_attr "type" "two")
(set_attr "length" "8")])
-(define_insn ""
- [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
- (neg:DI (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "r")
- (match_operand:DI 2 "reg_or_short_operand" "rI"))))]
- "TARGET_64BIT"
- "subf%I2c %0,%1,%2\;subfe %0,%0,%0"
- [(set_attr "type" "two")
- (set_attr "length" "8")])
;; Define both directions of branch and return. If we need a reload
;; register, we'd rather use CR0 since it is much easier to copy a
@@ -13592,7 +13026,7 @@
operands[4] = gen_reg_rtx (DImode);
}")
-(define_insn ""
+(define_insn "*tablejump<mode>_internal1"
[(set (pc)
(match_operand:P 0 "register_operand" "c,*l"))
(use (label_ref (match_operand 1 "" "")))]
@@ -14016,7 +13450,7 @@
}")
(define_insn "prefetch"
- [(prefetch (match_operand:V4SI 0 "address_operand" "p")
+ [(prefetch (match_operand 0 "indexed_or_indirect_address" "a")
(match_operand:SI 1 "const_int_operand" "n")
(match_operand:SI 2 "const_int_operand" "n"))]
"TARGET_POWERPC"
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index 2d5b6e8526d..d5388320c7c 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -1002,7 +1002,6 @@ extern int fixuplabelno;
#define LINK_OS_FREEBSD_SPEC "\
%{p:%nconsider using `-pg' instead of `-p' with gprof(1)} \
- %{Wl,*:%*} \
%{v:-V} \
%{assert*} %{R*} %{rpath*} %{defsym*} \
%{shared:-Bshareable %{h*} %{soname*}} \
diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt
index 2fafba23b42..c483ea5e00a 100644
--- a/gcc/config/rs6000/sysv4.opt
+++ b/gcc/config/rs6000/sysv4.opt
@@ -76,7 +76,7 @@ no description yet
mprototype
Target Mask(PROTOTYPE)
-no description yet
+Assume all variable arg functions are prototyped
;; FIXME: Does nothing.
mno-traceback
diff --git a/gcc/config/rs6000/t-vxworks b/gcc/config/rs6000/t-vxworks
index e89e47b8d09..fe65a399397 100644
--- a/gcc/config/rs6000/t-vxworks
+++ b/gcc/config/rs6000/t-vxworks
@@ -1,10 +1,11 @@
# Multilibs for VxWorks.
-MULTILIB_OPTIONS = t403/t405/t440/t603/t604/t860
-MULTILIB_DIRNAMES = PPC403gnu PPC405gnu PPC440gnu \
- PPC603gnu PPC604gnu PPC860gnu
+# The base multilib is -mhard-float.
+MULTILIB_OPTIONS = mrtp fPIC msoft-float
+MULTILIB_DIRNAMES =
+MULTILIB_MATCHES = fPIC=fpic
+MULTILIB_EXCEPTIONS = fPIC*
-MULTILIB_MATCHES = t604=
-
-# Put vxlib.c back in LIB2FUNCS_EXTRA (t-ppccomm clobbers it).
-LIB2FUNCS_EXTRA += $(srcdir)/config/vxlib.c
+# Restore some variables from t-vxworks clobbered by t-ppccomm.
+EXTRA_MULTILIB_PARTS =
+LIB2FUNCS_EXTRA = $(srcdir)/config/vxlib.c
diff --git a/gcc/config/rs6000/vxworks.h b/gcc/config/rs6000/vxworks.h
index 069a5e1f19b..d389ace8d45 100644
--- a/gcc/config/rs6000/vxworks.h
+++ b/gcc/config/rs6000/vxworks.h
@@ -1,32 +1,66 @@
/* Definitions of target machine for GNU compiler. Vxworks PowerPC version.
- Copyright (C) 1996, 2000, 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1996, 2000, 2002, 2003, 2004, 2005
+ Free Software Foundation, Inc.
+ Contributed by CodeSourcery, LLC.
- This file is part of GCC.
+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 2, or (at your
- option) any later version.
+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 2, 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.
+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 COPYING. If not, write to the
- Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
- MA 02110-1301, USA. */
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING. If not, write to the Free
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
-#undef TARGET_OS_CPP_BUILTINS
+/* Note to future editors: VxWorks is mostly an EABI target. We do
+ not use rs6000/eabi.h because we would have to override most of
+ it anyway. However, if you change that file, consider making
+ analogous changes here too. */
+
+#undef TARGET_VERSION
+#define TARGET_VERSION fprintf (stderr, " (PowerPC VxWorks)");
+
+/* CPP predefined macros. */
+
+#undef TARGET_OS_CPP_BUILTINS
#define TARGET_OS_CPP_BUILTINS() \
do \
{ \
+ builtin_define ("__ppc"); \
+ builtin_define ("__EABI__"); \
+ builtin_define ("__ELF__"); \
builtin_define ("__vxworks"); \
- builtin_define ("__vxworks__"); \
+ builtin_define ("__VXWORKS__"); \
+ if (!TARGET_SOFT_FLOAT) \
+ builtin_define ("__hardfp"); \
+ if (flag_pic == 2) \
+ { \
+ builtin_define ("__PIC__=2"); \
+ builtin_define ("__pic__=2"); \
+ } \
+ else if (flag_pic == 1) \
+ { \
+ builtin_define ("__PIC__=1"); \
+ builtin_define ("__pic__=1"); \
+ } \
+ \
+ /* C89 namespace violation! */ \
+ builtin_define ("CPU_FAMILY=PPC"); \
} \
while (0)
+/* Only big endian PPC is supported by VxWorks. */
+#undef BYTES_BIG_ENDIAN
+#define BYTES_BIG_ENDIAN 1
+
/* We have to kill off the entire specs set created by rs6000/sysv4.h
and substitute our own set. The top level vxworks.h has done some
of this for us. */
@@ -38,45 +72,92 @@
#define SUBTARGET_EXTRA_SPECS /* none needed */
+/* FIXME: The only reason we allow no -mcpu switch at all is because
+ config-ml.in insists on a "." multilib. */
#define CPP_SPEC \
-"-DCPU_FAMILY=PPC -D__ppc -D__EABI__ \
- %{t403: -DCPU=PPC403 -D_SOFT_FLOAT ; \
- t405: -DCPU=PPC405 -D_SOFT_FLOAT ; \
- t440: -DCPU=PPC440 -D_SOFT_FLOAT ; \
- t603: -DCPU=PPC603 ; \
- t604: -DCPU=PPC604 ; \
- t860: -DCPU=PPC860 -D_SOFT_FLOAT ; \
- : -DCPU=PPC604} \
- %{!msoft-float:-D__hardfp} \
- %{fpic|fpie: -D__PIC__=1 -D__pic__=1 ; \
- fPIC|fPIE: -D__PIC__=2 -D__pic__=2 } \
- %(cpp_cpu)"
-
-#define CC1_SPEC \
-"%{t403: -mcpu=403 -mstrict-align ; \
- t405: -mcpu=405 -mstrict-align ; \
- t440: -mcpu=440 -mstrict-align ; \
- t603: -mcpu=603 -mstrict-align ; \
- t604: -mcpu=604 -mstrict-align ; \
- t860: -mcpu=860 ; \
- : -mcpu=604 -mstrict-align } \
- %{G*} %{mno-sdata:-msdata=none} %{msdata:-msdata=default} \
+"%{!DCPU=*: \
+ %{mcpu=403 : -DCPU=PPC403 ; \
+ mcpu=405 : -DCPU=PPC405 ; \
+ mcpu=440 : -DCPU=PPC440 ; \
+ mcpu=603 : -DCPU=PPC603 ; \
+ mcpu=604 : -DCPU=PPC604 ; \
+ mcpu=860 : -DCPU=PPC860 ; \
+ mcpu=8540: -DCPU=PPC85XX ; \
+ : -DCPU=PPC604 }}" \
+VXWORKS_ADDITIONAL_CPP_SPEC
+
+#define CC1_SPEC \
+"%{G*} %{mno-sdata:-msdata=none} %{msdata:-msdata=default} \
%{mlittle|mlittle-endian:-mstrict-align} \
- %{profile: -p} \
+ %{profile: -p} \
%{fvec:-maltivec} %{fvec-eabi:-maltivec -mabi=altivec}"
-
-#define ASM_SPEC "%(asm_cpu) \
-%{.s: %{mregnames} %{mno-regnames}} %{.S: %{mregnames} %{mno-regnames}} \
-%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*} \
-%{mrelocatable} %{mrelocatable-lib} %{fpic:-K PIC} %{fPIC:-K PIC} -mbig"
-
-#undef MULTILIB_DEFAULTS
-#define MULTILIB_DEFAULTS { "t604" }
-
-/* We can't use .ctors/.dtors sections. */
-#undef TARGET_ASM_OUTPUT_CONSTRUCTOR
-#undef TARGET_ASM_OUTPUT_DESTRUCTOR
-
-/* Nor sdata. */
-#undef SDATA_DEFAULT_SIZE
-#define SDATA_DEFAULT_SIZE 0
+
+#define ASM_SPEC \
+"%(asm_cpu) \
+ %{.s: %{mregnames} %{mno-regnames}} %{.S: %{mregnames} %{mno-regnames}} \
+ %{v:-v} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*} \
+ %{mrelocatable} %{mrelocatable-lib} %{fpic:-K PIC} %{fPIC:-K PIC} -mbig"
+
+#undef LIB_SPEC
+#define LIB_SPEC VXWORKS_LIB_SPEC
+#undef LINK_SPEC
+#define LINK_SPEC VXWORKS_LINK_SPEC
+#undef STARTFILE_SPEC
+#define STARTFILE_SPEC VXWORKS_STARTFILE_SPEC
+#undef ENDFILE_SPEC
+#define ENDFILE_SPEC VXWORKS_ENDFILE_SPEC
+
+/* There is no default multilib. */
+#undef MULTILIB_DEFAULTS
+
+#undef TARGET_DEFAULT
+#define TARGET_DEFAULT \
+ (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_EABI | MASK_STRICT_ALIGN)
+
+#undef PROCESSOR_DEFAULT
+#define PROCESSOR_DEFAULT PROCESSOR_PPC604
+
+/* Nor sdata, for kernel mode. We use this in
+ SUBSUBTARGET_INITIALIZE_OPTIONS, after rs6000_rtp has been initialized. */
+#undef SDATA_DEFAULT_SIZE
+#define SDATA_DEFAULT_SIZE (TARGET_VXWORKS_RTP ? 8 : 0)
+
+#undef STACK_BOUNDARY
+#define STACK_BOUNDARY (16*BITS_PER_UNIT)
+/* Override sysv4.h, reset to the default. */
+#undef PREFERRED_STACK_BOUNDARY
+
+/* Enable SPE */
+#undef TARGET_SPE_ABI
+#undef TARGET_SPE
+#undef TARGET_E500
+#undef TARGET_ISEL
+#undef TARGET_FPRS
+
+#define TARGET_SPE_ABI rs6000_spe_abi
+#define TARGET_SPE rs6000_spe
+#define TARGET_E500 (rs6000_cpu == PROCESSOR_PPC8540)
+#define TARGET_ISEL rs6000_isel
+#define TARGET_FPRS (!rs6000_float_gprs)
+
+/* Make -mcpu=8540 imply SPE. ISEL is automatically enabled, the
+ others must be done by hand. Handle -mrtp. Disable -fPIC
+ for -mrtp - the VxWorks PIC model is not compatible with it. */
+#undef SUBSUBTARGET_OVERRIDE_OPTIONS
+#define SUBSUBTARGET_OVERRIDE_OPTIONS \
+ do { \
+ if (TARGET_E500) \
+ { \
+ rs6000_spe = 1; \
+ rs6000_spe_abi = 1; \
+ rs6000_float_gprs = 1; \
+ } \
+ \
+ if (!g_switch_set) \
+ g_switch_value = SDATA_DEFAULT_SIZE; \
+ VXWORKS_OVERRIDE_OPTIONS; \
+ } while (0)
+
+/* No _mcount profiling on VxWorks. */
+#undef FUNCTION_PROFILER
+#define FUNCTION_PROFILER(FILE,LABELNO) VXWORKS_FUNCTION_PROFILER(FILE,LABELNO)
diff --git a/gcc/config/s390/2084.md b/gcc/config/s390/2084.md
index 44df7c680a6..be56f76ad14 100644
--- a/gcc/config/s390/2084.md
+++ b/gcc/config/s390/2084.md
@@ -62,69 +62,69 @@
;;
(define_insn_reservation "x_int" 1
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(and (eq_attr "type" "integer")
(eq_attr "atype" "reg")))
"x-e1-st,x-wr-st")
(define_insn_reservation "x_agen" 1
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(and (eq_attr "type" "integer")
(eq_attr "atype" "agen")))
"x-e1-st,x-wr-st")
(define_insn_reservation "x_lr" 1
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "lr"))
"x-e1-st,x-wr-st")
(define_insn_reservation "x_la" 1
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "la"))
"x-e1-st,x-wr-st")
(define_insn_reservation "x_larl" 1
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "larl"))
"x-e1-st,x-wr-st")
(define_insn_reservation "x_load" 1
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "load"))
"x-e1-st+x-mem,x-wr-st")
(define_insn_reservation "x_store" 1
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "store"))
"x-e1-st+x_store_tok,x-wr-st")
(define_insn_reservation "x_branch" 1
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "branch"))
"x_e1_r,x_wr_r")
(define_insn_reservation "x_call" 5
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "jsr"))
"x-e1-np*5,x-wr-np")
(define_insn_reservation "x_mul_hi" 2
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "imulhi"))
"x-e1-np*2,x-wr-np")
(define_insn_reservation "x_mul_sidi" 4
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "imulsi,imuldi"))
"x-e1-np*4,x-wr-np")
(define_insn_reservation "x_div" 10
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "idiv"))
"x-e1-np*10,x-wr-np")
(define_insn_reservation "x_sem" 17
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "sem"))
"x-e1-np+x-mem,x-e1-np*16,x-wr-st")
@@ -133,27 +133,27 @@
;;
(define_insn_reservation "x_cs" 1
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "cs"))
"x-e1-np,x-wr-np")
(define_insn_reservation "x_vs" 1
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "vs"))
"x-e1-np*10,x-wr-np")
(define_insn_reservation "x_stm" 1
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "stm"))
"(x-e1-np+x_store_tok)*10,x-wr-np")
(define_insn_reservation "x_lm" 1
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "lm"))
"x-e1-np*10,x-wr-np")
(define_insn_reservation "x_other" 1
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "other"))
"x-e1-np,x-wr-np")
@@ -162,52 +162,52 @@
;;
(define_insn_reservation "x_fsimpdf" 6
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "fsimpdf,fmuldf"))
"x_e1_t,x-wr-fp")
(define_insn_reservation "x_fsimpsf" 6
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "fsimpsf,fmulsf"))
"x_e1_t,x-wr-fp")
(define_insn_reservation "x_fdivdf" 36
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "fdivdf,fsqrtdf"))
"x_e1_t*30,x-wr-fp")
(define_insn_reservation "x_fdivsf" 36
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "fdivsf,fsqrtsf"))
"x_e1_t*30,x-wr-fp")
(define_insn_reservation "x_floaddf" 6
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "floaddf"))
"x_e1_t,x-wr-fp")
(define_insn_reservation "x_floadsf" 6
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "floadsf"))
"x_e1_t,x-wr-fp")
(define_insn_reservation "x_fstoredf" 1
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "fstoredf"))
"x_e1_t,x-wr-fp")
(define_insn_reservation "x_fstoresf" 1
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "fstoresf"))
"x_e1_t,x-wr-fp")
(define_insn_reservation "x_ftoi" 1
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "ftoi"))
"x_e1_t*3,x-wr-fp")
(define_insn_reservation "x_itof" 7
- (and (eq_attr "cpu" "z990")
+ (and (eq_attr "cpu" "z990,z9_109")
(eq_attr "type" "itof"))
"x_e1_t*3,x-wr-fp")
diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h
index 866ed5edd47..4f58c734547 100644
--- a/gcc/config/s390/linux.h
+++ b/gcc/config/s390/linux.h
@@ -94,4 +94,10 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
#define MD_UNWIND_SUPPORT "config/s390/linux-unwind.h"
+#ifdef TARGET_LIBC_PROVIDES_SSP
+/* s390 glibc provides __stack_chk_guard in 0x14(tp),
+ s390x glibc provides it at 0x28(tp). */
+#define TARGET_THREAD_SSP_OFFSET (TARGET_64BIT ? 0x28 : 0x14)
+#endif
+
#endif
diff --git a/gcc/config/s390/predicates.md b/gcc/config/s390/predicates.md
index fb8a9a40085..9f8f8237075 100644
--- a/gcc/config/s390/predicates.md
+++ b/gcc/config/s390/predicates.md
@@ -75,13 +75,63 @@
(and (match_test "mode == Pmode")
(match_test "!legitimate_la_operand_p (op)"))))
+;; Return true if OP is a valid operand for setmem.
+
+(define_predicate "setmem_operand"
+ (match_code "reg, subreg, plus, const_int")
+{
+ HOST_WIDE_INT offset = 0;
+
+ /* The padding byte operand of the mvcle instruction is always truncated
+ to the 8 least significant bits. */
+ if (GET_CODE (op) == AND && GET_CODE (XEXP (op, 1)) == CONST_INT
+ && (INTVAL (XEXP (op, 1)) & 255) == 255)
+ op = XEXP (op, 0);
+
+ /* We can have an integer constant, an address register,
+ or a sum of the two. Note that reload already checks
+ that any register present is an address register, so
+ we just check for any register here. */
+ if (GET_CODE (op) == CONST_INT)
+ {
+ offset = INTVAL (op);
+ op = NULL_RTX;
+ }
+ if (op && GET_CODE (op) == PLUS && GET_CODE (XEXP (op, 1)) == CONST_INT)
+ {
+ offset = INTVAL (XEXP (op, 1));
+ op = XEXP (op, 0);
+ }
+ while (op && GET_CODE (op) == SUBREG)
+ op = SUBREG_REG (op);
+ if (op && GET_CODE (op) != REG)
+ return false;
+
+ if (op && REGNO (op) < FIRST_PSEUDO_REGISTER
+ && !GENERAL_REGNO_P (REGNO (op)))
+ return false;
+
+ /* Unfortunately we have to reject constants that are invalid
+ for an address, or else reload will get confused. */
+ if (!DISP_IN_RANGE (offset))
+ return false;
+
+ return true;
+})
+
;; Return true if OP is a valid shift count operand.
(define_predicate "shift_count_operand"
- (match_code "reg, subreg, plus, const_int")
+ (match_code "reg, subreg, plus, const_int, and")
{
HOST_WIDE_INT offset = 0;
+ /* Shift count operands are always truncated to the 6 least significant bits.
+ So we can accept pointless ANDs here. */
+ if (GET_CODE (op) == AND && GET_CODE (XEXP (op, 1)) == CONST_INT
+ && (INTVAL (XEXP (op, 1)) & 63) == 63)
+ op = XEXP (op, 0);
+
/* We can have an integer constant, an address register,
or a sum of the two. Note that reload already checks
that any register present is an address register, so
@@ -101,6 +151,10 @@
if (op && GET_CODE (op) != REG)
return false;
+ if (op && REGNO (op) < FIRST_PSEUDO_REGISTER
+ && !GENERAL_REGNO_P (REGNO (op)))
+ return false;
+
/* Unfortunately we have to reject constants that are invalid
for an address, or else reload will get confused. */
if (!DISP_IN_RANGE (offset))
diff --git a/gcc/config/s390/s390-protos.h b/gcc/config/s390/s390-protos.h
index 7d63c7503e3..c9480591b23 100644
--- a/gcc/config/s390/s390-protos.h
+++ b/gcc/config/s390/s390-protos.h
@@ -91,6 +91,7 @@ extern void s390_initialize_trampoline (rtx, rtx, rtx);
extern rtx s390_gen_rtx_const_DI (int, int);
extern int s390_agen_dep_p (rtx, rtx);
extern rtx s390_load_got (void);
+extern rtx s390_get_thread_pointer (void);
extern void s390_emit_tpf_eh_return (rtx);
extern bool s390_legitimate_address_without_index_p (rtx);
extern int s390_branch_condition_mask (rtx);
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index e10afafabdf..0dea709faff 100644
--- a/gcc/config/s390/s390.c
+++ b/gcc/config/s390/s390.c
@@ -153,6 +153,36 @@ struct processor_costs z990_cost =
COSTS_N_INSNS (31), /* DSGR */
};
+static const
+struct processor_costs z9_109_cost =
+{
+ COSTS_N_INSNS (4), /* M */
+ COSTS_N_INSNS (2), /* MGHI */
+ COSTS_N_INSNS (2), /* MH */
+ COSTS_N_INSNS (2), /* MHI */
+ COSTS_N_INSNS (4), /* ML */
+ COSTS_N_INSNS (4), /* MR */
+ COSTS_N_INSNS (5), /* MS */
+ COSTS_N_INSNS (6), /* MSG */
+ COSTS_N_INSNS (4), /* MSGF */
+ COSTS_N_INSNS (4), /* MSGFR */
+ COSTS_N_INSNS (4), /* MSGR */
+ COSTS_N_INSNS (4), /* MSR */
+ COSTS_N_INSNS (1), /* multiplication in DFmode */
+ COSTS_N_INSNS (66), /* SQDBR */
+ COSTS_N_INSNS (38), /* SQEBR */
+ COSTS_N_INSNS (1), /* MADBR */
+ COSTS_N_INSNS (1), /* MAEBR */
+ COSTS_N_INSNS (40), /* DDBR */
+ COSTS_N_INSNS (37), /* DDR */
+ COSTS_N_INSNS (26), /* DDBR */
+ COSTS_N_INSNS (28), /* DER */
+ COSTS_N_INSNS (30), /* DLGR */
+ COSTS_N_INSNS (23), /* DLR */
+ COSTS_N_INSNS (23), /* DR */
+ COSTS_N_INSNS (24), /* DSGFR */
+ COSTS_N_INSNS (24), /* DSGR */
+};
extern int reload_completed;
@@ -224,7 +254,10 @@ struct s390_frame_layout GTY (())
/* Number of floating point registers f8-f15 which must be saved. */
int high_fprs;
- /* Set if return address needs to be saved. */
+ /* Set if return address needs to be saved.
+ This flag is set by s390_return_addr_rtx if it could not use
+ the initial value of r14 and therefore depends on r14 saved
+ to the stack. */
bool save_return_addr_p;
/* Size of stack frame. */
@@ -264,6 +297,18 @@ struct machine_function GTY(())
#define GP_ARG_NUM_REG 5
#define FP_ARG_NUM_REG (TARGET_64BIT? 4 : 2)
+/* A couple of shortcuts. */
+#define CONST_OK_FOR_J(x) \
+ CONST_OK_FOR_CONSTRAINT_P((x), 'J', "J")
+#define CONST_OK_FOR_K(x) \
+ CONST_OK_FOR_CONSTRAINT_P((x), 'K', "K")
+#define CONST_OK_FOR_Os(x) \
+ CONST_OK_FOR_CONSTRAINT_P((x), 'O', "Os")
+#define CONST_OK_FOR_Op(x) \
+ CONST_OK_FOR_CONSTRAINT_P((x), 'O', "Op")
+#define CONST_OK_FOR_On(x) \
+ CONST_OK_FOR_CONSTRAINT_P((x), 'O', "On")
+
/* Set the has_landing_pad_p flag in struct machine_function to VALUE. */
void
@@ -443,7 +488,7 @@ s390_select_ccmode (enum rtx_code code, rtx op0, rtx op1)
&& GET_MODE_CLASS (GET_MODE (op0)) == MODE_INT)
return CCAPmode;
if (GET_CODE (op0) == PLUS && GET_CODE (XEXP (op0, 1)) == CONST_INT
- && CONST_OK_FOR_CONSTRAINT_P (INTVAL (XEXP (op0, 1)), 'K', "K"))
+ && CONST_OK_FOR_K (INTVAL (XEXP (op0, 1))))
return CCAPmode;
if ((GET_CODE (op0) == PLUS || GET_CODE (op0) == MINUS
|| GET_CODE (op1) == NEG)
@@ -492,7 +537,7 @@ s390_select_ccmode (enum rtx_code code, rtx op0, rtx op1)
int a, b; if ((b = a + c) > 0)
with c as a constant value: c < 0 -> CCAN and c >= 0 -> CCAP */
if (GET_CODE (op0) == PLUS && GET_CODE (XEXP (op0, 1)) == CONST_INT
- && CONST_OK_FOR_CONSTRAINT_P (INTVAL (XEXP (op0, 1)), 'K', "K"))
+ && CONST_OK_FOR_K (INTVAL (XEXP (op0, 1))))
{
if (INTVAL (XEXP((op0), 1)) < 0)
return CCANmode;
@@ -664,6 +709,13 @@ s390_canonicalize_comparison (enum rtx_code *code, rtx *op0, rtx *op1)
*code = NE;
*op0 = XEXP (*op0, 0);
}
+
+ /* Prefer register over memory as first operand. */
+ if (MEM_P (*op0) && REG_P (*op1))
+ {
+ rtx tem = *op0; *op0 = *op1; *op1 = tem;
+ *code = swap_condition (*code);
+ }
}
/* Emit a compare instruction suitable to implement the comparison
@@ -938,7 +990,8 @@ s390_extract_part (rtx op, enum machine_mode mode, int def)
unsigned HOST_WIDE_INT value = 0;
int max_parts = HOST_BITS_PER_WIDE_INT / GET_MODE_BITSIZE (mode);
int part_bits = GET_MODE_BITSIZE (mode);
- unsigned HOST_WIDE_INT part_mask = (1 << part_bits) - 1;
+ unsigned HOST_WIDE_INT part_mask
+ = ((unsigned HOST_WIDE_INT)1 << part_bits) - 1;
int i;
for (i = 0; i < max_parts; i++)
@@ -967,7 +1020,8 @@ s390_single_part (rtx op,
{
unsigned HOST_WIDE_INT value = 0;
int n_parts = GET_MODE_SIZE (mode) / GET_MODE_SIZE (part_mode);
- unsigned HOST_WIDE_INT part_mask = (1 << GET_MODE_BITSIZE (part_mode)) - 1;
+ unsigned HOST_WIDE_INT part_mask
+ = ((unsigned HOST_WIDE_INT)1 << GET_MODE_BITSIZE (part_mode)) - 1;
int i, part = -1;
if (GET_CODE (op) != CONST_INT)
@@ -1189,6 +1243,8 @@ s390_handle_arch_option (const char *arg,
{"z900", PROCESSOR_2064_Z900, PF_IEEE_FLOAT | PF_ZARCH},
{"z990", PROCESSOR_2084_Z990, PF_IEEE_FLOAT | PF_ZARCH
| PF_LONG_DISPLACEMENT},
+ {"z9-109", PROCESSOR_2094_Z9_109, PF_IEEE_FLOAT | PF_ZARCH
+ | PF_LONG_DISPLACEMENT | PF_EXTIMM},
};
size_t i;
@@ -1275,14 +1331,14 @@ override_options (void)
if (TARGET_64BIT && !TARGET_ZARCH)
error ("64-bit ABI not supported in ESA/390 mode");
-
/* Set processor cost function. */
- if (s390_tune == PROCESSOR_2084_Z990)
+ if (s390_tune == PROCESSOR_2094_Z9_109)
+ s390_cost = &z9_109_cost;
+ else if (s390_tune == PROCESSOR_2084_Z990)
s390_cost = &z990_cost;
else
s390_cost = &z900_cost;
-
-
+
if (TARGET_BACKCHAIN && TARGET_PACKED_STACK && TARGET_HARD_FLOAT)
error ("-mbackchain -mpacked-stack -mhard-float are not supported "
"in combination");
@@ -1826,8 +1882,9 @@ s390_const_ok_for_constraint_p (HOST_WIDE_INT value,
switch (str[2])
{
- case 'H': part_mode = HImode; break;
- case 'Q': part_mode = QImode; break;
+ case 'Q': part_mode = QImode; break;
+ case 'H': part_mode = HImode; break;
+ case 'S': part_mode = SImode; break;
default: return 0;
}
@@ -1857,6 +1914,31 @@ s390_const_ok_for_constraint_p (HOST_WIDE_INT value,
break;
+ case 'O':
+ if (!TARGET_EXTIMM)
+ return 0;
+
+ switch (str[1])
+ {
+ case 's':
+ return trunc_int_for_mode (value, SImode) == value;
+
+ case 'p':
+ return value == 0
+ || s390_single_part (GEN_INT (value), DImode, SImode, 0) == 1;
+
+ case 'n':
+ return value == -1
+ || s390_single_part (GEN_INT (value), DImode, SImode, -1) == 1;
+
+ default:
+ gcc_unreachable ();
+ }
+ break;
+
+ case 'P':
+ return legitimate_reload_constant_p (GEN_INT (value));
+
default:
return 0;
}
@@ -1925,7 +2007,7 @@ s390_rtx_costs (rtx x, int code, int outer_code, int *total)
rtx left = XEXP (x, 0);
rtx right = XEXP (x, 1);
if (GET_CODE (right) == CONST_INT
- && CONST_OK_FOR_CONSTRAINT_P (INTVAL (right), 'K', "K"))
+ && CONST_OK_FOR_K (INTVAL (right)))
*total = s390_cost->mhi;
else if (GET_CODE (left) == SIGN_EXTEND)
*total = s390_cost->mh;
@@ -1940,7 +2022,7 @@ s390_rtx_costs (rtx x, int code, int outer_code, int *total)
if (TARGET_64BIT)
{
if (GET_CODE (right) == CONST_INT
- && CONST_OK_FOR_CONSTRAINT_P (INTVAL (right), 'K', "K"))
+ && CONST_OK_FOR_K (INTVAL (right)))
*total = s390_cost->mghi;
else if (GET_CODE (left) == SIGN_EXTEND)
*total = s390_cost->msgf;
@@ -2285,16 +2367,24 @@ legitimate_reload_constant_p (rtx op)
&& DISP_IN_RANGE (INTVAL (op)))
return true;
- /* Accept l(g)hi operands. */
+ /* Accept l(g)hi/l(g)fi operands. */
if (GET_CODE (op) == CONST_INT
- && CONST_OK_FOR_CONSTRAINT_P (INTVAL (op), 'K', "K"))
+ && (CONST_OK_FOR_K (INTVAL (op)) || CONST_OK_FOR_Os (INTVAL (op))))
return true;
/* Accept lliXX operands. */
if (TARGET_ZARCH
- && s390_single_part (op, DImode, HImode, 0) >= 0)
+ && GET_CODE (op) == CONST_INT
+ && trunc_int_for_mode (INTVAL (op), word_mode) == INTVAL (op)
+ && s390_single_part (op, word_mode, HImode, 0) >= 0)
return true;
+ if (TARGET_EXTIMM
+ && GET_CODE (op) == CONST_INT
+ && trunc_int_for_mode (INTVAL (op), word_mode) == INTVAL (op)
+ && s390_single_part (op, word_mode, SImode, 0) >= 0)
+ return true;
+
/* Accept larl operands. */
if (TARGET_CPU_ZARCH
&& larl_operand (op, VOIDmode))
@@ -2305,6 +2395,17 @@ legitimate_reload_constant_p (rtx op)
&& CONST_DOUBLE_OK_FOR_CONSTRAINT_P (op, 'G', "G"))
return true;
+ /* Accept double-word operands that can be split. */
+ if (GET_CODE (op) == CONST_INT
+ && trunc_int_for_mode (INTVAL (op), word_mode) != INTVAL (op))
+ {
+ enum machine_mode dword_mode = word_mode == SImode ? DImode : TImode;
+ rtx hi = operand_subword (op, 0, 0, dword_mode);
+ rtx lo = operand_subword (op, 1, 0, dword_mode);
+ return legitimate_reload_constant_p (hi)
+ && legitimate_reload_constant_p (lo);
+ }
+
/* Everything else cannot be handled without reload. */
return false;
}
@@ -2820,8 +2921,8 @@ legitimize_pic_address (rtx orig, rtx reg)
/* Load the thread pointer into a register. */
-static rtx
-get_thread_pointer (void)
+rtx
+s390_get_thread_pointer (void)
{
rtx tp = gen_reg_rtx (Pmode);
@@ -2881,7 +2982,7 @@ legitimize_tls_address (rtx addr, rtx reg)
temp = gen_reg_rtx (Pmode);
emit_libcall_block (insn, temp, r2, new);
- new = gen_rtx_PLUS (Pmode, get_thread_pointer (), temp);
+ new = gen_rtx_PLUS (Pmode, s390_get_thread_pointer (), temp);
if (reg != 0)
{
s390_load_address (reg, new);
@@ -2904,7 +3005,7 @@ legitimize_tls_address (rtx addr, rtx reg)
temp = gen_reg_rtx (Pmode);
emit_libcall_block (insn, temp, r2, new);
- new = gen_rtx_PLUS (Pmode, get_thread_pointer (), temp);
+ new = gen_rtx_PLUS (Pmode, s390_get_thread_pointer (), temp);
base = gen_reg_rtx (Pmode);
s390_load_address (base, new);
@@ -2991,7 +3092,7 @@ legitimize_tls_address (rtx addr, rtx reg)
emit_insn (gen_rtx_SET (Pmode, temp, new));
}
- new = gen_rtx_PLUS (Pmode, get_thread_pointer (), temp);
+ new = gen_rtx_PLUS (Pmode, s390_get_thread_pointer (), temp);
if (reg != 0)
{
s390_load_address (reg, new);
@@ -3006,7 +3107,7 @@ legitimize_tls_address (rtx addr, rtx reg)
temp = gen_reg_rtx (Pmode);
emit_move_insn (temp, new);
- new = gen_rtx_PLUS (Pmode, get_thread_pointer (), temp);
+ new = gen_rtx_PLUS (Pmode, s390_get_thread_pointer (), temp);
if (reg != 0)
{
s390_load_address (reg, new);
@@ -3746,6 +3847,17 @@ print_shift_count_operand (FILE *file, rtx op)
{
HOST_WIDE_INT offset = 0;
+ /* Shift count operands are always truncated to the 6 least significant bits and
+ the setmem padding byte to the least 8 significant bits. Hence we can drop
+ pointless ANDs. */
+ if (GET_CODE (op) == AND && GET_CODE (XEXP (op, 1)) == CONST_INT)
+ {
+ if ((INTVAL (XEXP (op, 1)) & 63) != 63)
+ gcc_unreachable ();
+
+ op = XEXP (op, 0);
+ }
+
/* We can have an integer constant, an address register,
or a sum of the two. */
if (GET_CODE (op) == CONST_INT)
@@ -3908,6 +4020,7 @@ print_operand_address (FILE *file, rtx addr)
'C': print opcode suffix for branch condition.
'D': print opcode suffix for inverse branch condition.
'J': print tls_load/tls_gdcall/tls_ldcall suffix
+ 'G': print the size of the operand in bytes.
'O': print only the displacement of a memory reference.
'R': print only the base register of a memory reference.
'S': print S-type memory reference (base+displacement).
@@ -3954,6 +4067,10 @@ print_operand (FILE *file, rtx x, int code)
gcc_unreachable ();
return;
+ case 'G':
+ fprintf (file, "%u", GET_MODE_SIZE (GET_MODE (x)));
+ return;
+
case 'O':
{
struct s390_address ad;
@@ -4064,6 +4181,14 @@ print_operand (FILE *file, rtx x, int code)
else if (code == 'j')
fprintf (file, HOST_WIDE_INT_PRINT_DEC,
s390_extract_part (x, HImode, -1));
+ else if (code == 'k')
+ fprintf (file, HOST_WIDE_INT_PRINT_DEC,
+ s390_extract_part (x, SImode, 0));
+ else if (code == 'm')
+ fprintf (file, HOST_WIDE_INT_PRINT_DEC,
+ s390_extract_part (x, SImode, -1));
+ else if (code == 'o')
+ fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x) & 0xffffffff);
else
fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x));
break;
@@ -4219,7 +4344,8 @@ s390_adjust_priority (rtx insn ATTRIBUTE_UNUSED, int priority)
if (! INSN_P (insn))
return priority;
- if (s390_tune != PROCESSOR_2084_Z990)
+ if (s390_tune != PROCESSOR_2084_Z990
+ && s390_tune != PROCESSOR_2094_Z9_109)
return priority;
switch (s390_safe_attr_type (insn))
@@ -4243,7 +4369,8 @@ s390_adjust_priority (rtx insn ATTRIBUTE_UNUSED, int priority)
static int
s390_issue_rate (void)
{
- if (s390_tune == PROCESSOR_2084_Z990)
+ if (s390_tune == PROCESSOR_2084_Z990
+ || s390_tune == PROCESSOR_2094_Z9_109)
return 3;
return 1;
}
@@ -5804,30 +5931,34 @@ s390_register_info (int clobbered_regs[])
s390_regs_ever_clobbered (clobbered_regs);
for (i = 0; i < 16; i++)
- clobbered_regs[i] = clobbered_regs[i] && !global_regs[i];
+ clobbered_regs[i] = clobbered_regs[i] && !global_regs[i] && !fixed_regs[i];
if (frame_pointer_needed)
clobbered_regs[HARD_FRAME_POINTER_REGNUM] = 1;
if (flag_pic)
clobbered_regs[PIC_OFFSET_TABLE_REGNUM]
- = regs_ever_live[PIC_OFFSET_TABLE_REGNUM];
+ |= regs_ever_live[PIC_OFFSET_TABLE_REGNUM];
clobbered_regs[BASE_REGNUM]
- = cfun->machine->base_reg
- && REGNO (cfun->machine->base_reg) == BASE_REGNUM;
+ |= (cfun->machine->base_reg
+ && REGNO (cfun->machine->base_reg) == BASE_REGNUM);
clobbered_regs[RETURN_REGNUM]
- = cfun->machine->split_branches_pending_p
- || cfun_frame_layout.save_return_addr_p;
+ |= (!current_function_is_leaf
+ || TARGET_TPF_PROFILING
+ || cfun->machine->split_branches_pending_p
+ || cfun_frame_layout.save_return_addr_p
+ || current_function_calls_eh_return
+ || current_function_stdarg);
clobbered_regs[STACK_POINTER_REGNUM]
- = !current_function_is_leaf
- || TARGET_TPF_PROFILING
- || cfun_save_high_fprs_p
- || get_frame_size () > 0
- || current_function_calls_alloca
- || current_function_stdarg;
+ |= (!current_function_is_leaf
+ || TARGET_TPF_PROFILING
+ || cfun_save_high_fprs_p
+ || get_frame_size () > 0
+ || current_function_calls_alloca
+ || current_function_stdarg);
for (i = 6; i < 16; i++)
if (clobbered_regs[i])
@@ -6018,16 +6149,6 @@ s390_init_frame_layout (void)
int base_used;
int clobbered_regs[16];
- /* If return address register is explicitly used, we need to save it. */
- s390_regs_ever_clobbered (clobbered_regs);
-
- if (clobbered_regs[RETURN_REGNUM]
- || !current_function_is_leaf
- || TARGET_TPF_PROFILING
- || current_function_stdarg
- || current_function_calls_eh_return)
- cfun_frame_layout.save_return_addr_p = true;
-
/* On S/390 machines, we may need to perform branch splitting, which
will require both base and return address register. We have no
choice but to assume we're going to need them until right at the
@@ -6043,7 +6164,7 @@ s390_init_frame_layout (void)
base_used = cfun->machine->split_branches_pending_p
|| current_function_uses_const_pool
|| (!DISP_IN_RANGE (-frame_size)
- && !CONST_OK_FOR_CONSTRAINT_P (-frame_size, 'K', "K"));
+ && !CONST_OK_FOR_K (-frame_size));
/* Decide which register to use as literal pool base. In small
leaf functions, try to use an unused call-clobbered register
@@ -6207,7 +6328,7 @@ save_gprs (rtx base, int offset, int first, int last)
However, we must not emit DWARF records for registers 2..5
if they are stored for use by variable arguments ...
- ??? Unfortunately, it is not enough to simply not the the
+ ??? Unfortunately, it is not enough to simply not the
FRAME_RELATED flags for those SETs, because the first SET
of the PARALLEL is always treated as if it had the flag
set, even if it does not. Therefore we emit a new pattern
@@ -6471,7 +6592,7 @@ s390_emit_prologue (void)
}
else
{
- if (!CONST_OK_FOR_CONSTRAINT_P (INTVAL (frame_off), 'K', "K"))
+ if (!CONST_OK_FOR_K (INTVAL (frame_off)))
frame_off = force_const_mem (Pmode, frame_off);
insn = emit_insn (gen_add2_insn (stack_pointer_rtx, frame_off));
@@ -6638,7 +6759,7 @@ s390_emit_epilogue (bool sibcall)
}
else
{
- if (!CONST_OK_FOR_CONSTRAINT_P (INTVAL (frame_off), 'K', "K"))
+ if (!CONST_OK_FOR_K (INTVAL (frame_off)))
frame_off = force_const_mem (Pmode, frame_off);
insn = emit_insn (gen_add2_insn (frame_pointer, frame_off));
@@ -7672,9 +7793,11 @@ s390_output_mi_thunk (FILE *file, tree thunk ATTRIBUTE_UNUSED,
{
/* Setup literal pool pointer if required. */
if ((!DISP_IN_RANGE (delta)
- && !CONST_OK_FOR_CONSTRAINT_P (delta, 'K', "K"))
+ && !CONST_OK_FOR_K (delta)
+ && !CONST_OK_FOR_Os (delta))
|| (!DISP_IN_RANGE (vcall_offset)
- && !CONST_OK_FOR_CONSTRAINT_P (vcall_offset, 'K', "K")))
+ && !CONST_OK_FOR_K (vcall_offset)
+ && !CONST_OK_FOR_Os (vcall_offset)))
{
op[5] = gen_label_rtx ();
output_asm_insn ("larl\t%4,%5", op);
@@ -7683,12 +7806,14 @@ s390_output_mi_thunk (FILE *file, tree thunk ATTRIBUTE_UNUSED,
/* Add DELTA to this pointer. */
if (delta)
{
- if (CONST_OK_FOR_CONSTRAINT_P (delta, 'J', "J"))
+ if (CONST_OK_FOR_J (delta))
output_asm_insn ("la\t%1,%2(%1)", op);
else if (DISP_IN_RANGE (delta))
output_asm_insn ("lay\t%1,%2(%1)", op);
- else if (CONST_OK_FOR_CONSTRAINT_P (delta, 'K', "K"))
+ else if (CONST_OK_FOR_K (delta))
output_asm_insn ("aghi\t%1,%2", op);
+ else if (CONST_OK_FOR_Os (delta))
+ output_asm_insn ("agfi\t%1,%2", op);
else
{
op[6] = gen_label_rtx ();
@@ -7704,12 +7829,18 @@ s390_output_mi_thunk (FILE *file, tree thunk ATTRIBUTE_UNUSED,
output_asm_insn ("lg\t%4,0(%1)", op);
output_asm_insn ("ag\t%1,%3(%4)", op);
}
- else if (CONST_OK_FOR_CONSTRAINT_P (vcall_offset, 'K', "K"))
+ else if (CONST_OK_FOR_K (vcall_offset))
{
output_asm_insn ("lghi\t%4,%3", op);
output_asm_insn ("ag\t%4,0(%1)", op);
output_asm_insn ("ag\t%1,0(%4)", op);
}
+ else if (CONST_OK_FOR_Os (vcall_offset))
+ {
+ output_asm_insn ("lgfi\t%4,%3", op);
+ output_asm_insn ("ag\t%4,0(%1)", op);
+ output_asm_insn ("ag\t%1,0(%4)", op);
+ }
else
{
op[7] = gen_label_rtx ();
@@ -7747,9 +7878,11 @@ s390_output_mi_thunk (FILE *file, tree thunk ATTRIBUTE_UNUSED,
/* Setup base pointer if required. */
if (!vcall_offset
|| (!DISP_IN_RANGE (delta)
- && !CONST_OK_FOR_CONSTRAINT_P (delta, 'K', "K"))
+ && !CONST_OK_FOR_K (delta)
+ && !CONST_OK_FOR_Os (delta))
|| (!DISP_IN_RANGE (delta)
- && !CONST_OK_FOR_CONSTRAINT_P (vcall_offset, 'K', "K")))
+ && !CONST_OK_FOR_K (vcall_offset)
+ && !CONST_OK_FOR_Os (vcall_offset)))
{
op[5] = gen_label_rtx ();
output_asm_insn ("basr\t%4,0", op);
@@ -7760,12 +7893,14 @@ s390_output_mi_thunk (FILE *file, tree thunk ATTRIBUTE_UNUSED,
/* Add DELTA to this pointer. */
if (delta)
{
- if (CONST_OK_FOR_CONSTRAINT_P (delta, 'J', "J"))
+ if (CONST_OK_FOR_J (delta))
output_asm_insn ("la\t%1,%2(%1)", op);
else if (DISP_IN_RANGE (delta))
output_asm_insn ("lay\t%1,%2(%1)", op);
- else if (CONST_OK_FOR_CONSTRAINT_P (delta, 'K', "K"))
+ else if (CONST_OK_FOR_K (delta))
output_asm_insn ("ahi\t%1,%2", op);
+ else if (CONST_OK_FOR_Os (delta))
+ output_asm_insn ("afi\t%1,%2", op);
else
{
op[6] = gen_label_rtx ();
@@ -7776,22 +7911,28 @@ s390_output_mi_thunk (FILE *file, tree thunk ATTRIBUTE_UNUSED,
/* Perform vcall adjustment. */
if (vcall_offset)
{
- if (CONST_OK_FOR_CONSTRAINT_P (vcall_offset, 'J', "J"))
+ if (CONST_OK_FOR_J (vcall_offset))
{
- output_asm_insn ("lg\t%4,0(%1)", op);
+ output_asm_insn ("l\t%4,0(%1)", op);
output_asm_insn ("a\t%1,%3(%4)", op);
}
else if (DISP_IN_RANGE (vcall_offset))
{
- output_asm_insn ("lg\t%4,0(%1)", op);
+ output_asm_insn ("l\t%4,0(%1)", op);
output_asm_insn ("ay\t%1,%3(%4)", op);
}
- else if (CONST_OK_FOR_CONSTRAINT_P (vcall_offset, 'K', "K"))
+ else if (CONST_OK_FOR_K (vcall_offset))
{
output_asm_insn ("lhi\t%4,%3", op);
output_asm_insn ("a\t%4,0(%1)", op);
output_asm_insn ("a\t%1,0(%4)", op);
}
+ else if (CONST_OK_FOR_Os (vcall_offset))
+ {
+ output_asm_insn ("iilf\t%4,%3", op);
+ output_asm_insn ("a\t%4,0(%1)", op);
+ output_asm_insn ("a\t%1,0(%4)", op);
+ }
else
{
op[7] = gen_label_rtx ();
diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h
index 8df3b32b73b..af740baa874 100644
--- a/gcc/config/s390/s390.h
+++ b/gcc/config/s390/s390.h
@@ -40,6 +40,7 @@ enum processor_type
PROCESSOR_9672_G6,
PROCESSOR_2064_Z900,
PROCESSOR_2084_Z990,
+ PROCESSOR_2094_Z9_109,
PROCESSOR_max
};
@@ -49,7 +50,8 @@ enum processor_flags
{
PF_IEEE_FLOAT = 1,
PF_ZARCH = 2,
- PF_LONG_DISPLACEMENT = 4
+ PF_LONG_DISPLACEMENT = 4,
+ PF_EXTIMM = 8
};
extern enum processor_type s390_tune;
@@ -64,10 +66,13 @@ extern enum processor_flags s390_arch_flags;
(s390_arch_flags & PF_ZARCH)
#define TARGET_CPU_LONG_DISPLACEMENT \
(s390_arch_flags & PF_LONG_DISPLACEMENT)
+#define TARGET_CPU_EXTIMM \
+ (s390_arch_flags & PF_EXTIMM)
#define TARGET_LONG_DISPLACEMENT \
(TARGET_ZARCH && TARGET_CPU_LONG_DISPLACEMENT)
-
+#define TARGET_EXTIMM \
+ (TARGET_ZARCH && TARGET_CPU_EXTIMM)
/* Run-time target specification. */
@@ -501,7 +506,8 @@ extern const enum reg_class regclass_map[FIRST_PSEUDO_REGISTER];
((C) == 'U' || (C) == 'W' || (C) == 'Y')
#define CONSTRAINT_LEN(C, STR) \
- ((C) == 'N' ? 5 : \
+ ((C) == 'N' ? 5 : \
+ (C) == 'O' ? 2 : \
(C) == 'A' ? 2 : \
(C) == 'B' ? 2 : DEFAULT_CONSTRAINT_LEN ((C), (STR)))
@@ -980,6 +986,9 @@ do { \
indexing purposes) so give the MEM rtx a byte's mode. */
#define FUNCTION_MODE QImode
+/* Specify the value which is used when clz operand is zero. */
+#define CLZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) ((VALUE) = 64, 1)
+
/* Machine-specific symbol_ref flags. */
#define SYMBOL_FLAG_ALIGN1 (SYMBOL_FLAG_MACH_DEP << 0)
diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md
index 453191457d6..84e58d7838d 100644
--- a/gcc/config/s390/s390.md
+++ b/gcc/config/s390/s390.md
@@ -47,6 +47,13 @@
;; has a value different from its other parts. If the letter x
;; is specified instead of a part number, the constraint matches
;; if there is any single part with non-default value.
+;; O -- Multiple letter constraint followed by 1 parameter.
+;; s: Signed extended immediate value (-2G .. 2G-1).
+;; p: Positive extended immediate value (0 .. 4G-1).
+;; n: Negative extended immediate value (-4G .. -1).
+;; These constraints do not accept any operand if the machine does
+;; not provide the extended-immediate facility.
+;; P -- Any integer constant that can be loaded without literal pool.
;; Q -- Memory reference without index register and with short displacement.
;; R -- Memory reference with index register and short displacement.
;; S -- Memory reference without index register but with long displacement.
@@ -122,7 +129,12 @@
(UNSPEC_TLS_LOAD 512)
; String Functions
- (UNSPEC_SRST 600)
+ (UNSPEC_SRST 600)
+ (UNSPEC_MVST 601)
+
+ ; Stack Smashing Protector
+ (UNSPEC_SP_SET 700)
+ (UNSPEC_SP_TEST 701)
])
;;
@@ -244,7 +256,7 @@
;; distinguish between g5 and g6, but there are differences between the two
;; CPUs could in theory be modeled.
-(define_attr "cpu" "g5,g6,z900,z990"
+(define_attr "cpu" "g5,g6,z900,z990,z9_109"
(const (symbol_ref "s390_tune")))
;; Pipeline description for z900. For lack of anything better,
@@ -433,13 +445,36 @@
"ltgfr\t%2,%0"
[(set_attr "op_type" "RRE")])
+(define_insn "*tstdi_extimm"
+ [(set (reg CC_REGNUM)
+ (compare (match_operand:DI 0 "nonimmediate_operand" "d,m")
+ (match_operand:DI 1 "const0_operand" "")))
+ (set (match_operand:DI 2 "register_operand" "=d,d")
+ (match_dup 0))]
+ "s390_match_ccmode(insn, CCSmode) && TARGET_64BIT && TARGET_EXTIMM"
+ "@
+ ltgr\t%2,%0
+ ltg\t%2,%0"
+ [(set_attr "op_type" "RRE,RXY")])
+
+(define_insn "*tstdi_cconly_extimm"
+ [(set (reg CC_REGNUM)
+ (compare (match_operand:DI 0 "nonimmediate_operand" "d,m")
+ (match_operand:DI 1 "const0_operand" "")))
+ (clobber (match_scratch:DI 2 "=X,d"))]
+ "s390_match_ccmode(insn, CCSmode) && TARGET_64BIT && TARGET_EXTIMM"
+ "@
+ ltgr\t%0,%0
+ ltg\t%2,%0"
+ [(set_attr "op_type" "RRE,RXY")])
+
(define_insn "*tstdi"
[(set (reg CC_REGNUM)
(compare (match_operand:DI 0 "register_operand" "d")
(match_operand:DI 1 "const0_operand" "")))
(set (match_operand:DI 2 "register_operand" "=d")
(match_dup 0))]
- "s390_match_ccmode(insn, CCSmode) && TARGET_64BIT"
+ "s390_match_ccmode(insn, CCSmode) && TARGET_64BIT && !TARGET_EXTIMM"
"ltgr\t%2,%0"
[(set_attr "op_type" "RRE")])
@@ -460,6 +495,28 @@
[(set_attr "op_type" "RS")
(set_attr "atype" "reg")])
+(define_insn "*tstsi_extimm"
+ [(set (reg CC_REGNUM)
+ (compare (match_operand:SI 0 "nonimmediate_operand" "d,m")
+ (match_operand:SI 1 "const0_operand" "")))
+ (set (match_operand:SI 2 "register_operand" "=d,d")
+ (match_dup 0))]
+ "s390_match_ccmode(insn, CCSmode) && TARGET_EXTIMM"
+ "@
+ ltr\t%2,%0
+ lt\t%2,%0"
+ [(set_attr "op_type" "RR,RXY")])
+
+(define_insn "*tstsi_cconly_extimm"
+ [(set (reg CC_REGNUM)
+ (compare (match_operand:SI 0 "nonimmediate_operand" "d,m")
+ (match_operand:SI 1 "const0_operand" "")))
+ (clobber (match_scratch:SI 2 "=X,d"))]
+ "s390_match_ccmode(insn, CCSmode) && TARGET_EXTIMM"
+ "@
+ ltr\t%0,%0
+ lt\t%2,%0"
+ [(set_attr "op_type" "RR,RXY")])
(define_insn "*tstsi"
[(set (reg CC_REGNUM)
@@ -467,7 +524,7 @@
(match_operand:SI 1 "const0_operand" "")))
(set (match_operand:SI 2 "register_operand" "=d,d,d")
(match_dup 0))]
- "s390_match_ccmode(insn, CCSmode)"
+ "s390_match_ccmode(insn, CCSmode) && !TARGET_EXTIMM"
"@
ltr\t%2,%0
icm\t%2,15,%S0
@@ -558,28 +615,30 @@
(define_insn "*cmpdi_cct"
[(set (reg CC_REGNUM)
- (compare (match_operand:DI 0 "nonimmediate_operand" "%d,d,d,Q")
- (match_operand:DI 1 "general_operand" "d,K,m,BQ")))]
+ (compare (match_operand:DI 0 "nonimmediate_operand" "%d,d,d,d,Q")
+ (match_operand:DI 1 "general_operand" "d,K,Os,m,BQ")))]
"s390_match_ccmode (insn, CCTmode) && TARGET_64BIT"
"@
cgr\t%0,%1
cghi\t%0,%h1
+ cgfi\t%0,%1
cg\t%0,%1
#"
- [(set_attr "op_type" "RRE,RI,RXY,SS")])
+ [(set_attr "op_type" "RRE,RI,RIL,RXY,SS")])
(define_insn "*cmpsi_cct"
[(set (reg CC_REGNUM)
- (compare (match_operand:SI 0 "nonimmediate_operand" "%d,d,d,d,Q")
- (match_operand:SI 1 "general_operand" "d,K,R,T,BQ")))]
+ (compare (match_operand:SI 0 "nonimmediate_operand" "%d,d,d,d,d,Q")
+ (match_operand:SI 1 "general_operand" "d,K,Os,R,T,BQ")))]
"s390_match_ccmode (insn, CCTmode)"
"@
cr\t%0,%1
chi\t%0,%h1
+ cfi\t%0,%1
c\t%0,%1
cy\t%0,%1
#"
- [(set_attr "op_type" "RR,RI,RX,RXY,SS")])
+ [(set_attr "op_type" "RR,RI,RIL,RX,RXY,SS")])
; Compare (signed) instructions
@@ -596,14 +655,15 @@
(define_insn "*cmpdi_ccs"
[(set (reg CC_REGNUM)
- (compare (match_operand:DI 0 "register_operand" "d,d,d")
- (match_operand:DI 1 "general_operand" "d,K,m")))]
+ (compare (match_operand:DI 0 "register_operand" "d,d,d,d")
+ (match_operand:DI 1 "general_operand" "d,K,Os,m")))]
"s390_match_ccmode(insn, CCSmode) && TARGET_64BIT"
"@
cgr\t%0,%1
cghi\t%0,%h1
+ cgfi\t%0,%1
cg\t%0,%1"
- [(set_attr "op_type" "RRE,RI,RXY")])
+ [(set_attr "op_type" "RRE,RI,RIL,RXY")])
(define_insn "*cmpsi_ccs_sign"
[(set (reg CC_REGNUM)
@@ -617,15 +677,16 @@
(define_insn "*cmpsi_ccs"
[(set (reg CC_REGNUM)
- (compare (match_operand:SI 0 "register_operand" "d,d,d,d")
- (match_operand:SI 1 "general_operand" "d,K,R,T")))]
+ (compare (match_operand:SI 0 "register_operand" "d,d,d,d,d")
+ (match_operand:SI 1 "general_operand" "d,K,Os,R,T")))]
"s390_match_ccmode(insn, CCSmode)"
"@
cr\t%0,%1
chi\t%0,%h1
+ cfi\t%0,%1
c\t%0,%1
cy\t%0,%1"
- [(set_attr "op_type" "RR,RI,RX,RXY")])
+ [(set_attr "op_type" "RR,RI,RIL,RX,RXY")])
; Compare (unsigned) instructions
@@ -642,28 +703,30 @@
(define_insn "*cmpdi_ccu"
[(set (reg CC_REGNUM)
- (compare (match_operand:DI 0 "nonimmediate_operand" "d,d,Q,BQ")
- (match_operand:DI 1 "general_operand" "d,m,BQ,Q")))]
+ (compare (match_operand:DI 0 "nonimmediate_operand" "d,d,d,Q,BQ")
+ (match_operand:DI 1 "general_operand" "d,Op,m,BQ,Q")))]
"s390_match_ccmode (insn, CCUmode) && TARGET_64BIT"
"@
clgr\t%0,%1
+ clgfi\t%0,%1
clg\t%0,%1
#
#"
- [(set_attr "op_type" "RRE,RXY,SS,SS")])
+ [(set_attr "op_type" "RRE,RIL,RXY,SS,SS")])
(define_insn "*cmpsi_ccu"
[(set (reg CC_REGNUM)
- (compare (match_operand:SI 0 "nonimmediate_operand" "d,d,d,Q,BQ")
- (match_operand:SI 1 "general_operand" "d,R,T,BQ,Q")))]
+ (compare (match_operand:SI 0 "nonimmediate_operand" "d,d,d,d,Q,BQ")
+ (match_operand:SI 1 "general_operand" "d,Os,R,T,BQ,Q")))]
"s390_match_ccmode (insn, CCUmode)"
"@
clr\t%0,%1
+ clfi\t%0,%o1
cl\t%0,%1
cly\t%0,%1
#
#"
- [(set_attr "op_type" "RR,RX,RXY,SS,SS")])
+ [(set_attr "op_type" "RR,RIL,RX,RXY,SS,SS")])
(define_insn "*cmphi_ccu"
[(set (reg CC_REGNUM)
@@ -781,7 +844,7 @@
(define_insn "movti"
[(set (match_operand:TI 0 "nonimmediate_operand" "=d,QS,d,o,Q")
- (match_operand:TI 1 "general_operand" "QS,d,dKm,d,Q"))]
+ (match_operand:TI 1 "general_operand" "QS,d,dPm,d,Q"))]
"TARGET_64BIT"
"@
lmg\t%0,%N0,%S1
@@ -868,12 +931,46 @@
[(set_attr "op_type" "RIL")
(set_attr "type" "larl")])
+(define_insn "*movdi_64extimm"
+ [(set (match_operand:DI 0 "nonimmediate_operand"
+ "=d,d,d,d,d,d,d,d,d,d,d,m,!*f,!*f,!*f,!R,!T,d,t,Q,t,?Q")
+ (match_operand:DI 1 "general_operand"
+ "K,N0HD0,N1HD0,N2HD0,N3HD0,Os,N0SD0,N1SD0,L,d,m,d,*f,R,T,*f,*f,t,d,t,Q,?Q"))]
+ "TARGET_64BIT && TARGET_EXTIMM"
+ "@
+ lghi\t%0,%h1
+ llihh\t%0,%i1
+ llihl\t%0,%i1
+ llilh\t%0,%i1
+ llill\t%0,%i1
+ lgfi\t%0,%1
+ llihf\t%0,%k1
+ llilf\t%0,%k1
+ lay\t%0,%a1
+ lgr\t%0,%1
+ lg\t%0,%1
+ stg\t%1,%0
+ ldr\t%0,%1
+ ld\t%0,%1
+ ldy\t%0,%1
+ std\t%1,%0
+ stdy\t%1,%0
+ #
+ #
+ stam\t%1,%N1,%S0
+ lam\t%0,%N0,%S1
+ #"
+ [(set_attr "op_type" "RI,RI,RI,RI,RI,RIL,RIL,RIL,RXY,RRE,RXY,RXY,
+ RR,RX,RXY,RX,RXY,*,*,RS,RS,SS")
+ (set_attr "type" "*,*,*,*,*,*,*,*,la,lr,load,store,
+ floaddf,floaddf,floaddf,fstoredf,fstoredf,*,*,*,*,*")])
+
(define_insn "*movdi_64"
[(set (match_operand:DI 0 "nonimmediate_operand"
"=d,d,d,d,d,d,d,d,m,!*f,!*f,!*f,!R,!T,d,t,Q,t,?Q")
(match_operand:DI 1 "general_operand"
"K,N0HD0,N1HD0,N2HD0,N3HD0,L,d,m,d,*f,R,T,*f,*f,t,d,t,Q,?Q"))]
- "TARGET_64BIT"
+ "TARGET_64BIT && !TARGET_EXTIMM"
"@
lghi\t%0,%h1
llihh\t%0,%i1
@@ -933,12 +1030,14 @@
s390_split_access_reg (operands[0], &operands[3], &operands[4]);")
(define_insn "*movdi_31"
- [(set (match_operand:DI 0 "nonimmediate_operand" "=d,Q,d,o,!*f,!*f,!*f,!R,!T,Q")
- (match_operand:DI 1 "general_operand" "Q,d,dKm,d,*f,R,T,*f,*f,Q"))]
+ [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,Q,S,d,o,!*f,!*f,!*f,!R,!T,Q")
+ (match_operand:DI 1 "general_operand" "Q,S,d,d,dPm,d,*f,R,T,*f,*f,Q"))]
"!TARGET_64BIT"
"@
lm\t%0,%N0,%S1
+ lmy\t%0,%N0,%S1
stm\t%1,%N1,%S0
+ stmy\t%1,%N1,%S0
#
#
ldr\t%0,%1
@@ -947,8 +1046,8 @@
std\t%1,%0
stdy\t%1,%0
#"
- [(set_attr "op_type" "RS,RS,*,*,RR,RX,RXY,RX,RXY,SS")
- (set_attr "type" "lm,stm,*,*,floaddf,floaddf,floaddf,fstoredf,fstoredf,*")])
+ [(set_attr "op_type" "RS,RSY,RS,RSY,*,*,RR,RX,RXY,RX,RXY,SS")
+ (set_attr "type" "lm,lm,stm,stm,*,*,floaddf,floaddf,floaddf,fstoredf,fstoredf,*")])
(define_split
[(set (match_operand:DI 0 "nonimmediate_operand" "")
@@ -1085,14 +1184,15 @@
(define_insn "*movsi_zarch"
[(set (match_operand:SI 0 "nonimmediate_operand"
- "=d,d,d,d,d,d,d,R,T,!*f,!*f,!*f,!R,!T,d,t,Q,t,?Q")
+ "=d,d,d,d,d,d,d,d,R,T,!*f,!*f,!*f,!R,!T,d,t,Q,t,?Q")
(match_operand:SI 1 "general_operand"
- "K,N0HS0,N1HS0,L,d,R,T,d,d,*f,R,T,*f,*f,t,d,t,Q,?Q"))]
+ "K,N0HS0,N1HS0,Os,L,d,R,T,d,d,*f,R,T,*f,*f,t,d,t,Q,?Q"))]
"TARGET_ZARCH"
"@
lhi\t%0,%h1
llilh\t%0,%i1
llill\t%0,%i1
+ iilf\t%0,%o1
lay\t%0,%a1
lr\t%0,%1
l\t%0,%1
@@ -1109,9 +1209,9 @@
stam\t%1,%1,%S0
lam\t%0,%0,%S1
#"
- [(set_attr "op_type" "RI,RI,RI,RXY,RR,RX,RXY,RX,RXY,
+ [(set_attr "op_type" "RI,RI,RI,RIL,RXY,RR,RX,RXY,RX,RXY,
RR,RX,RXY,RX,RXY,RRE,RRE,RS,RS,SS")
- (set_attr "type" "*,*,*,la,lr,load,load,store,store,
+ (set_attr "type" "*,*,*,*,la,lr,load,load,store,store,
floadsf,floadsf,floadsf,fstoresf,fstoresf,*,*,*,*,*")])
(define_insn "*movsi_esa"
@@ -1393,8 +1493,8 @@
(set_attr "type" "fsimpdf,floaddf,floaddf,floaddf,fstoredf,fstoredf,lr,load,store,*")])
(define_insn "*movdf_31"
- [(set (match_operand:DF 0 "nonimmediate_operand" "=f,f,f,f,R,T,d,Q,d,o,Q")
- (match_operand:DF 1 "general_operand" "G,f,R,T,f,f,Q,d,dKm,d,Q"))]
+ [(set (match_operand:DF 0 "nonimmediate_operand" "=f,f,f,f,R,T,d,d,Q,S,d,o,Q")
+ (match_operand:DF 1 "general_operand" "G,f,R,T,f,f,Q,S,d,d,dPm,d,Q"))]
"!TARGET_64BIT"
"@
lzdr\t%0
@@ -1404,12 +1504,15 @@
std\t%1,%0
stdy\t%1,%0
lm\t%0,%N0,%S1
+ lmy\t%0,%N0,%S1
stm\t%1,%N1,%S0
+ stmy\t%1,%N1,%S0
#
#
#"
- [(set_attr "op_type" "RRE,RR,RX,RXY,RX,RXY,RS,RS,*,*,SS")
- (set_attr "type" "fsimpdf,floaddf,floaddf,floaddf,fstoredf,fstoredf,lm,stm,*,*,*")])
+ [(set_attr "op_type" "RRE,RR,RX,RXY,RX,RXY,RS,RSY,RS,RSY,*,*,SS")
+ (set_attr "type" "fsimpdf,floaddf,floaddf,floaddf,fstoredf,fstoredf,\
+ lm,lm,stm,stm,*,*,*")])
(define_split
[(set (match_operand:DF 0 "nonimmediate_operand" "")
@@ -1842,6 +1945,48 @@
(set_attr "type" "vs")])
;
+; movstr instruction pattern.
+;
+
+(define_expand "movstr"
+ [(set (reg:SI 0) (const_int 0))
+ (parallel
+ [(clobber (match_dup 3))
+ (set (match_operand:BLK 1 "memory_operand" "")
+ (match_operand:BLK 2 "memory_operand" ""))
+ (set (match_operand 0 "register_operand" "")
+ (unspec [(match_dup 1)
+ (match_dup 2)
+ (reg:SI 0)] UNSPEC_MVST))
+ (clobber (reg:CC CC_REGNUM))])]
+ ""
+{
+ rtx addr1 = gen_reg_rtx (Pmode);
+ rtx addr2 = gen_reg_rtx (Pmode);
+
+ emit_move_insn (addr1, force_operand (XEXP (operands[1], 0), NULL_RTX));
+ emit_move_insn (addr2, force_operand (XEXP (operands[2], 0), NULL_RTX));
+ operands[1] = replace_equiv_address_nv (operands[1], addr1);
+ operands[2] = replace_equiv_address_nv (operands[2], addr2);
+ operands[3] = addr2;
+})
+
+(define_insn "*movstr"
+ [(clobber (match_operand:P 2 "register_operand" "=d"))
+ (set (mem:BLK (match_operand:P 1 "register_operand" "0"))
+ (mem:BLK (match_operand:P 3 "register_operand" "2")))
+ (set (match_operand:P 0 "register_operand" "=d")
+ (unspec [(mem:BLK (match_dup 1))
+ (mem:BLK (match_dup 3))
+ (reg:SI 0)] UNSPEC_MVST))
+ (clobber (reg:CC CC_REGNUM))]
+ ""
+ "mvst\t%1,%2\;jo\t.-4"
+ [(set_attr "length" "8")
+ (set_attr "type" "vs")])
+
+
+;
; movmemM instruction pattern(s).
;
@@ -2057,7 +2202,7 @@
[(parallel
[(clobber (match_dup 1))
(set (match_operand:BLK 0 "memory_operand" "")
- (match_operand 2 "shift_count_operand" ""))
+ (match_operand 2 "setmem_operand" ""))
(use (match_operand 1 "general_operand" ""))
(use (match_dup 3))
(clobber (reg:CC CC_REGNUM))])]
@@ -2083,7 +2228,7 @@
(define_insn "*setmem_long"
[(clobber (match_operand:<DBL> 0 "register_operand" "=d"))
(set (mem:BLK (subreg:P (match_operand:<DBL> 3 "register_operand" "0") 0))
- (match_operand 2 "shift_count_operand" "Y"))
+ (match_operand 2 "setmem_operand" "Y"))
(use (match_dup 3))
(use (match_operand:<DBL> 1 "register_operand" "d"))
(clobber (reg:CC CC_REGNUM))]
@@ -2375,7 +2520,6 @@
[(set (match_operand:DI 0 "register_operand" "")
(sign_extend:DI (match_operand:SI 1 "nonimmediate_operand" "")))]
""
- "
{
if (!TARGET_64BIT)
{
@@ -2385,8 +2529,7 @@
emit_insn (gen_ashrdi3 (operands[0], operands[0], GEN_INT (32)));
DONE;
}
-}
-")
+})
(define_insn "*extendsidi2"
[(set (match_operand:DI 0 "register_operand" "=d,d")
@@ -2403,9 +2546,8 @@
(define_expand "extend<mode>di2"
[(set (match_operand:DI 0 "register_operand" "")
- (sign_extend:DI (match_operand:HQI 1 "register_operand" "")))]
+ (sign_extend:DI (match_operand:HQI 1 "nonimmediate_operand" "")))]
""
- "
{
if (!TARGET_64BIT)
{
@@ -2414,7 +2556,7 @@
emit_insn (gen_extendsidi2 (operands[0], tmp));
DONE;
}
- else
+ else if (!TARGET_EXTIMM)
{
rtx bitcount = GEN_INT (GET_MODE_BITSIZE (DImode) -
GET_MODE_BITSIZE (<MODE>mode));
@@ -2423,8 +2565,16 @@
emit_insn (gen_ashrdi3 (operands[0], operands[0], bitcount));
DONE;
}
-}
-")
+})
+
+(define_insn "*extendhidi2_extimm"
+ [(set (match_operand:DI 0 "register_operand" "=d,d")
+ (sign_extend:DI (match_operand:HI 1 "nonimmediate_operand" "d,m")))]
+ "TARGET_64BIT && TARGET_EXTIMM"
+ "@
+ lghr\t%0,%1
+ lgh\t%0,%1"
+ [(set_attr "op_type" "RRE,RXY")])
(define_insn "*extendhidi2"
[(set (match_operand:DI 0 "register_operand" "=d")
@@ -2433,6 +2583,15 @@
"lgh\t%0,%1"
[(set_attr "op_type" "RXY")])
+(define_insn "*extendqidi2_extimm"
+ [(set (match_operand:DI 0 "register_operand" "=d,d")
+ (sign_extend:DI (match_operand:QI 1 "nonimmediate_operand" "d,m")))]
+ "TARGET_64BIT && TARGET_EXTIMM"
+ "@
+ lgbr\t%0,%1
+ lgb\t%0,%1"
+ [(set_attr "op_type" "RRE,RXY")])
+
(define_insn "*extendqidi2"
[(set (match_operand:DI 0 "register_operand" "=d")
(sign_extend:DI (match_operand:QI 1 "memory_operand" "m")))]
@@ -2461,32 +2620,52 @@
(define_expand "extend<mode>si2"
[(set (match_operand:SI 0 "register_operand" "")
- (sign_extend:SI (match_operand:HQI 1 "register_operand" "")))]
+ (sign_extend:SI (match_operand:HQI 1 "nonimmediate_operand" "")))]
""
- "
{
- rtx bitcount = GEN_INT (GET_MODE_BITSIZE(SImode) -
- GET_MODE_BITSIZE(<MODE>mode));
- operands[1] = gen_lowpart (SImode, operands[1]);
- emit_insn (gen_ashlsi3 (operands[0], operands[1], bitcount));
- emit_insn (gen_ashrsi3 (operands[0], operands[0], bitcount));
- DONE;
-}
-")
+ if (!TARGET_EXTIMM)
+ {
+ rtx bitcount = GEN_INT (GET_MODE_BITSIZE(SImode) -
+ GET_MODE_BITSIZE(<MODE>mode));
+ operands[1] = gen_lowpart (SImode, operands[1]);
+ emit_insn (gen_ashlsi3 (operands[0], operands[1], bitcount));
+ emit_insn (gen_ashrsi3 (operands[0], operands[0], bitcount));
+ DONE;
+ }
+})
+
+(define_insn "*extendhisi2_extimm"
+ [(set (match_operand:SI 0 "register_operand" "=d,d,d")
+ (sign_extend:SI (match_operand:HI 1 "nonimmediate_operand" "d,R,T")))]
+ "TARGET_EXTIMM"
+ "@
+ lhr\t%0,%1
+ lh\t%0,%1
+ lhy\t%0,%1"
+ [(set_attr "op_type" "RRE,RX,RXY")])
(define_insn "*extendhisi2"
[(set (match_operand:SI 0 "register_operand" "=d,d")
(sign_extend:SI (match_operand:HI 1 "memory_operand" "R,T")))]
- ""
+ "!TARGET_EXTIMM"
"@
lh\t%0,%1
lhy\t%0,%1"
[(set_attr "op_type" "RX,RXY")])
+(define_insn "*extendqisi2_extimm"
+ [(set (match_operand:SI 0 "register_operand" "=d,d")
+ (sign_extend:SI (match_operand:QI 1 "nonimmediate_operand" "d,m")))]
+ "TARGET_EXTIMM"
+ "@
+ lbr\t%0,%1
+ lb\t%0,%1"
+ [(set_attr "op_type" "RRE,RXY")])
+
(define_insn "*extendqisi2"
[(set (match_operand:SI 0 "register_operand" "=d")
(sign_extend:SI (match_operand:QI 1 "memory_operand" "m")))]
- "TARGET_LONG_DISPLACEMENT"
+ "TARGET_LONG_DISPLACEMENT && !TARGET_EXTIMM"
"lb\t%0,%1"
[(set_attr "op_type" "RXY")])
@@ -2518,7 +2697,6 @@
[(set (match_operand:DI 0 "register_operand" "")
(zero_extend:DI (match_operand:SI 1 "nonimmediate_operand" "")))]
""
- "
{
if (!TARGET_64BIT)
{
@@ -2527,8 +2705,7 @@
emit_move_insn (gen_highpart (SImode, operands[0]), const0_rtx);
DONE;
}
-}
-")
+})
(define_insn "*zero_extendsidi2"
[(set (match_operand:DI 0 "register_operand" "=d,d")
@@ -2545,9 +2722,8 @@
(define_expand "zero_extend<mode>di2"
[(set (match_operand:DI 0 "register_operand" "")
- (zero_extend:DI (match_operand:HQI 1 "register_operand" "")))]
+ (zero_extend:DI (match_operand:HQI 1 "nonimmediate_operand" "")))]
""
- "
{
if (!TARGET_64BIT)
{
@@ -2556,7 +2732,7 @@
emit_insn (gen_zero_extendsidi2 (operands[0], tmp));
DONE;
}
- else
+ else if (!TARGET_EXTIMM)
{
rtx bitcount = GEN_INT (GET_MODE_BITSIZE(DImode) -
GET_MODE_BITSIZE(<MODE>mode));
@@ -2565,13 +2741,21 @@
emit_insn (gen_lshrdi3 (operands[0], operands[0], bitcount));
DONE;
}
-}
-")
+})
+
+(define_insn "*zero_extend<mode>di2_extimm"
+ [(set (match_operand:DI 0 "register_operand" "=d,d")
+ (zero_extend:DI (match_operand:HQI 1 "nonimmediate_operand" "d,m")))]
+ "TARGET_64BIT && TARGET_EXTIMM"
+ "@
+ llg<hc>r\t%0,%1
+ llg<hc>\t%0,%1"
+ [(set_attr "op_type" "RRE,RXY")])
(define_insn "*zero_extend<mode>di2"
[(set (match_operand:DI 0 "register_operand" "=d")
(zero_extend:DI (match_operand:HQI 1 "memory_operand" "m")))]
- "TARGET_64BIT"
+ "TARGET_64BIT && !TARGET_EXTIMM"
"llg<hc>\t%0,%1"
[(set_attr "op_type" "RXY")])
@@ -2604,7 +2788,7 @@
[(set (match_operand:SI 0 "register_operand" "=d,d")
(and:SI (match_operand:SI 1 "nonimmediate_operand" "d,m")
(const_int 2147483647)))]
- "TARGET_64BIT"
+ "TARGET_ZARCH"
"@
llgtr\t%0,%1
llgt\t%0,%1"
@@ -2625,7 +2809,7 @@
(and:GPR (match_operand:GPR 1 "nonimmediate_operand" "")
(const_int 2147483647)))
(clobber (reg:CC CC_REGNUM))]
- "TARGET_64BIT && reload_completed"
+ "TARGET_ZARCH && reload_completed"
[(set (match_dup 0)
(and:GPR (match_dup 1)
(const_int 2147483647)))]
@@ -2637,21 +2821,31 @@
(define_expand "zero_extend<mode>si2"
[(set (match_operand:SI 0 "register_operand" "")
- (zero_extend:SI (match_operand:HQI 1 "register_operand" "")))]
+ (zero_extend:SI (match_operand:HQI 1 "nonimmediate_operand" "")))]
""
- "
{
- operands[1] = gen_lowpart (SImode, operands[1]);
- emit_insn (gen_andsi3 (operands[0], operands[1],
- GEN_INT ((1 << GET_MODE_BITSIZE(<MODE>mode)) - 1)));
- DONE;
+ if (!TARGET_EXTIMM)
+ {
+ operands[1] = gen_lowpart (SImode, operands[1]);
+ emit_insn (gen_andsi3 (operands[0], operands[1],
+ GEN_INT ((1 << GET_MODE_BITSIZE(<MODE>mode)) - 1)));
+ DONE;
}
-")
+})
+
+(define_insn "*zero_extend<mode>si2_extimm"
+ [(set (match_operand:SI 0 "register_operand" "=d,d")
+ (zero_extend:SI (match_operand:HQI 1 "nonimmediate_operand" "d,m")))]
+ "TARGET_EXTIMM"
+ "@
+ ll<hc>r\t%0,%1
+ ll<hc>\t%0,%1"
+ [(set_attr "op_type" "RRE,RXY")])
(define_insn "*zero_extend<mode>si2_64"
[(set (match_operand:SI 0 "register_operand" "=d")
(zero_extend:SI (match_operand:HQI 1 "memory_operand" "m")))]
- "TARGET_ZARCH"
+ "TARGET_ZARCH && !TARGET_EXTIMM"
"llg<hc>\t%0,%1"
[(set_attr "op_type" "RXY")])
@@ -2685,19 +2879,17 @@
(define_expand "zero_extendqihi2"
[(set (match_operand:HI 0 "register_operand" "")
(zero_extend:HI (match_operand:QI 1 "register_operand" "")))]
- "TARGET_ZARCH"
- "
+ "TARGET_ZARCH && !TARGET_EXTIMM"
{
operands[1] = gen_lowpart (HImode, operands[1]);
emit_insn (gen_andhi3 (operands[0], operands[1], GEN_INT (0xff)));
DONE;
-}
-")
+})
(define_insn "*zero_extendqihi2_64"
[(set (match_operand:HI 0 "register_operand" "=d")
(zero_extend:HI (match_operand:QI 1 "memory_operand" "m")))]
- "TARGET_ZARCH"
+ "TARGET_ZARCH && !TARGET_EXTIMM"
"llgc\t%0,%1"
[(set_attr "op_type" "RXY")])
@@ -3080,29 +3272,34 @@
(define_insn "*adddi3_imm_cc"
[(set (reg CC_REGNUM)
- (compare (plus:DI (match_operand:DI 1 "nonimmediate_operand" "0")
- (match_operand:DI 2 "const_int_operand" "K"))
+ (compare (plus:DI (match_operand:DI 1 "nonimmediate_operand" "0,0")
+ (match_operand:DI 2 "const_int_operand" "K,Os"))
(const_int 0)))
- (set (match_operand:DI 0 "register_operand" "=d")
+ (set (match_operand:DI 0 "register_operand" "=d,d")
(plus:DI (match_dup 1) (match_dup 2)))]
"TARGET_64BIT
&& s390_match_ccmode (insn, CCAmode)
- && CONST_OK_FOR_CONSTRAINT_P (INTVAL (operands[2]), 'K', \"K\")"
- "aghi\t%0,%h2"
- [(set_attr "op_type" "RI")])
+ && (CONST_OK_FOR_CONSTRAINT_P (INTVAL (operands[2]), 'K', \"K\")
+ || CONST_OK_FOR_CONSTRAINT_P (INTVAL (operands[2]), 'O', \"Os\"))"
+ "@
+ aghi\t%0,%h2
+ agfi\t%0,%2"
+ [(set_attr "op_type" "RI,RIL")])
(define_insn "*adddi3_carry1_cc"
[(set (reg CC_REGNUM)
- (compare (plus:DI (match_operand:DI 1 "nonimmediate_operand" "%0,0")
- (match_operand:DI 2 "general_operand" "d,m"))
+ (compare (plus:DI (match_operand:DI 1 "nonimmediate_operand" "%0,0,0,0")
+ (match_operand:DI 2 "general_operand" "d,Op,On,m"))
(match_dup 1)))
- (set (match_operand:DI 0 "register_operand" "=d,d")
+ (set (match_operand:DI 0 "register_operand" "=d,d,d,d")
(plus:DI (match_dup 1) (match_dup 2)))]
"s390_match_ccmode (insn, CCL1mode) && TARGET_64BIT"
"@
algr\t%0,%2
+ algfi\t%0,%2
+ slgfi\t%0,%n2
alg\t%0,%2"
- [(set_attr "op_type" "RRE,RXY")])
+ [(set_attr "op_type" "RRE,RIL,RIL,RXY")])
(define_insn "*adddi3_carry1_cconly"
[(set (reg CC_REGNUM)
@@ -3118,16 +3315,18 @@
(define_insn "*adddi3_carry2_cc"
[(set (reg CC_REGNUM)
- (compare (plus:DI (match_operand:DI 1 "nonimmediate_operand" "%0,0")
- (match_operand:DI 2 "general_operand" "d,m"))
+ (compare (plus:DI (match_operand:DI 1 "nonimmediate_operand" "%0,0,0,0")
+ (match_operand:DI 2 "general_operand" "d,Op,On,m"))
(match_dup 2)))
- (set (match_operand:DI 0 "register_operand" "=d,d")
+ (set (match_operand:DI 0 "register_operand" "=d,d,d,d")
(plus:DI (match_dup 1) (match_dup 2)))]
"s390_match_ccmode (insn, CCL1mode) && TARGET_64BIT"
"@
algr\t%0,%2
+ algfi\t%0,%2
+ slgfi\t%0,%n2
alg\t%0,%2"
- [(set_attr "op_type" "RRE,RXY")])
+ [(set_attr "op_type" "RRE,RIL,RIL,RXY")])
(define_insn "*adddi3_carry2_cconly"
[(set (reg CC_REGNUM)
@@ -3143,16 +3342,18 @@
(define_insn "*adddi3_cc"
[(set (reg CC_REGNUM)
- (compare (plus:DI (match_operand:DI 1 "nonimmediate_operand" "%0,0")
- (match_operand:DI 2 "general_operand" "d,m"))
+ (compare (plus:DI (match_operand:DI 1 "nonimmediate_operand" "%0,0,0,0")
+ (match_operand:DI 2 "general_operand" "d,Op,On,m"))
(const_int 0)))
- (set (match_operand:DI 0 "register_operand" "=d,d")
+ (set (match_operand:DI 0 "register_operand" "=d,d,d,d")
(plus:DI (match_dup 1) (match_dup 2)))]
"s390_match_ccmode (insn, CCLmode) && TARGET_64BIT"
"@
algr\t%0,%2
+ algfi\t%0,%2
+ slgfi\t%0,%n2
alg\t%0,%2"
- [(set_attr "op_type" "RRE,RXY")])
+ [(set_attr "op_type" "RRE,RIL,RIL,RXY")])
(define_insn "*adddi3_cconly"
[(set (reg CC_REGNUM)
@@ -3178,16 +3379,18 @@
[(set_attr "op_type" "RRE,RXY")])
(define_insn "*adddi3_64"
- [(set (match_operand:DI 0 "register_operand" "=d,d,d")
- (plus:DI (match_operand:DI 1 "nonimmediate_operand" "%0,0,0")
- (match_operand:DI 2 "general_operand" "d,K,m") ) )
+ [(set (match_operand:DI 0 "register_operand" "=d,d,d,d,d")
+ (plus:DI (match_operand:DI 1 "nonimmediate_operand" "%0,0,0,0,0")
+ (match_operand:DI 2 "general_operand" "d,K,Op,On,m") ) )
(clobber (reg:CC CC_REGNUM))]
"TARGET_64BIT"
"@
agr\t%0,%2
aghi\t%0,%h2
+ algfi\t%0,%2
+ slgfi\t%0,%n2
ag\t%0,%2"
- [(set_attr "op_type" "RRE,RI,RXY")])
+ [(set_attr "op_type" "RRE,RI,RIL,RIL,RXY")])
(define_insn_and_split "*adddi3_31z"
[(set (match_operand:DI 0 "register_operand" "=&d")
@@ -3260,29 +3463,34 @@
(define_insn "*addsi3_imm_cc"
[(set (reg CC_REGNUM)
- (compare (plus:SI (match_operand:SI 1 "nonimmediate_operand" "0")
- (match_operand:SI 2 "const_int_operand" "K"))
+ (compare (plus:SI (match_operand:SI 1 "nonimmediate_operand" "0,0")
+ (match_operand:SI 2 "const_int_operand" "K,Os"))
(const_int 0)))
- (set (match_operand:SI 0 "register_operand" "=d")
+ (set (match_operand:SI 0 "register_operand" "=d,d")
(plus:SI (match_dup 1) (match_dup 2)))]
"s390_match_ccmode (insn, CCAmode)
- && CONST_OK_FOR_CONSTRAINT_P (INTVAL (operands[2]), 'K', \"K\")"
- "ahi\t%0,%h2"
- [(set_attr "op_type" "RI")])
+ && (CONST_OK_FOR_CONSTRAINT_P (INTVAL (operands[2]), 'K', \"K\")
+ || CONST_OK_FOR_CONSTRAINT_P (INTVAL (operands[2]), 'O', \"Os\"))
+ && INTVAL (operands[2]) != -((HOST_WIDE_INT)1 << 31)"
+ "@
+ ahi\t%0,%h2
+ afi\t%0,%2"
+ [(set_attr "op_type" "RI,RIL")])
(define_insn "*addsi3_carry1_cc"
[(set (reg CC_REGNUM)
- (compare (plus:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0")
- (match_operand:SI 2 "general_operand" "d,R,T"))
+ (compare (plus:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0,0")
+ (match_operand:SI 2 "general_operand" "d,Os,R,T"))
(match_dup 1)))
- (set (match_operand:SI 0 "register_operand" "=d,d,d")
+ (set (match_operand:SI 0 "register_operand" "=d,d,d,d")
(plus:SI (match_dup 1) (match_dup 2)))]
"s390_match_ccmode (insn, CCL1mode)"
"@
alr\t%0,%2
+ alfi\t%0,%o2
al\t%0,%2
aly\t%0,%2"
- [(set_attr "op_type" "RR,RX,RXY")])
+ [(set_attr "op_type" "RR,RIL,RX,RXY")])
(define_insn "*addsi3_carry1_cconly"
[(set (reg CC_REGNUM)
@@ -3299,17 +3507,18 @@
(define_insn "*addsi3_carry2_cc"
[(set (reg CC_REGNUM)
- (compare (plus:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0")
- (match_operand:SI 2 "general_operand" "d,R,T"))
+ (compare (plus:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0,0")
+ (match_operand:SI 2 "general_operand" "d,Os,R,T"))
(match_dup 2)))
- (set (match_operand:SI 0 "register_operand" "=d,d,d")
+ (set (match_operand:SI 0 "register_operand" "=d,d,d,d")
(plus:SI (match_dup 1) (match_dup 2)))]
"s390_match_ccmode (insn, CCL1mode)"
"@
alr\t%0,%2
+ alfi\t%0,%o2
al\t%0,%2
aly\t%0,%2"
- [(set_attr "op_type" "RR,RX,RXY")])
+ [(set_attr "op_type" "RR,RIL,RX,RXY")])
(define_insn "*addsi3_carry2_cconly"
[(set (reg CC_REGNUM)
@@ -3326,17 +3535,18 @@
(define_insn "*addsi3_cc"
[(set (reg CC_REGNUM)
- (compare (plus:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0")
- (match_operand:SI 2 "general_operand" "d,R,T"))
+ (compare (plus:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0,0")
+ (match_operand:SI 2 "general_operand" "d,Os,R,T"))
(const_int 0)))
- (set (match_operand:SI 0 "register_operand" "=d,d,d")
+ (set (match_operand:SI 0 "register_operand" "=d,d,d,d")
(plus:SI (match_dup 1) (match_dup 2)))]
"s390_match_ccmode (insn, CCLmode)"
"@
alr\t%0,%2
+ alfi\t%0,%o2
al\t%0,%2
aly\t%0,%2"
- [(set_attr "op_type" "RR,RX,RXY")])
+ [(set_attr "op_type" "RR,RIL,RX,RXY")])
(define_insn "*addsi3_cconly"
[(set (reg CC_REGNUM)
@@ -3375,17 +3585,18 @@
[(set_attr "op_type" "RX,RXY")])
(define_insn "addsi3"
- [(set (match_operand:SI 0 "register_operand" "=d,d,d,d")
- (plus:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0,0")
- (match_operand:SI 2 "general_operand" "d,K,R,T")))
+ [(set (match_operand:SI 0 "register_operand" "=d,d,d,d,d")
+ (plus:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0,0,0")
+ (match_operand:SI 2 "general_operand" "d,K,Os,R,T")))
(clobber (reg:CC CC_REGNUM))]
""
"@
ar\t%0,%2
ahi\t%0,%h2
+ afi\t%0,%2
a\t%0,%2
ay\t%0,%2"
- [(set_attr "op_type" "RR,RI,RX,RXY")])
+ [(set_attr "op_type" "RR,RI,RIL,RX,RXY")])
;
; add(df|sf)3 instruction pattern(s).
@@ -4663,6 +4874,29 @@
ng\t%0,%2"
[(set_attr "op_type" "RRE,RXY")])
+(define_insn "*anddi3_extimm"
+ [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d,d,d,d,d,d,d,d,AQ,Q")
+ (and:DI (match_operand:DI 1 "nonimmediate_operand"
+ "%d,o,0,0,0,0,0,0,0,0,0,0")
+ (match_operand:DI 2 "general_operand"
+ "M,M,N0HDF,N1HDF,N2HDF,N3HDF,N0SDF,N1SDF,d,m,NxQDF,Q")))
+ (clobber (reg:CC CC_REGNUM))]
+ "TARGET_64BIT && TARGET_EXTIMM && s390_logical_operator_ok_p (operands)"
+ "@
+ #
+ #
+ nihh\t%0,%j2
+ nihl\t%0,%j2
+ nilh\t%0,%j2
+ nill\t%0,%j2
+ nihf\t%0,%m2
+ nilf\t%0,%m2
+ ngr\t%0,%2
+ ng\t%0,%2
+ #
+ #"
+ [(set_attr "op_type" "RRE,RXE,RI,RI,RI,RI,RIL,RIL,RRE,RXY,SI,SS")])
+
(define_insn "*anddi3"
[(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d,d,d,d,d,d,AQ,Q")
(and:DI (match_operand:DI 1 "nonimmediate_operand"
@@ -4670,7 +4904,7 @@
(match_operand:DI 2 "general_operand"
"M,M,N0HDF,N1HDF,N2HDF,N3HDF,d,m,NxQDF,Q")))
(clobber (reg:CC CC_REGNUM))]
- "TARGET_64BIT && s390_logical_operator_ok_p (operands)"
+ "TARGET_64BIT && !TARGET_EXTIMM && s390_logical_operator_ok_p (operands)"
"@
#
#
@@ -4701,39 +4935,41 @@
(define_insn "*andsi3_cc"
[(set (reg CC_REGNUM)
- (compare (and:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0")
- (match_operand:SI 2 "general_operand" "d,R,T"))
+ (compare (and:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0,0")
+ (match_operand:SI 2 "general_operand" "Os,d,R,T"))
(const_int 0)))
- (set (match_operand:SI 0 "register_operand" "=d,d,d")
+ (set (match_operand:SI 0 "register_operand" "=d,d,d,d")
(and:SI (match_dup 1) (match_dup 2)))]
"s390_match_ccmode(insn, CCTmode)"
"@
+ nilf\t%0,%o2
nr\t%0,%2
n\t%0,%2
ny\t%0,%2"
- [(set_attr "op_type" "RR,RX,RXY")])
+ [(set_attr "op_type" "RIL,RR,RX,RXY")])
(define_insn "*andsi3_cconly"
[(set (reg CC_REGNUM)
- (compare (and:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0")
- (match_operand:SI 2 "general_operand" "d,R,T"))
+ (compare (and:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0,0")
+ (match_operand:SI 2 "general_operand" "Os,d,R,T"))
(const_int 0)))
- (clobber (match_scratch:SI 0 "=d,d,d"))]
+ (clobber (match_scratch:SI 0 "=d,d,d,d"))]
"s390_match_ccmode(insn, CCTmode)
/* Do not steal TM patterns. */
&& s390_single_part (operands[2], SImode, HImode, 0) < 0"
"@
+ nilf\t%0,%o2
nr\t%0,%2
n\t%0,%2
ny\t%0,%2"
- [(set_attr "op_type" "RR,RX,RXY")])
+ [(set_attr "op_type" "RIL,RR,RX,RXY")])
(define_insn "*andsi3_zarch"
- [(set (match_operand:SI 0 "nonimmediate_operand" "=d,d,d,d,d,d,d,AQ,Q")
+ [(set (match_operand:SI 0 "nonimmediate_operand" "=d,d,d,d,d,d,d,d,AQ,Q")
(and:SI (match_operand:SI 1 "nonimmediate_operand"
- "%d,o,0,0,0,0,0,0,0")
+ "%d,o,0,0,0,0,0,0,0,0")
(match_operand:SI 2 "general_operand"
- "M,M,N0HSF,N1HSF,d,R,T,NxQSF,Q")))
+ "M,M,N0HSF,N1HSF,Os,d,R,T,NxQSF,Q")))
(clobber (reg:CC CC_REGNUM))]
"TARGET_ZARCH && s390_logical_operator_ok_p (operands)"
"@
@@ -4741,12 +4977,13 @@
#
nilh\t%0,%j2
nill\t%0,%j2
+ nilf\t%0,%o2
nr\t%0,%2
n\t%0,%2
ny\t%0,%2
#
#"
- [(set_attr "op_type" "RRE,RXE,RI,RI,RR,RX,RXY,SI,SS")])
+ [(set_attr "op_type" "RRE,RXE,RI,RI,RIL,RR,RX,RXY,SI,SS")])
(define_insn "*andsi3_esa"
[(set (match_operand:SI 0 "nonimmediate_operand" "=d,d,AQ,Q")
@@ -4938,13 +5175,33 @@
og\t%0,%2"
[(set_attr "op_type" "RRE,RXY")])
+(define_insn "*iordi3_extimm"
+ [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d,d,d,d,d,d,AQ,Q")
+ (ior:DI (match_operand:DI 1 "nonimmediate_operand" "%0,0,0,0,0,0,0,0,0,0")
+ (match_operand:DI 2 "general_operand"
+ "N0HD0,N1HD0,N2HD0,N3HD0,N0SD0,N1SD0,d,m,NxQD0,Q")))
+ (clobber (reg:CC CC_REGNUM))]
+ "TARGET_64BIT && TARGET_EXTIMM && s390_logical_operator_ok_p (operands)"
+ "@
+ oihh\t%0,%i2
+ oihl\t%0,%i2
+ oilh\t%0,%i2
+ oill\t%0,%i2
+ oihf\t%0,%k2
+ oilf\t%0,%k2
+ ogr\t%0,%2
+ og\t%0,%2
+ #
+ #"
+ [(set_attr "op_type" "RI,RI,RI,RI,RIL,RIL,RRE,RXY,SI,SS")])
+
(define_insn "*iordi3"
[(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d,d,d,d,AQ,Q")
(ior:DI (match_operand:DI 1 "nonimmediate_operand" "%0,0,0,0,0,0,0,0")
(match_operand:DI 2 "general_operand"
"N0HD0,N1HD0,N2HD0,N3HD0,d,m,NxQD0,Q")))
(clobber (reg:CC CC_REGNUM))]
- "TARGET_64BIT && s390_logical_operator_ok_p (operands)"
+ "TARGET_64BIT && !TARGET_EXTIMM && s390_logical_operator_ok_p (operands)"
"@
oihh\t%0,%i2
oihl\t%0,%i2
@@ -4972,46 +5229,49 @@
(define_insn "*iorsi3_cc"
[(set (reg CC_REGNUM)
- (compare (ior:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0")
- (match_operand:SI 2 "general_operand" "d,R,T"))
+ (compare (ior:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0,0")
+ (match_operand:SI 2 "general_operand" "Os,d,R,T"))
(const_int 0)))
- (set (match_operand:SI 0 "register_operand" "=d,d,d")
+ (set (match_operand:SI 0 "register_operand" "=d,d,d,d")
(ior:SI (match_dup 1) (match_dup 2)))]
"s390_match_ccmode(insn, CCTmode)"
"@
+ oilf\t%0,%o2
or\t%0,%2
o\t%0,%2
oy\t%0,%2"
- [(set_attr "op_type" "RR,RX,RXY")])
+ [(set_attr "op_type" "RIL,RR,RX,RXY")])
(define_insn "*iorsi3_cconly"
[(set (reg CC_REGNUM)
- (compare (ior:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0")
- (match_operand:SI 2 "general_operand" "d,R,T"))
+ (compare (ior:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0,0")
+ (match_operand:SI 2 "general_operand" "Os,d,R,T"))
(const_int 0)))
- (clobber (match_scratch:SI 0 "=d,d,d"))]
+ (clobber (match_scratch:SI 0 "=d,d,d,d"))]
"s390_match_ccmode(insn, CCTmode)"
"@
+ oilf\t%0,%o2
or\t%0,%2
o\t%0,%2
oy\t%0,%2"
- [(set_attr "op_type" "RR,RX,RXY")])
+ [(set_attr "op_type" "RIL,RR,RX,RXY")])
(define_insn "*iorsi3_zarch"
- [(set (match_operand:SI 0 "nonimmediate_operand" "=d,d,d,d,d,AQ,Q")
- (ior:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0,0,0,0,0")
- (match_operand:SI 2 "general_operand" "N0HS0,N1HS0,d,R,T,NxQS0,Q")))
+ [(set (match_operand:SI 0 "nonimmediate_operand" "=d,d,d,d,d,d,AQ,Q")
+ (ior:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0,0,0,0,0,0")
+ (match_operand:SI 2 "general_operand" "N0HS0,N1HS0,Os,d,R,T,NxQS0,Q")))
(clobber (reg:CC CC_REGNUM))]
"TARGET_ZARCH && s390_logical_operator_ok_p (operands)"
"@
oilh\t%0,%i2
oill\t%0,%i2
+ oilf\t%0,%o2
or\t%0,%2
o\t%0,%2
oy\t%0,%2
#
#"
- [(set_attr "op_type" "RI,RI,RR,RX,RXY,SI,SS")])
+ [(set_attr "op_type" "RI,RI,RIL,RR,RX,RXY,SI,SS")])
(define_insn "*iorsi3_esa"
[(set (match_operand:SI 0 "nonimmediate_operand" "=d,d,AQ,Q")
@@ -5203,12 +5463,27 @@
xr\t%0,%2"
[(set_attr "op_type" "RRE,RXY")])
+(define_insn "*xordi3_extimm"
+ [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d,d,AQ,Q")
+ (xor:DI (match_operand:DI 1 "nonimmediate_operand" "%0,0,0,0,0,0")
+ (match_operand:DI 2 "general_operand" "N0SD0,N1SD0,d,m,NxQD0,Q")))
+ (clobber (reg:CC CC_REGNUM))]
+ "TARGET_64BIT && TARGET_EXTIMM && s390_logical_operator_ok_p (operands)"
+ "@
+ xihf\t%0,%k2
+ xilf\t%0,%k2
+ xgr\t%0,%2
+ xg\t%0,%2
+ #
+ #"
+ [(set_attr "op_type" "RIL,RIL,RRE,RXY,SI,SS")])
+
(define_insn "*xordi3"
[(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,AQ,Q")
(xor:DI (match_operand:DI 1 "nonimmediate_operand" "%0,0,0,0")
(match_operand:DI 2 "general_operand" "d,m,NxQD0,Q")))
(clobber (reg:CC CC_REGNUM))]
- "TARGET_64BIT && s390_logical_operator_ok_p (operands)"
+ "TARGET_64BIT && !TARGET_EXTIMM && s390_logical_operator_ok_p (operands)"
"@
xgr\t%0,%2
xg\t%0,%2
@@ -5232,44 +5507,47 @@
(define_insn "*xorsi3_cc"
[(set (reg CC_REGNUM)
- (compare (xor:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0")
- (match_operand:SI 2 "general_operand" "d,R,T"))
+ (compare (xor:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0,0")
+ (match_operand:SI 2 "general_operand" "Os,d,R,T"))
(const_int 0)))
- (set (match_operand:SI 0 "register_operand" "=d,d,d")
+ (set (match_operand:SI 0 "register_operand" "=d,d,d,d")
(xor:SI (match_dup 1) (match_dup 2)))]
"s390_match_ccmode(insn, CCTmode)"
"@
+ xilf\t%0,%o2
xr\t%0,%2
x\t%0,%2
xy\t%0,%2"
- [(set_attr "op_type" "RR,RX,RXY")])
+ [(set_attr "op_type" "RIL,RR,RX,RXY")])
(define_insn "*xorsi3_cconly"
[(set (reg CC_REGNUM)
- (compare (xor:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0")
- (match_operand:SI 2 "general_operand" "d,R,T"))
+ (compare (xor:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0,0")
+ (match_operand:SI 2 "general_operand" "Os,d,R,T"))
(const_int 0)))
- (clobber (match_scratch:SI 0 "=d,d,d"))]
+ (clobber (match_scratch:SI 0 "=d,d,d,d"))]
"s390_match_ccmode(insn, CCTmode)"
"@
+ xilf\t%0,%o2
xr\t%0,%2
x\t%0,%2
xy\t%0,%2"
- [(set_attr "op_type" "RR,RX,RXY")])
+ [(set_attr "op_type" "RIL,RR,RX,RXY")])
(define_insn "*xorsi3"
- [(set (match_operand:SI 0 "nonimmediate_operand" "=d,d,d,AQ,Q")
- (xor:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0,0,0")
- (match_operand:SI 2 "general_operand" "d,R,T,NxQS0,Q")))
+ [(set (match_operand:SI 0 "nonimmediate_operand" "=d,d,d,d,AQ,Q")
+ (xor:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,0,0,0,0")
+ (match_operand:SI 2 "general_operand" "Os,d,R,T,NxQS0,Q")))
(clobber (reg:CC CC_REGNUM))]
"s390_logical_operator_ok_p (operands)"
"@
+ xilf\t%0,%o2
xr\t%0,%2
x\t%0,%2
xy\t%0,%2
#
#"
- [(set_attr "op_type" "RR,RX,RXY,SI,SS")])
+ [(set_attr "op_type" "RIL,RR,RX,RXY,SI,SS")])
(define_split
[(set (match_operand:SI 0 "s_operand" "")
@@ -5286,16 +5564,17 @@
;
(define_insn "*xorhi3"
- [(set (match_operand:HI 0 "nonimmediate_operand" "=d,AQ,Q")
- (xor:HI (match_operand:HI 1 "nonimmediate_operand" "%0,0,0")
- (match_operand:HI 2 "general_operand" "d,NxQH0,Q")))
+ [(set (match_operand:HI 0 "nonimmediate_operand" "=d,d,AQ,Q")
+ (xor:HI (match_operand:HI 1 "nonimmediate_operand" "%0,0,0,0")
+ (match_operand:HI 2 "general_operand" "Os,d,NxQH0,Q")))
(clobber (reg:CC CC_REGNUM))]
"s390_logical_operator_ok_p (operands)"
"@
+ xilf\t%0,%x2
xr\t%0,%2
#
#"
- [(set_attr "op_type" "RR,SI,SS")])
+ [(set_attr "op_type" "RIL,RR,SI,SS")])
(define_split
[(set (match_operand:HI 0 "s_operand" "")
@@ -5312,17 +5591,18 @@
;
(define_insn "*xorqi3"
- [(set (match_operand:QI 0 "nonimmediate_operand" "=d,Q,S,Q")
- (xor:QI (match_operand:QI 1 "nonimmediate_operand" "%0,0,0,0")
- (match_operand:QI 2 "general_operand" "d,n,n,Q")))
+ [(set (match_operand:QI 0 "nonimmediate_operand" "=d,d,Q,S,Q")
+ (xor:QI (match_operand:QI 1 "nonimmediate_operand" "%0,0,0,0,0")
+ (match_operand:QI 2 "general_operand" "Os,d,n,n,Q")))
(clobber (reg:CC CC_REGNUM))]
"s390_logical_operator_ok_p (operands)"
"@
+ xilf\t%0,%b2
xr\t%0,%2
xi\t%S0,%b2
xiy\t%S0,%b2
#"
- [(set_attr "op_type" "RR,SI,SIY,SS")])
+ [(set_attr "op_type" "RIL,RR,SI,SIY,SS")])
;
; Block exclusive or (XC) patterns.
@@ -5791,6 +6071,49 @@
;;
+;; Find leftmost bit instructions.
+;;
+
+(define_expand "clzdi2"
+ [(set (match_operand:DI 0 "register_operand" "=d")
+ (clz:DI (match_operand:DI 1 "register_operand" "d")))]
+ "TARGET_EXTIMM && TARGET_64BIT"
+{
+ rtx insn, clz_equal;
+ rtx wide_reg = gen_reg_rtx (TImode);
+ rtx msb = gen_rtx_CONST_INT (DImode, (unsigned HOST_WIDE_INT) 1 << 63);
+
+ clz_equal = gen_rtx_CLZ (DImode, operands[1]);
+
+ emit_insn (gen_clztidi2 (wide_reg, operands[1], msb));
+
+ insn = emit_move_insn (operands[0], gen_highpart (DImode, wide_reg));
+ REG_NOTES (insn) =
+ gen_rtx_EXPR_LIST (REG_EQUAL, clz_equal, REG_NOTES (insn));
+
+ DONE;
+})
+
+(define_insn "clztidi2"
+ [(set (match_operand:TI 0 "register_operand" "=d")
+ (ior:TI
+ (ashift:TI
+ (zero_extend:TI
+ (xor:DI (match_operand:DI 1 "register_operand" "d")
+ (lshiftrt (match_operand:DI 2 "const_int_operand" "")
+ (subreg:SI (clz:DI (match_dup 1)) 4))))
+
+ (const_int 64))
+ (zero_extend:TI (clz:DI (match_dup 1)))))
+ (clobber (reg:CC CC_REGNUM))]
+ "(unsigned HOST_WIDE_INT) INTVAL (operands[2])
+ == (unsigned HOST_WIDE_INT) 1 << 63
+ && TARGET_EXTIMM && TARGET_64BIT"
+ "flogr\t%0,%1"
+ [(set_attr "op_type" "RRE")])
+
+
+;;
;;- Rotate instructions.
;;
@@ -7140,3 +7463,65 @@
DONE;
})
+;
+; Stack Protector Patterns
+;
+
+(define_expand "stack_protect_set"
+ [(set (match_operand 0 "memory_operand" "")
+ (match_operand 1 "memory_operand" ""))]
+ ""
+{
+#ifdef TARGET_THREAD_SSP_OFFSET
+ operands[1]
+ = gen_rtx_MEM (Pmode, gen_rtx_PLUS (Pmode, s390_get_thread_pointer (),
+ GEN_INT (TARGET_THREAD_SSP_OFFSET)));
+#endif
+ if (TARGET_64BIT)
+ emit_insn (gen_stack_protect_setdi (operands[0], operands[1]));
+ else
+ emit_insn (gen_stack_protect_setsi (operands[0], operands[1]));
+
+ DONE;
+})
+
+(define_insn "stack_protect_set<mode>"
+ [(set (match_operand:DSI 0 "memory_operand" "=Q")
+ (unspec:DSI [(match_operand:DSI 1 "memory_operand" "Q")] UNSPEC_SP_SET))]
+ ""
+ "mvc\t%O0(%G0,%R0),%S1"
+ [(set_attr "op_type" "SS")])
+
+(define_expand "stack_protect_test"
+ [(set (reg:CC CC_REGNUM)
+ (compare (match_operand 0 "memory_operand" "")
+ (match_operand 1 "memory_operand" "")))
+ (match_operand 2 "" "")]
+ ""
+{
+#ifdef TARGET_THREAD_SSP_OFFSET
+ operands[1]
+ = gen_rtx_MEM (Pmode, gen_rtx_PLUS (Pmode, s390_get_thread_pointer (),
+ GEN_INT (TARGET_THREAD_SSP_OFFSET)));
+#endif
+ s390_compare_op0 = operands[0];
+ s390_compare_op1 = operands[1];
+ s390_compare_emitted = gen_rtx_REG (CCZmode, CC_REGNUM);
+
+ if (TARGET_64BIT)
+ emit_insn (gen_stack_protect_testdi (operands[0], operands[1]));
+ else
+ emit_insn (gen_stack_protect_testsi (operands[0], operands[1]));
+
+ emit_jump_insn (gen_beq (operands[2]));
+
+ DONE;
+})
+
+(define_insn "stack_protect_test<mode>"
+ [(set (reg:CCZ CC_REGNUM)
+ (unspec:CCZ [(match_operand:DSI 0 "memory_operand" "Q")
+ (match_operand:DSI 1 "memory_operand" "Q")] UNSPEC_SP_TEST))]
+ ""
+ "clc\t%O0(%G0,%R0),%S1"
+ [(set_attr "op_type" "SS")])
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index c773f4edaea..6f1442e59b9 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -734,11 +734,66 @@ print_operand (FILE *stream, rtx x, int code)
x = mark_constant_pool_use (x);
output_addr_const (stream, x);
break;
+ /* N.B.: %R / %S / %T adjust memory addresses by four.
+ For SHMEDIA, that means they can be used to access the first and
+ second 32 bit part of a 64 bit (or larger) value that
+ might be held in floating point registers or memory.
+ While they can be used to access 64 bit parts of a larger value
+ held in general purpose registers, that won't work with memory -
+ neither for fp registers, since the frxx names are used. */
case 'R':
- fputs (reg_names[REGNO (x) + LSW], (stream));
+ if (REG_P (x) || GET_CODE (x) == SUBREG)
+ {
+ regno = true_regnum (x);
+ regno += FP_REGISTER_P (regno) ? 1 : LSW;
+ fputs (reg_names[regno], (stream));
+ }
+ else if (MEM_P (x))
+ {
+ x = adjust_address (x, SImode, 4 * LSW);
+ print_operand_address (stream, XEXP (x, 0));
+ }
+ else
+ {
+ rtx sub = NULL_RTX;
+
+ mode = GET_MODE (x);
+ if (mode == VOIDmode)
+ mode = DImode;
+ if (GET_MODE_SIZE (mode) >= 8)
+ sub = simplify_subreg (SImode, x, mode, 4 * LSW);
+ if (sub)
+ print_operand (stream, sub, 0);
+ else
+ output_operand_lossage ("invalid operand to %%R");
+ }
break;
case 'S':
- fputs (reg_names[REGNO (x) + MSW], (stream));
+ if (REG_P (x) || GET_CODE (x) == SUBREG)
+ {
+ regno = true_regnum (x);
+ regno += FP_REGISTER_P (regno) ? 0 : MSW;
+ fputs (reg_names[regno], (stream));
+ }
+ else if (MEM_P (x))
+ {
+ x = adjust_address (x, SImode, 4 * MSW);
+ print_operand_address (stream, XEXP (x, 0));
+ }
+ else
+ {
+ rtx sub = NULL_RTX;
+
+ mode = GET_MODE (x);
+ if (mode == VOIDmode)
+ mode = DImode;
+ if (GET_MODE_SIZE (mode) >= 8)
+ sub = simplify_subreg (SImode, x, mode, 4 * MSW);
+ if (sub)
+ print_operand (stream, sub, 0);
+ else
+ output_operand_lossage ("invalid operand to %%S");
+ }
break;
case 'T':
/* Next word of a double. */
@@ -1755,7 +1810,7 @@ unspec_caller_rtx_p (rtx pat)
}
/* Indicate that INSN cannot be duplicated. This is true for insn
- that generates an unique label. */
+ that generates a unique label. */
static bool
sh_cannot_copy_insn_p (rtx insn)
@@ -6441,8 +6496,18 @@ sh_builtin_saveregs (void)
emit_insn (gen_iorsi3 (addr, addr, GEN_INT (UNITS_PER_WORD)));
regbuf = change_address (regbuf, BLKmode, addr);
}
+ else if (STACK_BOUNDARY < 64 && TARGET_FPU_DOUBLE && n_floatregs)
+ {
+ rtx addr, mask;
+
+ regbuf = assign_stack_local (BLKmode, bufsize + UNITS_PER_WORD, 0);
+ addr = copy_to_mode_reg (Pmode, plus_constant (XEXP (regbuf, 0), 4));
+ mask = copy_to_mode_reg (Pmode, GEN_INT (-8));
+ emit_insn (gen_andsi3 (addr, addr, mask));
+ regbuf = change_address (regbuf, BLKmode, addr);
+ }
else
- regbuf = assign_stack_local (BLKmode, bufsize, 0);
+ regbuf = assign_stack_local (BLKmode, bufsize, TARGET_FPU_DOUBLE ? 64 : 0);
alias_set = get_varargs_alias_set ();
set_mem_alias_set (regbuf, alias_set);
@@ -6632,6 +6697,27 @@ sh_va_start (tree valist, rtx nextarg)
expand_expr (t, const0_rtx, VOIDmode, EXPAND_NORMAL);
}
+/* TYPE is a RECORD_TYPE. If there is only a single non-zero-sized
+ member, return it. */
+static tree
+find_sole_member (tree type)
+{
+ tree field, member = NULL_TREE;
+
+ for (field = TYPE_FIELDS (type); field; field = TREE_CHAIN (field))
+ {
+ if (TREE_CODE (field) != FIELD_DECL)
+ continue;
+ if (!DECL_SIZE (field))
+ return NULL_TREE;
+ if (integer_zerop (DECL_SIZE (field)))
+ continue;
+ if (member)
+ return NULL_TREE;
+ member = field;
+ }
+ return member;
+}
/* Implement `va_arg'. */
static tree
@@ -6657,6 +6743,7 @@ sh_gimplify_va_arg_expr (tree valist, tree type, tree *pre_p,
tree next_o, next_o_limit, next_fp, next_fp_limit, next_stack;
int pass_as_float;
tree lab_false;
+ tree member;
f_next_o = TYPE_FIELDS (va_list_type_node);
f_next_o_limit = TREE_CHAIN (f_next_o);
@@ -6678,13 +6765,25 @@ sh_gimplify_va_arg_expr (tree valist, tree type, tree *pre_p,
/* Structures with a single member with a distinct mode are passed
like their member. This is relevant if the latter has a REAL_TYPE
or COMPLEX_TYPE type. */
- if (TREE_CODE (type) == RECORD_TYPE
- && TYPE_FIELDS (type)
- && TREE_CODE (TYPE_FIELDS (type)) == FIELD_DECL
- && (TREE_CODE (TREE_TYPE (TYPE_FIELDS (type))) == REAL_TYPE
- || TREE_CODE (TREE_TYPE (TYPE_FIELDS (type))) == COMPLEX_TYPE)
- && TREE_CHAIN (TYPE_FIELDS (type)) == NULL_TREE)
- type = TREE_TYPE (TYPE_FIELDS (type));
+ while (TREE_CODE (type) == RECORD_TYPE
+ && (member = find_sole_member (type))
+ && (TREE_CODE (TREE_TYPE (member)) == REAL_TYPE
+ || TREE_CODE (TREE_TYPE (member)) == COMPLEX_TYPE
+ || TREE_CODE (TREE_TYPE (member)) == RECORD_TYPE))
+ {
+ tree field_type = TREE_TYPE (member);
+
+ if (TYPE_MODE (type) == TYPE_MODE (field_type))
+ type = field_type;
+ else
+ {
+ gcc_assert ((TYPE_ALIGN (type)
+ < GET_MODE_ALIGNMENT (TYPE_MODE (field_type)))
+ || (TYPE_ALIGN (type)
+ > GET_MODE_BITSIZE (TYPE_MODE (field_type))));
+ break;
+ }
+ }
if (TARGET_SH4)
{
@@ -6706,30 +6805,37 @@ sh_gimplify_va_arg_expr (tree valist, tree type, tree *pre_p,
if (pass_as_float)
{
- int first_floatreg
- = current_function_args_info.arg_count[(int) SH_ARG_FLOAT];
- int n_floatregs = MAX (0, NPARM_REGS (SFmode) - first_floatreg);
+ tree next_fp_tmp = create_tmp_var (TREE_TYPE (f_next_fp), NULL);
+ tree cmp;
+ bool is_double = size == 8 && TREE_CODE (type) == REAL_TYPE;
- tmp = build (GE_EXPR, boolean_type_node, next_fp, next_fp_limit);
- tmp = build (COND_EXPR, void_type_node, tmp,
+ tmp = build1 (ADDR_EXPR, pptr_type_node, next_fp);
+ tmp = build2 (MODIFY_EXPR, void_type_node, addr, tmp);
+ gimplify_and_add (tmp, pre_p);
+
+ tmp = build2 (MODIFY_EXPR, ptr_type_node, next_fp_tmp, valist);
+ gimplify_and_add (tmp, pre_p);
+ tmp = next_fp_limit;
+ if (size > 4 && !is_double)
+ tmp = build2 (PLUS_EXPR, TREE_TYPE (tmp), tmp,
+ fold_convert (TREE_TYPE (tmp), size_int (4 - size)));
+ tmp = build (GE_EXPR, boolean_type_node, next_fp_tmp, tmp);
+ cmp = build (COND_EXPR, void_type_node, tmp,
build (GOTO_EXPR, void_type_node, lab_false),
NULL);
- gimplify_and_add (tmp, pre_p);
+ if (!is_double)
+ gimplify_and_add (cmp, pre_p);
- if (TYPE_ALIGN (type) > BITS_PER_WORD
- || (((TREE_CODE (type) == REAL_TYPE && size == 8) || size == 16)
- && (n_floatregs & 1)))
+ if (TYPE_ALIGN (type) > BITS_PER_WORD || (is_double || size == 16))
{
tmp = fold_convert (ptr_type_node, size_int (UNITS_PER_WORD));
- tmp = build (BIT_AND_EXPR, ptr_type_node, next_fp, tmp);
- tmp = build (PLUS_EXPR, ptr_type_node, next_fp, tmp);
- tmp = build (MODIFY_EXPR, ptr_type_node, next_fp, tmp);
+ tmp = build (BIT_AND_EXPR, ptr_type_node, next_fp_tmp, tmp);
+ tmp = build (PLUS_EXPR, ptr_type_node, next_fp_tmp, tmp);
+ tmp = build (MODIFY_EXPR, ptr_type_node, next_fp_tmp, tmp);
gimplify_and_add (tmp, pre_p);
}
-
- tmp = build1 (ADDR_EXPR, pptr_type_node, next_fp);
- tmp = build (MODIFY_EXPR, void_type_node, addr, tmp);
- gimplify_and_add (tmp, pre_p);
+ if (is_double)
+ gimplify_and_add (cmp, pre_p);
#ifdef FUNCTION_ARG_SCmode_WART
if (TYPE_MODE (type) == SCmode && TARGET_SH4 && TARGET_LITTLE_ENDIAN)
@@ -6737,10 +6843,12 @@ sh_gimplify_va_arg_expr (tree valist, tree type, tree *pre_p,
tree subtype = TREE_TYPE (type);
tree real, imag;
- imag = std_gimplify_va_arg_expr (valist, subtype, pre_p, NULL);
+ imag
+ = std_gimplify_va_arg_expr (next_fp_tmp, subtype, pre_p, NULL);
imag = get_initialized_tmp_var (imag, pre_p, NULL);
- real = std_gimplify_va_arg_expr (valist, subtype, pre_p, NULL);
+ real
+ = std_gimplify_va_arg_expr (next_fp_tmp, subtype, pre_p, NULL);
real = get_initialized_tmp_var (real, pre_p, NULL);
result = build (COMPLEX_EXPR, type, real, imag);
@@ -6757,6 +6865,12 @@ sh_gimplify_va_arg_expr (tree valist, tree type, tree *pre_p,
tmp = build1 (ADDR_EXPR, pptr_type_node, next_stack);
tmp = build (MODIFY_EXPR, void_type_node, addr, tmp);
gimplify_and_add (tmp, pre_p);
+ tmp = build2 (MODIFY_EXPR, ptr_type_node, next_fp_tmp, valist);
+ gimplify_and_add (tmp, pre_p);
+
+ tmp = build2 (MODIFY_EXPR, ptr_type_node, valist, next_fp_tmp);
+ gimplify_and_add (tmp, post_p);
+ valist = next_fp_tmp;
}
else
{
@@ -7507,6 +7621,8 @@ sh_attr_renesas_p (tree td)
return 0;
if (DECL_P (td))
td = TREE_TYPE (td);
+ if (td == error_mark_node)
+ return 0;
return (lookup_attribute ("renesas", TYPE_ATTRIBUTES (td))
!= NULL_TREE);
}
@@ -10459,7 +10575,7 @@ sh_contains_memref_p_1 (rtx *loc, void *data ATTRIBUTE_UNUSED)
return (GET_CODE (*loc) == MEM);
}
-/* Return non-zero iff INSN contains a MEM. */
+/* Return nonzero iff INSN contains a MEM. */
int
sh_contains_memref_p (rtx insn)
{
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
index 835f66922c5..3d16f449504 100644
--- a/gcc/config/sh/sh.h
+++ b/gcc/config/sh/sh.h
@@ -1704,7 +1704,7 @@ extern enum reg_class reg_class_from_letter[];
makes the stack pointer a smaller address. */
#define STACK_GROWS_DOWNWARD
-/* Define this macro to non-zero if the addresses of local variable slots
+/* Define this macro to nonzero if the addresses of local variable slots
are at negative offsets from the frame pointer. */
#define FRAME_GROWS_DOWNWARD 1
diff --git a/gcc/config/sol2.h b/gcc/config/sol2.h
index ab89c0ba5b2..176d23b5ea1 100644
--- a/gcc/config/sol2.h
+++ b/gcc/config/sol2.h
@@ -146,7 +146,7 @@ Boston, MA 02110-1301, USA. */
#undef LINK_SPEC
#define LINK_SPEC \
"%{h*} %{v:-V} \
- %{b} %{Wl,*:%*} \
+ %{b} \
%{static:-dn -Bstatic} \
%{shared:-G -dy %{!mimpure-text:-z text}} \
%{symbolic:-Bsymbolic -G -dy -z text} \
diff --git a/gcc/config/sparc/freebsd.h b/gcc/config/sparc/freebsd.h
index 62d199ccc31..d3414004ddb 100644
--- a/gcc/config/sparc/freebsd.h
+++ b/gcc/config/sparc/freebsd.h
@@ -32,8 +32,7 @@ Boston, MA 02110-1301, USA. */
#define LINK_SPEC "%(link_arch) \
%{!mno-relax:%{!r:-relax}} \
- %{p:%nconsider using `-pg' instead of `-p' with gprof(1)} \
- %{Wl,*:%*} \
+ %{p:%nconsider using `-pg' instead of `-p' with gprof(1)} \
%{assert*} %{R*} %{rpath*} %{defsym*} \
%{shared:-Bshareable %{h*} %{soname*}} \
%{symbolic:-Bsymbolic} \
diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
index c90080e1eed..813a18dc01a 100644
--- a/gcc/config/sparc/linux.h
+++ b/gcc/config/sparc/linux.h
@@ -204,7 +204,7 @@ do { \
#undef CTORS_SECTION_ASM_OP
#undef DTORS_SECTION_ASM_OP
-/* Determine whether the the entire c99 runtime is present in the
+/* Determine whether the entire c99 runtime is present in the
runtime library. */
#define TARGET_C99_FUNCTIONS 1
diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
index d7ebb86e945..dc89408d526 100644
--- a/gcc/config/sparc/linux64.h
+++ b/gcc/config/sparc/linux64.h
@@ -338,7 +338,7 @@ do { \
#undef CTORS_SECTION_ASM_OP
#undef DTORS_SECTION_ASM_OP
-/* Determine whether the the entire c99 runtime is present in the
+/* Determine whether the entire c99 runtime is present in the
runtime library. */
#define TARGET_C99_FUNCTIONS 1
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index 35b8dd5cccb..bb81dcc2208 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -1360,7 +1360,7 @@ extern char leaf_reg_remap[];
makes the stack pointer a smaller address. */
#define STACK_GROWS_DOWNWARD
-/* Define this to non-zero if the nominal address of the stack frame
+/* Define this to nonzero if the nominal address of the stack frame
is at the high-address end of the local variables;
that is, each additional local variable allocated
goes at a more negative offset in the frame. */
diff --git a/gcc/config/stormy16/stormy16-lib2.c b/gcc/config/stormy16/stormy16-lib2.c
index 7038624be0e..8ca9484dc94 100644
--- a/gcc/config/stormy16/stormy16-lib2.c
+++ b/gcc/config/stormy16/stormy16-lib2.c
@@ -140,3 +140,52 @@ __lshrsi3 (USItype a, USItype b)
a >>= 1;
return a;
}
+
+static const unsigned char __popcount_tab[] =
+{
+ 0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,
+ 1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,
+ 1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,
+ 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,
+ 1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,
+ 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,
+ 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,
+ 3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,4,5,5,6,5,6,6,7,5,6,6,7,6,7,7,8,
+};
+
+int
+__popcounthi2 (unsigned int x)
+{
+ unsigned int ret;
+
+ ret = __popcount_tab [x & 0xff];
+ ret += __popcount_tab [(x >> 8) & 0xff];
+
+ return ret;
+}
+
+int
+__parityhi2 (unsigned int x)
+{
+ x ^= x >> 8;
+ x ^= x >> 4;
+ x &= 0xf;
+ return (0x6996 >> x) & 1;
+}
+
+int
+__ctzhi2 (unsigned int x)
+{
+ extern int __ctzsi2 (unsigned long);
+ unsigned long y = x;
+
+ return __ctzsi2 (y << 16) - 16;
+}
+
+int
+__clzhi2 (unsigned int x)
+{
+ extern int __clzsi2 (unsigned long);
+
+ return __clzsi2 (x) - 16;
+}
diff --git a/gcc/config/stormy16/stormy16-protos.h b/gcc/config/stormy16/stormy16-protos.h
index e50a0c40777..1cc9c4fd098 100644
--- a/gcc/config/stormy16/stormy16-protos.h
+++ b/gcc/config/stormy16/stormy16-protos.h
@@ -29,7 +29,6 @@ extern int direct_return (void);
extern int xstormy16_interrupt_function_p (void);
extern int xstormy16_epilogue_uses (int);
extern void xstormy16_function_profiler (void);
-extern const char *xstormy16_strip_name_encoding (const char *name);
extern void bss100_section (void);
#if defined (TREE_CODE)
diff --git a/gcc/config/stormy16/stormy16.c b/gcc/config/stormy16/stormy16.c
index 8cb738549fe..d1f33c7b719 100644
--- a/gcc/config/stormy16/stormy16.c
+++ b/gcc/config/stormy16/stormy16.c
@@ -529,12 +529,10 @@ xstormy16_below100_symbol (rtx x,
if (GET_CODE (x) == PLUS
&& GET_CODE (XEXP (x, 1)) == CONST_INT)
x = XEXP (x, 0);
+
if (GET_CODE (x) == SYMBOL_REF)
- {
- const char *n = XSTR (x, 0);
- if (n[0] == '@' && n[1] == 'b' && n[2] == '.')
- return 1;
- }
+ return (SYMBOL_REF_FLAGS (x) & SYMBOL_FLAG_XSTORMY16_BELOW100) != 0;
+
if (GET_CODE (x) == CONST_INT)
{
HOST_WIDE_INT i = INTVAL (x);
@@ -1578,42 +1576,40 @@ xstormy16_asm_output_mi_thunk (FILE *file,
than uninitialized. */
void
xstormy16_asm_output_aligned_common (FILE *stream,
- tree decl ATTRIBUTE_UNUSED,
+ tree decl,
const char *name,
int size,
int align,
int global)
{
- if (name[0] == '@' && name[2] == '.')
+ rtx mem = DECL_RTL (decl);
+ rtx symbol;
+
+ if (mem != NULL_RTX
+ && GET_CODE (mem) == MEM
+ && GET_CODE (symbol = XEXP (mem, 0)) == SYMBOL_REF
+ && SYMBOL_REF_FLAGS (symbol) & SYMBOL_FLAG_XSTORMY16_BELOW100)
{
- const char *op = 0;
- switch (name[1])
+ const char *name2;
+ int p2align = 0;
+
+ bss100_section ();
+
+ while (align > 8)
{
- case 'b':
- bss100_section();
- op = "space";
- break;
+ align /= 2;
+ p2align ++;
}
- if (op)
- {
- const char *name2;
- int p2align = 0;
- while (align > 8)
- {
- align /= 2;
- p2align ++;
- }
- name2 = xstormy16_strip_name_encoding (name);
- if (global)
- fprintf (stream, "\t.globl\t%s\n", name2);
- if (p2align)
- fprintf (stream, "\t.p2align %d\n", p2align);
- fprintf (stream, "\t.type\t%s, @object\n", name2);
- fprintf (stream, "\t.size\t%s, %d\n", name2, size);
- fprintf (stream, "%s:\n\t.%s\t%d\n", name2, op, size);
- return;
- }
+ name2 = default_strip_name_encoding (name);
+ if (global)
+ fprintf (stream, "\t.globl\t%s\n", name2);
+ if (p2align)
+ fprintf (stream, "\t.p2align %d\n", p2align);
+ fprintf (stream, "\t.type\t%s, @object\n", name2);
+ fprintf (stream, "\t.size\t%s, %d\n", name2, size);
+ fprintf (stream, "%s:\n\t.space\t%d\n", name2, size);
+ return;
}
if (!global)
@@ -1631,52 +1627,18 @@ xstormy16_asm_output_aligned_common (FILE *stream,
special addressing modes for them. */
static void
-xstormy16_encode_section_info (tree decl,
- rtx r,
- int first ATTRIBUTE_UNUSED)
+xstormy16_encode_section_info (tree decl, rtx r, int first)
{
- if (TREE_CODE (decl) == VAR_DECL
+ default_encode_section_info (decl, r, first);
+
+ if (TREE_CODE (decl) == VAR_DECL
&& (lookup_attribute ("below100", DECL_ATTRIBUTES (decl))
|| lookup_attribute ("BELOW100", DECL_ATTRIBUTES (decl))))
{
- const char *newsection = 0;
- char *newname;
- tree idp;
- rtx rtlname, rtl;
- const char *oldname;
-
- rtl = r;
- rtlname = XEXP (rtl, 0);
- if (GET_CODE (rtlname) == MEM)
- rtlname = XEXP (rtlname, 0);
- gcc_assert (GET_CODE (rtlname) == SYMBOL_REF);
- oldname = XSTR (rtlname, 0);
-
- if (DECL_INITIAL (decl))
- {
- newsection = ".data_below100";
- DECL_SECTION_NAME (decl) = build_string (strlen (newsection),
- newsection);
- }
-
- newname = alloca (strlen (oldname) + 4);
- sprintf (newname, "@b.%s", oldname);
- idp = get_identifier (newname);
- XEXP (rtl, 0) = gen_rtx_SYMBOL_REF (Pmode, IDENTIFIER_POINTER (idp));
- }
-}
-
-const char *
-xstormy16_strip_name_encoding (const char *name)
-{
- while (1)
- {
- if (name[0] == '@' && name[2] == '.')
- name += 3;
- else if (name[0] == '*')
- name ++;
- else
- return name;
+ rtx symbol = XEXP (r, 0);
+
+ gcc_assert (GET_CODE (symbol) == SYMBOL_REF);
+ SYMBOL_REF_FLAGS (symbol) |= SYMBOL_FLAG_XSTORMY16_BELOW100;
}
}
@@ -2479,7 +2441,7 @@ combine_bnp (rtx insn)
if (need_extend)
{
- /* LT and GE conditionals should have an sign extend before
+ /* LT and GE conditionals should have a sign extend before
them. */
for (and = prev_real_insn (insn); and; and = prev_real_insn (and))
{
@@ -2676,8 +2638,6 @@ xstormy16_return_in_memory (tree type, tree fntype ATTRIBUTE_UNUSED)
#define TARGET_ASM_ALIGNED_SI_OP "\t.word\t"
#undef TARGET_ENCODE_SECTION_INFO
#define TARGET_ENCODE_SECTION_INFO xstormy16_encode_section_info
-#undef TARGET_STRIP_NAME_ENCODING
-#define TARGET_STRIP_NAME_ENCODING xstormy16_strip_name_encoding
#undef TARGET_ASM_OUTPUT_MI_THUNK
#define TARGET_ASM_OUTPUT_MI_THUNK xstormy16_asm_output_mi_thunk
diff --git a/gcc/config/stormy16/stormy16.h b/gcc/config/stormy16/stormy16.h
index d224271401b..e37d19ab174 100644
--- a/gcc/config/stormy16/stormy16.h
+++ b/gcc/config/stormy16/stormy16.h
@@ -655,18 +655,17 @@ do { \
#define IS_ASM_LOGICAL_LINE_SEPARATOR(C) ((C) == '|')
#define ASM_OUTPUT_ALIGNED_DECL_COMMON(STREAM, DECL, NAME, SIZE, ALIGNMENT) \
- xstormy16_asm_output_aligned_common(STREAM, DECL, NAME, SIZE, ALIGNMENT, 1)
+ xstormy16_asm_output_aligned_common (STREAM, DECL, NAME, SIZE, ALIGNMENT, 1)
#define ASM_OUTPUT_ALIGNED_DECL_LOCAL(STREAM, DECL, NAME, SIZE, ALIGNMENT) \
- xstormy16_asm_output_aligned_common(STREAM, DECL, NAME, SIZE, ALIGNMENT, 0)
+ xstormy16_asm_output_aligned_common (STREAM, DECL, NAME, SIZE, ALIGNMENT, 0)
/* Output and Generation of Labels. */
+#define SYMBOL_FLAG_XSTORMY16_BELOW100 (SYMBOL_FLAG_MACH_DEP << 0)
#define ASM_OUTPUT_SYMBOL_REF(STREAM, SYMBOL) \
do { \
const char *rn = XSTR (SYMBOL, 0); \
- if (rn[0] == '@' && rn[2] == '.') \
- rn += 3; \
if (SYMBOL_REF_FUNCTION_P (SYMBOL)) \
ASM_OUTPUT_LABEL_REF ((STREAM), rn); \
else \
@@ -680,9 +679,6 @@ do { \
fputc (')', STREAM); \
} while (0)
-#define ASM_OUTPUT_LABELREF(STREAM, NAME) \
- asm_fprintf ((STREAM), "%U%s", xstormy16_strip_name_encoding (NAME));
-
/* Globalizing directive for a label. */
#define GLOBAL_ASM_OP "\t.globl "
diff --git a/gcc/config/t-vxworks b/gcc/config/t-vxworks
index ebf47e1bcce..677b3b45443 100644
--- a/gcc/config/t-vxworks
+++ b/gcc/config/t-vxworks
@@ -1,8 +1,7 @@
-# Since we have a functional assert.h, use it.
-INSTALL_ASSERT_H =
+# Don't run fixproto.
+STMP_FIXPROTO =
# Build libgcc using the multilib mechanism
-
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
@@ -15,8 +14,14 @@ LIBGCC2_DEBUG_CFLAGS =
# Extra libgcc2 module used by gthr-vxworks.h functions
LIB2FUNCS_EXTRA = $(srcdir)/config/vxlib.c
+# Some runtime modules need these. Can't set extra_headers in config.gcc
+# because the paths are always made absolute to the cpu config dir.
+EXTRA_HEADERS += $(srcdir)/gthr-vxworks.h gthr-default.h
+
# This ensures that the correct target headers are used; some
# VxWorks system headers have names that collide with GCC's
# internal (host) headers, e.g. regs.h.
# FIXME: May not be necessary anymore.
LIBGCC2_INCLUDES="-I$(SYSTEM_HEADER_DIR)"
+
+EXTRA_MULTILIB_PARTS =
diff --git a/gcc/config/v850/lib1funcs.asm b/gcc/config/v850/lib1funcs.asm
index 91b8d24c1f6..618e49baf34 100644
--- a/gcc/config/v850/lib1funcs.asm
+++ b/gcc/config/v850/lib1funcs.asm
@@ -1,5 +1,5 @@
/* libgcc routines for NEC V850.
- Copyright (C) 1996, 1997, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 2002, 2005 Free Software Foundation, Inc.
This file is part of GCC.
@@ -268,6 +268,7 @@ ___modsi3:
/* Allocate space and save registers 2, 20 .. 29 on the stack */
/* Called via: jalr __save_r2_r29,r10 */
__save_r2_r29:
+#ifdef __EP__
mov ep,r1
addi -44,sp,sp
mov sp,ep
@@ -283,6 +284,20 @@ __save_r2_r29:
sst.w r20,36[ep]
sst.w r2,40[ep]
mov r1,ep
+#else
+ addi -44,sp,sp
+ st.w r29,0[sp]
+ st.w r28,4[sp]
+ st.w r27,8[sp]
+ st.w r26,12[sp]
+ st.w r25,16[sp]
+ st.w r24,20[sp]
+ st.w r23,24[sp]
+ st.w r22,28[sp]
+ st.w r21,32[sp]
+ st.w r20,36[sp]
+ st.w r2,40[sp]
+#endif
jmp [r10]
.size __save_r2_r29,.-__save_r2_r29
@@ -292,6 +307,7 @@ __save_r2_r29:
.globl __return_r2_r29
.type __return_r2_r29,@function
__return_r2_r29:
+#ifdef __EP__
mov ep,r1
mov sp,ep
sld.w 0[ep],r29
@@ -307,6 +323,20 @@ __return_r2_r29:
sld.w 40[ep],r2
addi 44,sp,sp
mov r1,ep
+#else
+ ld.w 0[sp],r29
+ ld.w 4[sp],r28
+ ld.w 8[sp],r27
+ ld.w 12[sp],r26
+ ld.w 16[sp],r25
+ ld.w 20[sp],r24
+ ld.w 24[sp],r23
+ ld.w 28[sp],r22
+ ld.w 32[sp],r21
+ ld.w 36[sp],r20
+ ld.w 40[sp],r2
+ addi 44,sp,sp
+#endif
jmp [r31]
.size __return_r2_r29,.-__return_r2_r29
#endif /* L_save_2 */
@@ -319,6 +349,7 @@ __return_r2_r29:
/* Allocate space and save registers 20 .. 29 on the stack */
/* Called via: jalr __save_r20_r29,r10 */
__save_r20_r29:
+#ifdef __EP__
mov ep,r1
addi -40,sp,sp
mov sp,ep
@@ -333,6 +364,19 @@ __save_r20_r29:
sst.w r21,32[ep]
sst.w r20,36[ep]
mov r1,ep
+#else
+ addi -40,sp,sp
+ st.w r29,0[sp]
+ st.w r28,4[sp]
+ st.w r27,8[sp]
+ st.w r26,12[sp]
+ st.w r25,16[sp]
+ st.w r24,20[sp]
+ st.w r23,24[sp]
+ st.w r22,28[sp]
+ st.w r21,32[sp]
+ st.w r20,36[sp]
+#endif
jmp [r10]
.size __save_r20_r29,.-__save_r20_r29
@@ -342,6 +386,7 @@ __save_r20_r29:
.globl __return_r20_r29
.type __return_r20_r29,@function
__return_r20_r29:
+#ifdef __EP__
mov ep,r1
mov sp,ep
sld.w 0[ep],r29
@@ -356,6 +401,19 @@ __return_r20_r29:
sld.w 36[ep],r20
addi 40,sp,sp
mov r1,ep
+#else
+ ld.w 0[sp],r29
+ ld.w 4[sp],r28
+ ld.w 8[sp],r27
+ ld.w 12[sp],r26
+ ld.w 16[sp],r25
+ ld.w 20[sp],r24
+ ld.w 24[sp],r23
+ ld.w 28[sp],r22
+ ld.w 32[sp],r21
+ ld.w 36[sp],r20
+ addi 40,sp,sp
+#endif
jmp [r31]
.size __return_r20_r29,.-__return_r20_r29
#endif /* L_save_20 */
@@ -368,6 +426,7 @@ __return_r20_r29:
/* Allocate space and save registers 21 .. 29 on the stack */
/* Called via: jalr __save_r21_r29,r10 */
__save_r21_r29:
+#ifdef __EP__
mov ep,r1
addi -36,sp,sp
mov sp,ep
@@ -381,6 +440,18 @@ __save_r21_r29:
sst.w r22,28[ep]
sst.w r21,32[ep]
mov r1,ep
+#else
+ addi -36,sp,sp
+ st.w r29,0[sp]
+ st.w r28,4[sp]
+ st.w r27,8[sp]
+ st.w r26,12[sp]
+ st.w r25,16[sp]
+ st.w r24,20[sp]
+ st.w r23,24[sp]
+ st.w r22,28[sp]
+ st.w r21,32[sp]
+#endif
jmp [r10]
.size __save_r21_r29,.-__save_r21_r29
@@ -390,6 +461,7 @@ __save_r21_r29:
.globl __return_r21_r29
.type __return_r21_r29,@function
__return_r21_r29:
+#ifdef __EP__
mov ep,r1
mov sp,ep
sld.w 0[ep],r29
@@ -403,6 +475,18 @@ __return_r21_r29:
sld.w 32[ep],r21
addi 36,sp,sp
mov r1,ep
+#else
+ ld.w 0[sp],r29
+ ld.w 4[sp],r28
+ ld.w 8[sp],r27
+ ld.w 12[sp],r26
+ ld.w 16[sp],r25
+ ld.w 20[sp],r24
+ ld.w 24[sp],r23
+ ld.w 28[sp],r22
+ ld.w 32[sp],r21
+ addi 36,sp,sp
+#endif
jmp [r31]
.size __return_r21_r29,.-__return_r21_r29
#endif /* L_save_21 */
@@ -415,6 +499,7 @@ __return_r21_r29:
/* Allocate space and save registers 22 .. 29 on the stack */
/* Called via: jalr __save_r22_r29,r10 */
__save_r22_r29:
+#ifdef __EP__
mov ep,r1
addi -32,sp,sp
mov sp,ep
@@ -427,6 +512,17 @@ __save_r22_r29:
sst.w r23,24[ep]
sst.w r22,28[ep]
mov r1,ep
+#else
+ addi -32,sp,sp
+ st.w r29,0[sp]
+ st.w r28,4[sp]
+ st.w r27,8[sp]
+ st.w r26,12[sp]
+ st.w r25,16[sp]
+ st.w r24,20[sp]
+ st.w r23,24[sp]
+ st.w r22,28[sp]
+#endif
jmp [r10]
.size __save_r22_r29,.-__save_r22_r29
@@ -436,6 +532,7 @@ __save_r22_r29:
.globl __return_r22_r29
.type __return_r22_r29,@function
__return_r22_r29:
+#ifdef __EP__
mov ep,r1
mov sp,ep
sld.w 0[ep],r29
@@ -448,6 +545,17 @@ __return_r22_r29:
sld.w 28[ep],r22
addi 32,sp,sp
mov r1,ep
+#else
+ ld.w 0[sp],r29
+ ld.w 4[sp],r28
+ ld.w 8[sp],r27
+ ld.w 12[sp],r26
+ ld.w 16[sp],r25
+ ld.w 20[sp],r24
+ ld.w 24[sp],r23
+ ld.w 28[sp],r22
+ addi 32,sp,sp
+#endif
jmp [r31]
.size __return_r22_r29,.-__return_r22_r29
#endif /* L_save_22 */
@@ -460,6 +568,7 @@ __return_r22_r29:
/* Allocate space and save registers 23 .. 29 on the stack */
/* Called via: jalr __save_r23_r29,r10 */
__save_r23_r29:
+#ifdef __EP__
mov ep,r1
addi -28,sp,sp
mov sp,ep
@@ -471,6 +580,16 @@ __save_r23_r29:
sst.w r24,20[ep]
sst.w r23,24[ep]
mov r1,ep
+#else
+ addi -28,sp,sp
+ st.w r29,0[sp]
+ st.w r28,4[sp]
+ st.w r27,8[sp]
+ st.w r26,12[sp]
+ st.w r25,16[sp]
+ st.w r24,20[sp]
+ st.w r23,24[sp]
+#endif
jmp [r10]
.size __save_r23_r29,.-__save_r23_r29
@@ -480,6 +599,7 @@ __save_r23_r29:
.globl __return_r23_r29
.type __return_r23_r29,@function
__return_r23_r29:
+#ifdef __EP__
mov ep,r1
mov sp,ep
sld.w 0[ep],r29
@@ -491,6 +611,16 @@ __return_r23_r29:
sld.w 24[ep],r23
addi 28,sp,sp
mov r1,ep
+#else
+ ld.w 0[sp],r29
+ ld.w 4[sp],r28
+ ld.w 8[sp],r27
+ ld.w 12[sp],r26
+ ld.w 16[sp],r25
+ ld.w 20[sp],r24
+ ld.w 24[sp],r23
+ addi 28,sp,sp
+#endif
jmp [r31]
.size __return_r23_r29,.-__return_r23_r29
#endif /* L_save_23 */
@@ -503,6 +633,7 @@ __return_r23_r29:
/* Allocate space and save registers 24 .. 29 on the stack */
/* Called via: jalr __save_r24_r29,r10 */
__save_r24_r29:
+#ifdef __EP__
mov ep,r1
addi -24,sp,sp
mov sp,ep
@@ -513,6 +644,15 @@ __save_r24_r29:
sst.w r25,16[ep]
sst.w r24,20[ep]
mov r1,ep
+#else
+ addi -24,sp,sp
+ st.w r29,0[sp]
+ st.w r28,4[sp]
+ st.w r27,8[sp]
+ st.w r26,12[sp]
+ st.w r25,16[sp]
+ st.w r24,20[sp]
+#endif
jmp [r10]
.size __save_r24_r29,.-__save_r24_r29
@@ -522,6 +662,7 @@ __save_r24_r29:
.globl __return_r24_r29
.type __return_r24_r29,@function
__return_r24_r29:
+#ifdef __EP__
mov ep,r1
mov sp,ep
sld.w 0[ep],r29
@@ -532,6 +673,15 @@ __return_r24_r29:
sld.w 20[ep],r24
addi 24,sp,sp
mov r1,ep
+#else
+ ld.w 0[sp],r29
+ ld.w 4[sp],r28
+ ld.w 8[sp],r27
+ ld.w 12[sp],r26
+ ld.w 16[sp],r25
+ ld.w 20[sp],r24
+ addi 24,sp,sp
+#endif
jmp [r31]
.size __return_r24_r29,.-__return_r24_r29
#endif /* L_save_24 */
@@ -544,6 +694,7 @@ __return_r24_r29:
/* Allocate space and save registers 25 .. 29 on the stack */
/* Called via: jalr __save_r25_r29,r10 */
__save_r25_r29:
+#ifdef __EP__
mov ep,r1
addi -20,sp,sp
mov sp,ep
@@ -553,6 +704,14 @@ __save_r25_r29:
sst.w r26,12[ep]
sst.w r25,16[ep]
mov r1,ep
+#else
+ addi -20,sp,sp
+ st.w r29,0[sp]
+ st.w r28,4[sp]
+ st.w r27,8[sp]
+ st.w r26,12[sp]
+ st.w r25,16[sp]
+#endif
jmp [r10]
.size __save_r25_r29,.-__save_r25_r29
@@ -562,6 +721,7 @@ __save_r25_r29:
.globl __return_r25_r29
.type __return_r25_r29,@function
__return_r25_r29:
+#ifdef __EP__
mov ep,r1
mov sp,ep
sld.w 0[ep],r29
@@ -571,6 +731,14 @@ __return_r25_r29:
sld.w 16[ep],r25
addi 20,sp,sp
mov r1,ep
+#else
+ ld.w 0[ep],r29
+ ld.w 4[ep],r28
+ ld.w 8[ep],r27
+ ld.w 12[ep],r26
+ ld.w 16[ep],r25
+ addi 20,sp,sp
+#endif
jmp [r31]
.size __return_r25_r29,.-__return_r25_r29
#endif /* L_save_25 */
@@ -583,6 +751,7 @@ __return_r25_r29:
/* Allocate space and save registers 26 .. 29 on the stack */
/* Called via: jalr __save_r26_r29,r10 */
__save_r26_r29:
+#ifdef __EP__
mov ep,r1
add -16,sp
mov sp,ep
@@ -591,6 +760,13 @@ __save_r26_r29:
sst.w r27,8[ep]
sst.w r26,12[ep]
mov r1,ep
+#else
+ add -16,sp
+ st.w r29,0[sp]
+ st.w r28,4[sp]
+ st.w r27,8[sp]
+ st.w r26,12[sp]
+#endif
jmp [r10]
.size __save_r26_r29,.-__save_r26_r29
@@ -600,6 +776,7 @@ __save_r26_r29:
.globl __return_r26_r29
.type __return_r26_r29,@function
__return_r26_r29:
+#ifdef __EP__
mov ep,r1
mov sp,ep
sld.w 0[ep],r29
@@ -608,6 +785,13 @@ __return_r26_r29:
sld.w 12[ep],r26
addi 16,sp,sp
mov r1,ep
+#else
+ ld.w 0[sp],r29
+ ld.w 4[sp],r28
+ ld.w 8[sp],r27
+ ld.w 12[sp],r26
+ addi 16,sp,sp
+#endif
jmp [r31]
.size __return_r26_r29,.-__return_r26_r29
#endif /* L_save_26 */
@@ -698,10 +882,11 @@ __return_r29:
.align 2
.globl __save_r2_r31
.type __save_r2_r31,@function
- /* Allocate space and save registers 20 .. 29, 31 on the stack */
- /* Also allocate space for the argument save area */
- /* Called via: jalr __save_r2_r31,r10 */
+ /* Allocate space and save registers 20 .. 29, 31 on the stack. */
+ /* Also allocate space for the argument save area. */
+ /* Called via: jalr __save_r2_r31,r10. */
__save_r2_r31:
+#ifdef __EP__
mov ep,r1
addi -64,sp,sp
mov sp,ep
@@ -718,6 +903,21 @@ __save_r2_r31:
sst.w r2,56[ep]
sst.w r31,60[ep]
mov r1,ep
+#else
+ addi -64,sp,sp
+ st.w r29,16[sp]
+ st.w r28,20[sp]
+ st.w r27,24[sp]
+ st.w r26,28[sp]
+ st.w r25,32[sp]
+ st.w r24,36[sp]
+ st.w r23,40[sp]
+ st.w r22,44[sp]
+ st.w r21,48[sp]
+ st.w r20,52[sp]
+ st.w r2,56[sp]
+ st.w r31,60[sp]
+#endif
jmp [r10]
.size __save_r2_r31,.-__save_r2_r31
@@ -727,6 +927,7 @@ __save_r2_r31:
.globl __return_r2_r31
.type __return_r2_r31,@function
__return_r2_r31:
+#ifdef __EP__
mov ep,r1
mov sp,ep
sld.w 16[ep],r29
@@ -743,6 +944,21 @@ __return_r2_r31:
sld.w 60[ep],r31
addi 64,sp,sp
mov r1,ep
+#else
+ ld.w 16[sp],r29
+ ld.w 20[sp],r28
+ ld.w 24[sp],r27
+ ld.w 28[sp],r26
+ ld.w 32[sp],r25
+ ld.w 36[sp],r24
+ ld.w 40[sp],r23
+ ld.w 44[sp],r22
+ ld.w 48[sp],r21
+ ld.w 52[sp],r20
+ ld.w 56[sp],r2
+ ld.w 60[sp],r31
+ addi 64,sp,sp
+#endif
jmp [r31]
.size __return_r2_r31,.-__return_r2_r31
#endif /* L_save_2c */
@@ -756,6 +972,7 @@ __return_r2_r31:
/* Also allocate space for the argument save area */
/* Called via: jalr __save_r20_r31,r10 */
__save_r20_r31:
+#ifdef __EP__
mov ep,r1
addi -60,sp,sp
mov sp,ep
@@ -771,6 +988,20 @@ __save_r20_r31:
sst.w r20,52[ep]
sst.w r31,56[ep]
mov r1,ep
+#else
+ addi -60,sp,sp
+ st.w r29,16[sp]
+ st.w r28,20[sp]
+ st.w r27,24[sp]
+ st.w r26,28[sp]
+ st.w r25,32[sp]
+ st.w r24,36[sp]
+ st.w r23,40[sp]
+ st.w r22,44[sp]
+ st.w r21,48[sp]
+ st.w r20,52[sp]
+ st.w r31,56[sp]
+#endif
jmp [r10]
.size __save_r20_r31,.-__save_r20_r31
@@ -780,6 +1011,7 @@ __save_r20_r31:
.globl __return_r20_r31
.type __return_r20_r31,@function
__return_r20_r31:
+#ifdef __EP__
mov ep,r1
mov sp,ep
sld.w 16[ep],r29
@@ -795,6 +1027,20 @@ __return_r20_r31:
sld.w 56[ep],r31
addi 60,sp,sp
mov r1,ep
+#else
+ ld.w 16[sp],r29
+ ld.w 20[sp],r28
+ ld.w 24[sp],r27
+ ld.w 28[sp],r26
+ ld.w 32[sp],r25
+ ld.w 36[sp],r24
+ ld.w 40[sp],r23
+ ld.w 44[sp],r22
+ ld.w 48[sp],r21
+ ld.w 52[sp],r20
+ ld.w 56[sp],r31
+ addi 60,sp,sp
+#endif
jmp [r31]
.size __return_r20_r31,.-__return_r20_r31
#endif /* L_save_20c */
@@ -808,6 +1054,7 @@ __return_r20_r31:
/* Also allocate space for the argument save area */
/* Called via: jalr __save_r21_r31,r10 */
__save_r21_r31:
+#ifdef __EP__
mov ep,r1
addi -56,sp,sp
mov sp,ep
@@ -822,6 +1069,19 @@ __save_r21_r31:
sst.w r21,48[ep]
sst.w r31,52[ep]
mov r1,ep
+#else
+ addi -56,sp,sp
+ st.w r29,16[sp]
+ st.w r28,20[sp]
+ st.w r27,24[sp]
+ st.w r26,28[sp]
+ st.w r25,32[sp]
+ st.w r24,36[sp]
+ st.w r23,40[sp]
+ st.w r22,44[sp]
+ st.w r21,48[sp]
+ st.w r31,52[sp]
+#endif
jmp [r10]
.size __save_r21_r31,.-__save_r21_r31
@@ -831,6 +1091,7 @@ __save_r21_r31:
.globl __return_r21_r31
.type __return_r21_r31,@function
__return_r21_r31:
+#ifdef __EP__
mov ep,r1
mov sp,ep
sld.w 16[ep],r29
@@ -845,6 +1106,19 @@ __return_r21_r31:
sld.w 52[ep],r31
addi 56,sp,sp
mov r1,ep
+#else
+ ld.w 16[sp],r29
+ ld.w 20[sp],r28
+ ld.w 24[sp],r27
+ ld.w 28[sp],r26
+ ld.w 32[sp],r25
+ ld.w 36[sp],r24
+ ld.w 40[sp],r23
+ ld.w 44[sp],r22
+ ld.w 48[sp],r21
+ ld.w 52[sp],r31
+ addi 56,sp,sp
+#endif
jmp [r31]
.size __return_r21_r31,.-__return_r21_r31
#endif /* L_save_21c */
@@ -858,6 +1132,7 @@ __return_r21_r31:
/* Also allocate space for the argument save area */
/* Called via: jalr __save_r22_r31,r10 */
__save_r22_r31:
+#ifdef __EP__
mov ep,r1
addi -52,sp,sp
mov sp,ep
@@ -871,6 +1146,18 @@ __save_r22_r31:
sst.w r22,44[ep]
sst.w r31,48[ep]
mov r1,ep
+#else
+ addi -52,sp,sp
+ st.w r29,16[sp]
+ st.w r28,20[sp]
+ st.w r27,24[sp]
+ st.w r26,28[sp]
+ st.w r25,32[sp]
+ st.w r24,36[sp]
+ st.w r23,40[sp]
+ st.w r22,44[sp]
+ st.w r31,48[sp]
+#endif
jmp [r10]
.size __save_r22_r31,.-__save_r22_r31
@@ -880,6 +1167,7 @@ __save_r22_r31:
.globl __return_r22_r31
.type __return_r22_r31,@function
__return_r22_r31:
+#ifdef __EP__
mov ep,r1
mov sp,ep
sld.w 16[ep],r29
@@ -893,6 +1181,18 @@ __return_r22_r31:
sld.w 48[ep],r31
addi 52,sp,sp
mov r1,ep
+#else
+ ld.w 16[sp],r29
+ ld.w 20[sp],r28
+ ld.w 24[sp],r27
+ ld.w 28[sp],r26
+ ld.w 32[sp],r25
+ ld.w 36[sp],r24
+ ld.w 40[sp],r23
+ ld.w 44[sp],r22
+ ld.w 48[sp],r31
+ addi 52,sp,sp
+#endif
jmp [r31]
.size __return_r22_r31,.-__return_r22_r31
#endif /* L_save_22c */
@@ -906,6 +1206,7 @@ __return_r22_r31:
/* Also allocate space for the argument save area */
/* Called via: jalr __save_r23_r31,r10 */
__save_r23_r31:
+#ifdef __EP__
mov ep,r1
addi -48,sp,sp
mov sp,ep
@@ -918,6 +1219,17 @@ __save_r23_r31:
sst.w r23,40[ep]
sst.w r31,44[ep]
mov r1,ep
+#else
+ addi -48,sp,sp
+ st.w r29,16[sp]
+ st.w r28,20[sp]
+ st.w r27,24[sp]
+ st.w r26,28[sp]
+ st.w r25,32[sp]
+ st.w r24,36[sp]
+ st.w r23,40[sp]
+ st.w r31,44[sp]
+#endif
jmp [r10]
.size __save_r23_r31,.-__save_r23_r31
@@ -927,6 +1239,7 @@ __save_r23_r31:
.globl __return_r23_r31
.type __return_r23_r31,@function
__return_r23_r31:
+#ifdef __EP__
mov ep,r1
mov sp,ep
sld.w 16[ep],r29
@@ -939,6 +1252,17 @@ __return_r23_r31:
sld.w 44[ep],r31
addi 48,sp,sp
mov r1,ep
+#else
+ ld.w 16[sp],r29
+ ld.w 20[sp],r28
+ ld.w 24[sp],r27
+ ld.w 28[sp],r26
+ ld.w 32[sp],r25
+ ld.w 36[sp],r24
+ ld.w 40[sp],r23
+ ld.w 44[sp],r31
+ addi 48,sp,sp
+#endif
jmp [r31]
.size __return_r23_r31,.-__return_r23_r31
#endif /* L_save_23c */
@@ -952,6 +1276,7 @@ __return_r23_r31:
/* Also allocate space for the argument save area */
/* Called via: jalr __save_r24_r31,r10 */
__save_r24_r31:
+#ifdef __EP__
mov ep,r1
addi -44,sp,sp
mov sp,ep
@@ -963,6 +1288,16 @@ __save_r24_r31:
sst.w r24,36[ep]
sst.w r31,40[ep]
mov r1,ep
+#else
+ addi -44,sp,sp
+ st.w r29,16[sp]
+ st.w r28,20[sp]
+ st.w r27,24[sp]
+ st.w r26,28[sp]
+ st.w r25,32[sp]
+ st.w r24,36[sp]
+ st.w r31,40[sp]
+#endif
jmp [r10]
.size __save_r24_r31,.-__save_r24_r31
@@ -972,6 +1307,7 @@ __save_r24_r31:
.globl __return_r24_r31
.type __return_r24_r31,@function
__return_r24_r31:
+#ifdef __EP__
mov ep,r1
mov sp,ep
sld.w 16[ep],r29
@@ -983,6 +1319,16 @@ __return_r24_r31:
sld.w 40[ep],r31
addi 44,sp,sp
mov r1,ep
+#else
+ ld.w 16[sp],r29
+ ld.w 20[sp],r28
+ ld.w 24[sp],r27
+ ld.w 28[sp],r26
+ ld.w 32[sp],r25
+ ld.w 36[sp],r24
+ ld.w 40[sp],r31
+ addi 44,sp,sp
+#endif
jmp [r31]
.size __return_r24_r31,.-__return_r24_r31
#endif /* L_save_24c */
@@ -996,6 +1342,7 @@ __return_r24_r31:
/* Also allocate space for the argument save area */
/* Called via: jalr __save_r25_r31,r10 */
__save_r25_r31:
+#ifdef __EP__
mov ep,r1
addi -40,sp,sp
mov sp,ep
@@ -1006,6 +1353,15 @@ __save_r25_r31:
sst.w r25,32[ep]
sst.w r31,36[ep]
mov r1,ep
+#else
+ addi -40,sp,sp
+ st.w r29,16[sp]
+ st.w r28,20[sp]
+ st.w r27,24[sp]
+ st.w r26,28[sp]
+ st.w r25,32[sp]
+ st.w r31,36[sp]
+#endif
jmp [r10]
.size __save_r25_r31,.-__save_r25_r31
@@ -1015,6 +1371,7 @@ __save_r25_r31:
.globl __return_r25_r31
.type __return_r25_r31,@function
__return_r25_r31:
+#ifdef __EP__
mov ep,r1
mov sp,ep
sld.w 16[ep],r29
@@ -1025,6 +1382,15 @@ __return_r25_r31:
sld.w 36[ep],r31
addi 40,sp,sp
mov r1,ep
+#else
+ ld.w 16[sp],r29
+ ld.w 20[sp],r28
+ ld.w 24[sp],r27
+ ld.w 28[sp],r26
+ ld.w 32[sp],r25
+ ld.w 36[sp],r31
+ addi 40,sp,sp
+#endif
jmp [r31]
.size __return_r25_r31,.-__return_r25_r31
#endif /* L_save_25c */
@@ -1038,6 +1404,7 @@ __return_r25_r31:
/* Also allocate space for the argument save area */
/* Called via: jalr __save_r26_r31,r10 */
__save_r26_r31:
+#ifdef __EP__
mov ep,r1
addi -36,sp,sp
mov sp,ep
@@ -1047,6 +1414,14 @@ __save_r26_r31:
sst.w r26,28[ep]
sst.w r31,32[ep]
mov r1,ep
+#else
+ addi -36,sp,sp
+ st.w r29,16[sp]
+ st.w r28,20[sp]
+ st.w r27,24[sp]
+ st.w r26,28[sp]
+ st.w r31,32[sp]
+#endif
jmp [r10]
.size __save_r26_r31,.-__save_r26_r31
@@ -1056,6 +1431,7 @@ __save_r26_r31:
.globl __return_r26_r31
.type __return_r26_r31,@function
__return_r26_r31:
+#ifdef __EP__
mov ep,r1
mov sp,ep
sld.w 16[ep],r29
@@ -1065,6 +1441,14 @@ __return_r26_r31:
sld.w 32[ep],r31
addi 36,sp,sp
mov r1,ep
+#else
+ ld.w 16[sp],r29
+ ld.w 20[sp],r28
+ ld.w 24[sp],r27
+ ld.w 28[sp],r26
+ ld.w 32[sp],r31
+ addi 36,sp,sp
+#endif
jmp [r31]
.size __return_r26_r31,.-__return_r26_r31
#endif /* L_save_26c */
@@ -1078,6 +1462,7 @@ __return_r26_r31:
/* Also allocate space for the argument save area */
/* Called via: jalr __save_r27_r31,r10 */
__save_r27_r31:
+#ifdef __EP__
mov ep,r1
addi -32,sp,sp
mov sp,ep
@@ -1086,6 +1471,13 @@ __save_r27_r31:
sst.w r27,24[ep]
sst.w r31,28[ep]
mov r1,ep
+#else
+ addi -32,sp,sp
+ st.w r29,16[sp]
+ st.w r28,20[sp]
+ st.w r27,24[sp]
+ st.w r31,28[sp]
+#endif
jmp [r10]
.size __save_r27_r31,.-__save_r27_r31
@@ -1095,6 +1487,7 @@ __save_r27_r31:
.globl __return_r27_r31
.type __return_r27_r31,@function
__return_r27_r31:
+#ifdef __EP__
mov ep,r1
mov sp,ep
sld.w 16[ep],r29
@@ -1103,6 +1496,13 @@ __return_r27_r31:
sld.w 28[ep],r31
addi 32,sp,sp
mov r1,ep
+#else
+ ld.w 16[sp],r29
+ ld.w 20[sp],r28
+ ld.w 24[sp],r27
+ ld.w 28[sp],r31
+ addi 32,sp,sp
+#endif
jmp [r31]
.size __return_r27_r31,.-__return_r27_r31
#endif /* L_save_27c */
@@ -1199,6 +1599,7 @@ __return_r31:
/* Save registers 6 .. 9 on the stack for variable argument functions. */
/* Called via: jalr __save_r6_r9,r10 */
__save_r6_r9:
+#ifdef __EP__
mov ep,r1
mov sp,ep
sst.w r6,0[ep]
@@ -1206,6 +1607,12 @@ __save_r6_r9:
sst.w r8,8[ep]
sst.w r9,12[ep]
mov r1,ep
+#else
+ st.w r6,0[sp]
+ st.w r7,4[sp]
+ st.w r8,8[sp]
+ st.w r9,12[sp]
+#endif
jmp [r10]
.size __save_r6_r9,.-__save_r6_r9
#endif /* L_save_varargs */
@@ -1254,6 +1661,7 @@ __return_interrupt:
/* Called via: jalr __save_all_interrupt,r10 */
__save_all_interrupt:
addi -120,sp,sp
+#ifdef __EP__
mov ep,r1
mov sp,ep
sst.w r31,116[ep]
@@ -1283,6 +1691,34 @@ __save_all_interrupt:
sst.w r28,20[ep]
sst.w r29,16[ep]
mov r1,ep
+#else
+ st.w r31,116[sp]
+ st.w r2,112[sp]
+ st.w gp,108[sp]
+ st.w r6,104[sp]
+ st.w r7,100[sp]
+ st.w r8,96[sp]
+ st.w r9,92[sp]
+ st.w r11,88[sp]
+ st.w r12,84[sp]
+ st.w r13,80[sp]
+ st.w r14,76[sp]
+ st.w r15,72[sp]
+ st.w r16,68[sp]
+ st.w r17,64[sp]
+ st.w r18,60[sp]
+ st.w r19,56[sp]
+ st.w r20,52[sp]
+ st.w r21,48[sp]
+ st.w r22,44[sp]
+ st.w r23,40[sp]
+ st.w r24,36[sp]
+ st.w r25,32[sp]
+ st.w r26,28[sp]
+ st.w r27,24[sp]
+ st.w r28,20[sp]
+ st.w r29,16[sp]
+#endif
jmp [r10]
.size __save_all_interrupt,.-__save_all_interrupt
@@ -1292,6 +1728,7 @@ __save_all_interrupt:
deallocate the stack space. */
/* Called via: jalr __restore_all_interrupt,r10 */
__restore_all_interrupt:
+#ifdef __EP__
mov ep,r1
mov sp,ep
sld.w 116[ep],r31
@@ -1321,7 +1758,35 @@ __restore_all_interrupt:
sld.w 20[ep],r28
sld.w 16[ep],r29
mov r1,ep
- addi 120,sp,sp
+#else
+ ld.w 116[sp],r31
+ ld.w 112[sp],r2
+ ld.w 108[sp],gp
+ ld.w 104[sp],r6
+ ld.w 100[sp],r7
+ ld.w 96[sp],r8
+ ld.w 92[sp],r9
+ ld.w 88[sp],r11
+ ld.w 84[sp],r12
+ ld.w 80[sp],r13
+ ld.w 76[sp],r14
+ ld.w 72[sp],r15
+ ld.w 68[sp],r16
+ ld.w 64[sp],r17
+ ld.w 60[sp],r18
+ ld.w 56[sp],r19
+ ld.w 52[sp],r20
+ ld.w 48[sp],r21
+ ld.w 44[sp],r22
+ ld.w 40[sp],r23
+ ld.w 36[sp],r24
+ ld.w 32[sp],r25
+ ld.w 28[sp],r26
+ ld.w 24[sp],r27
+ ld.w 20[sp],r28
+ ld.w 16[sp],r29
+#endif
+ addi 120,sp,sp
jmp [r10]
.size __restore_all_interrupt,.-__restore_all_interrupt
#endif /* L_save_all_interrupt */
@@ -1409,6 +1874,7 @@ __callt_return_r2_r31: .short ctoff(.L_return_r2_r31)
Called via: callt ctoff(__callt_save_r6_r9). */
.align 2
.L_save_r6_r9:
+#ifdef __EP__
mov ep,r1
mov sp,ep
sst.w r6,0[ep]
@@ -1416,6 +1882,12 @@ __callt_return_r2_r31: .short ctoff(.L_return_r2_r31)
sst.w r8,8[ep]
sst.w r9,12[ep]
mov r1,ep
+#else
+ st.w r6,0[sp]
+ st.w r7,4[sp]
+ st.w r8,8[sp]
+ st.w r9,12[sp]
+#endif
ctret
/* Place the offsets of the start of this routines into the call table. */
@@ -1428,7 +1900,7 @@ __callt_save_r6_r9: .short ctoff(.L_save_r6_r9)
#ifdef L_callt_save_interrupt
- /* Put this functions into the call table area */
+ /* Put these functions into the call table area. */
.call_table_text
/* Save registers r1, ep, gp, r10 on stack and load up with expected values. */
@@ -1440,23 +1912,14 @@ __callt_save_r6_r9: .short ctoff(.L_save_r6_r9)
st.w ep, 0[sp]
st.w gp, 4[sp]
st.w r1, 8[sp]
- /* R10 has alread been saved bofore callt ctoff(_save_interrupt). */
+ /* R10 has already been saved before callt ctoff(_save_interrupt). */
/* st.w r10, 12[sp] */
mov hilo(__ep),ep
mov hilo(__gp),gp
ctret
- /* Place the offsets of the start of the routine into the call table. */
- .call_table_data
- .global __callt_save_interrupt
- .type __callt_save_interrupt,@function
-__callt_save_interrupt: .short ctoff(.L_save_interrupt)
-
- .call_table_text
-
/* Restore saved registers, deallocate stack and return from the interrupt. */
- /* Called via: callt ctoff(__callt_restore_itnerrupt). */
- .text
+ /* Called via: callt ctoff(__callt_restore_interrupt). */
.align 2
.globl __return_interrupt
.type __return_interrupt,@function
@@ -1472,9 +1935,13 @@ __callt_save_interrupt: .short ctoff(.L_save_interrupt)
addi 24, sp, sp
reti
- /* Place the offsets of the start of the routine into the call table. */
+ /* Place the offsets of the start of these routines into the call table. */
.call_table_data
+ .global __callt_save_interrupt
+ .type __callt_save_interrupt,@function
+__callt_save_interrupt: .short ctoff(.L_save_interrupt)
+
.global __callt_return_interrupt
.type __callt_return_interrupt,@function
__callt_return_interrupt: .short ctoff(.L_return_interrupt)
@@ -1482,7 +1949,7 @@ __callt_return_interrupt: .short ctoff(.L_return_interrupt)
#endif /* L_callt_save_interrupt */
#ifdef L_callt_save_all_interrupt
- /* Put this functions into the call table area. */
+ /* Put these functions into the call table area. */
.call_table_text
/* Save all registers except for those saved in __save_interrupt. */
@@ -1491,6 +1958,7 @@ __callt_return_interrupt: .short ctoff(.L_return_interrupt)
.align 2
.L_save_all_interrupt:
addi -60, sp, sp
+#ifdef __EP__
mov ep, r1
mov sp, ep
sst.w r2, 56[ep]
@@ -1509,7 +1977,23 @@ __callt_return_interrupt: .short ctoff(.L_return_interrupt)
sst.w r18, 4[ep]
sst.w r19, 0[ep]
mov r1, ep
-
+#else
+ st.w r2, 56[sp]
+ st.w r5, 52[sp]
+ st.w r6, 48[sp]
+ st.w r7, 44[sp]
+ st.w r8, 40[sp]
+ st.w r9, 36[sp]
+ st.w r11, 32[sp]
+ st.w r12, 28[sp]
+ st.w r13, 24[sp]
+ st.w r14, 20[sp]
+ st.w r15, 16[sp]
+ st.w r16, 12[sp]
+ st.w r17, 8[sp]
+ st.w r18, 4[sp]
+ st.w r19, 0[sp]
+#endif
prepare {r20 - r29, r31}, 4
ctret
@@ -1519,7 +2003,7 @@ __callt_return_interrupt: .short ctoff(.L_return_interrupt)
.align 2
.L_restore_all_interrupt:
dispose 4, {r20 - r29, r31}
-
+#ifdef __EP__
mov ep, r1
mov sp, ep
sld.w 0 [ep], r19
@@ -1538,6 +2022,23 @@ __callt_return_interrupt: .short ctoff(.L_return_interrupt)
sld.w 52[ep], r5
sld.w 56[ep], r2
mov r1, ep
+#else
+ ld.w 0 [sp], r19
+ ld.w 4 [sp], r18
+ ld.w 8 [sp], r17
+ ld.w 12[sp], r16
+ ld.w 16[sp], r15
+ ld.w 20[sp], r14
+ ld.w 24[sp], r13
+ ld.w 28[sp], r12
+ ld.w 32[sp], r11
+ ld.w 36[sp], r9
+ ld.w 40[sp], r8
+ ld.w 44[sp], r7
+ ld.w 48[sp], r6
+ ld.w 52[sp], r5
+ ld.w 56[sp], r2
+#endif
addi 60, sp, sp
ctret
diff --git a/gcc/config/v850/v850.c b/gcc/config/v850/v850.c
index 79c56afe30d..e77d56ab5e7 100644
--- a/gcc/config/v850/v850.c
+++ b/gcc/config/v850/v850.c
@@ -616,7 +616,7 @@ print_operand (FILE * file, rtx x, int code)
break;
case 'S':
{
- /* if it's a reference to a TDA variable, use sst/sld vs. st/ld */
+ /* If it's a reference to a TDA variable, use sst/sld vs. st/ld. */
if (GET_CODE (x) == MEM && ep_memory_operand (x, GET_MODE (x), FALSE))
fputs ("s", file);
@@ -1057,6 +1057,13 @@ ep_memory_operand (rtx op, enum machine_mode mode, int unsigned_load)
int max_offset;
int mask;
+ /* If we are not using the EP register on a per-function basis
+ then do not allow this optimisation at all. This is to
+ prevent the use of the SLD/SST instructions which cannot be
+ guaranteed to work properly due to a hardware bug. */
+ if (!TARGET_EP)
+ return FALSE;
+
if (GET_CODE (op) != MEM)
return FALSE;
diff --git a/gcc/config/v850/v850.h b/gcc/config/v850/v850.h
index 4b0af763ace..08c85fdbade 100644
--- a/gcc/config/v850/v850.h
+++ b/gcc/config/v850/v850.h
@@ -81,6 +81,8 @@
builtin_define( "__v850" ); \
builtin_assert( "machine=v850" ); \
builtin_assert( "cpu=v850" ); \
+ if (TARGET_EP) \
+ builtin_define ("__EP__"); \
} while(0)
#define MASK_CPU (MASK_V850 | MASK_V850E)
@@ -131,7 +133,13 @@ extern struct small_memory_info small_memory[(int)SMALL_MEMORY_max];
{ \
target_flags |= MASK_STRICT_ALIGN; \
if (LEVEL) \
- target_flags |= (MASK_EP | MASK_PROLOG_FUNCTION); \
+ /* Note - we no longer enable MASK_EP when optimizing. This is \
+ because of a hardware bug which stops the SLD and SST instructions\
+ from correctly detecting some hazards. If the user is sure that \
+ their hardware is fixed or that their program will not encounter \
+ the conditions that trigger the bug then they can enable -mep by \
+ hand. */ \
+ target_flags |= MASK_PROLOG_FUNCTION; \
}
@@ -434,7 +442,7 @@ enum reg_class
#define STACK_GROWS_DOWNWARD
-/* Define this to non-zero if the nominal address of the stack frame
+/* Define this to nonzero if the nominal address of the stack frame
is at the high-address end of the local variables;
that is, each additional local variable allocated
goes at a more negative offset in the frame. */
@@ -758,11 +766,11 @@ struct cum_arg { int nbytes; int anonymous_args; };
register class that does not include r0 on the output. */
#define EXTRA_CONSTRAINT(OP, C) \
- ((C) == 'Q' ? ep_memory_operand (OP, GET_MODE (OP), 0) \
+ ((C) == 'Q' ? ep_memory_operand (OP, GET_MODE (OP), FALSE) \
: (C) == 'R' ? special_symbolref_operand (OP, VOIDmode) \
: (C) == 'S' ? (GET_CODE (OP) == SYMBOL_REF \
&& !SYMBOL_REF_ZDA_P (OP)) \
- : (C) == 'T' ? ep_memory_operand(OP,GET_MODE(OP),TRUE) \
+ : (C) == 'T' ? ep_memory_operand (OP, GET_MODE (OP), TRUE) \
: (C) == 'U' ? ((GET_CODE (OP) == SYMBOL_REF \
&& SYMBOL_REF_ZDA_P (OP)) \
|| (GET_CODE (OP) == CONST \
diff --git a/gcc/config/v850/v850.md b/gcc/config/v850/v850.md
index 4706a004174..15c0cafbb7c 100644
--- a/gcc/config/v850/v850.md
+++ b/gcc/config/v850/v850.md
@@ -1832,35 +1832,69 @@
return \"jarl __save_all_interrupt,r10\";
output_asm_insn (\"addi -120, sp, sp\", operands);
- output_asm_insn (\"mov ep, r1\", operands);
- output_asm_insn (\"mov sp, ep\", operands);
- output_asm_insn (\"sst.w r31, 116[ep]\", operands);
- output_asm_insn (\"sst.w r2, 112[ep]\", operands);
- output_asm_insn (\"sst.w gp, 108[ep]\", operands);
- output_asm_insn (\"sst.w r6, 104[ep]\", operands);
- output_asm_insn (\"sst.w r7, 100[ep]\", operands);
- output_asm_insn (\"sst.w r8, 96[ep]\", operands);
- output_asm_insn (\"sst.w r9, 92[ep]\", operands);
- output_asm_insn (\"sst.w r11, 88[ep]\", operands);
- output_asm_insn (\"sst.w r12, 84[ep]\", operands);
- output_asm_insn (\"sst.w r13, 80[ep]\", operands);
- output_asm_insn (\"sst.w r14, 76[ep]\", operands);
- output_asm_insn (\"sst.w r15, 72[ep]\", operands);
- output_asm_insn (\"sst.w r16, 68[ep]\", operands);
- output_asm_insn (\"sst.w r17, 64[ep]\", operands);
- output_asm_insn (\"sst.w r18, 60[ep]\", operands);
- output_asm_insn (\"sst.w r19, 56[ep]\", operands);
- output_asm_insn (\"sst.w r20, 52[ep]\", operands);
- output_asm_insn (\"sst.w r21, 48[ep]\", operands);
- output_asm_insn (\"sst.w r22, 44[ep]\", operands);
- output_asm_insn (\"sst.w r23, 40[ep]\", operands);
- output_asm_insn (\"sst.w r24, 36[ep]\", operands);
- output_asm_insn (\"sst.w r25, 32[ep]\", operands);
- output_asm_insn (\"sst.w r26, 28[ep]\", operands);
- output_asm_insn (\"sst.w r27, 24[ep]\", operands);
- output_asm_insn (\"sst.w r28, 20[ep]\", operands);
- output_asm_insn (\"sst.w r29, 16[ep]\", operands);
- output_asm_insn (\"mov r1, ep\", operands);
+
+ if (TARGET_EP)
+ {
+ output_asm_insn (\"mov ep, r1\", operands);
+ output_asm_insn (\"mov sp, ep\", operands);
+ output_asm_insn (\"sst.w r31, 116[ep]\", operands);
+ output_asm_insn (\"sst.w r2, 112[ep]\", operands);
+ output_asm_insn (\"sst.w gp, 108[ep]\", operands);
+ output_asm_insn (\"sst.w r6, 104[ep]\", operands);
+ output_asm_insn (\"sst.w r7, 100[ep]\", operands);
+ output_asm_insn (\"sst.w r8, 96[ep]\", operands);
+ output_asm_insn (\"sst.w r9, 92[ep]\", operands);
+ output_asm_insn (\"sst.w r11, 88[ep]\", operands);
+ output_asm_insn (\"sst.w r12, 84[ep]\", operands);
+ output_asm_insn (\"sst.w r13, 80[ep]\", operands);
+ output_asm_insn (\"sst.w r14, 76[ep]\", operands);
+ output_asm_insn (\"sst.w r15, 72[ep]\", operands);
+ output_asm_insn (\"sst.w r16, 68[ep]\", operands);
+ output_asm_insn (\"sst.w r17, 64[ep]\", operands);
+ output_asm_insn (\"sst.w r18, 60[ep]\", operands);
+ output_asm_insn (\"sst.w r19, 56[ep]\", operands);
+ output_asm_insn (\"sst.w r20, 52[ep]\", operands);
+ output_asm_insn (\"sst.w r21, 48[ep]\", operands);
+ output_asm_insn (\"sst.w r22, 44[ep]\", operands);
+ output_asm_insn (\"sst.w r23, 40[ep]\", operands);
+ output_asm_insn (\"sst.w r24, 36[ep]\", operands);
+ output_asm_insn (\"sst.w r25, 32[ep]\", operands);
+ output_asm_insn (\"sst.w r26, 28[ep]\", operands);
+ output_asm_insn (\"sst.w r27, 24[ep]\", operands);
+ output_asm_insn (\"sst.w r28, 20[ep]\", operands);
+ output_asm_insn (\"sst.w r29, 16[ep]\", operands);
+ output_asm_insn (\"mov r1, ep\", operands);
+ }
+ else
+ {
+ output_asm_insn (\"st.w r31, 116[sp]\", operands);
+ output_asm_insn (\"st.w r2, 112[sp]\", operands);
+ output_asm_insn (\"st.w gp, 108[sp]\", operands);
+ output_asm_insn (\"st.w r6, 104[sp]\", operands);
+ output_asm_insn (\"st.w r7, 100[sp]\", operands);
+ output_asm_insn (\"st.w r8, 96[sp]\", operands);
+ output_asm_insn (\"st.w r9, 92[sp]\", operands);
+ output_asm_insn (\"st.w r11, 88[sp]\", operands);
+ output_asm_insn (\"st.w r12, 84[sp]\", operands);
+ output_asm_insn (\"st.w r13, 80[sp]\", operands);
+ output_asm_insn (\"st.w r14, 76[sp]\", operands);
+ output_asm_insn (\"st.w r15, 72[sp]\", operands);
+ output_asm_insn (\"st.w r16, 68[sp]\", operands);
+ output_asm_insn (\"st.w r17, 64[sp]\", operands);
+ output_asm_insn (\"st.w r18, 60[sp]\", operands);
+ output_asm_insn (\"st.w r19, 56[sp]\", operands);
+ output_asm_insn (\"st.w r20, 52[sp]\", operands);
+ output_asm_insn (\"st.w r21, 48[sp]\", operands);
+ output_asm_insn (\"st.w r22, 44[sp]\", operands);
+ output_asm_insn (\"st.w r23, 40[sp]\", operands);
+ output_asm_insn (\"st.w r24, 36[sp]\", operands);
+ output_asm_insn (\"st.w r25, 32[sp]\", operands);
+ output_asm_insn (\"st.w r26, 28[sp]\", operands);
+ output_asm_insn (\"st.w r27, 24[sp]\", operands);
+ output_asm_insn (\"st.w r28, 20[sp]\", operands);
+ output_asm_insn (\"st.w r29, 16[sp]\", operands);
+ }
+
return \"\";
}"
[(set (attr "length")
@@ -1897,7 +1931,8 @@
{
if (TARGET_PROLOG_FUNCTION && !TARGET_LONG_CALLS)
return \"jarl __restore_all_interrupt,r10\";
- else
+
+ if (TARGET_EP)
{
output_asm_insn (\"mov ep, r1\", operands);
output_asm_insn (\"mov sp, ep\", operands);
@@ -1928,9 +1963,38 @@
output_asm_insn (\"sld.w 20[ep], r28\", operands);
output_asm_insn (\"sld.w 16[ep], r29\", operands);
output_asm_insn (\"mov r1, ep\", operands);
- output_asm_insn (\"addi 120, sp, sp\", operands);
- return \"\";
}
+ else
+ {
+ output_asm_insn (\"ld.w 116[sp], r31\", operands);
+ output_asm_insn (\"ld.w 112[sp], r2\", operands);
+ output_asm_insn (\"ld.w 108[sp], gp\", operands);
+ output_asm_insn (\"ld.w 104[sp], r6\", operands);
+ output_asm_insn (\"ld.w 100[sp], r7\", operands);
+ output_asm_insn (\"ld.w 96[sp], r8\", operands);
+ output_asm_insn (\"ld.w 92[sp], r9\", operands);
+ output_asm_insn (\"ld.w 88[sp], r11\", operands);
+ output_asm_insn (\"ld.w 84[sp], r12\", operands);
+ output_asm_insn (\"ld.w 80[sp], r13\", operands);
+ output_asm_insn (\"ld.w 76[sp], r14\", operands);
+ output_asm_insn (\"ld.w 72[sp], r15\", operands);
+ output_asm_insn (\"ld.w 68[sp], r16\", operands);
+ output_asm_insn (\"ld.w 64[sp], r17\", operands);
+ output_asm_insn (\"ld.w 60[sp], r18\", operands);
+ output_asm_insn (\"ld.w 56[sp], r19\", operands);
+ output_asm_insn (\"ld.w 52[sp], r20\", operands);
+ output_asm_insn (\"ld.w 48[sp], r21\", operands);
+ output_asm_insn (\"ld.w 44[sp], r22\", operands);
+ output_asm_insn (\"ld.w 40[sp], r23\", operands);
+ output_asm_insn (\"ld.w 36[sp], r24\", operands);
+ output_asm_insn (\"ld.w 32[sp], r25\", operands);
+ output_asm_insn (\"ld.w 28[sp], r26\", operands);
+ output_asm_insn (\"ld.w 24[sp], r27\", operands);
+ output_asm_insn (\"ld.w 20[sp], r28\", operands);
+ output_asm_insn (\"ld.w 16[sp], r29\", operands);
+ }
+ output_asm_insn (\"addi 120, sp, sp\", operands);
+ return \"\";
}"
[(set (attr "length")
(if_then_else (ne (symbol_ref "TARGET_LONG_CALLS") (const_int 0))
diff --git a/gcc/config/vax/vax.h b/gcc/config/vax/vax.h
index ca806fe2a0f..787e32119e8 100644
--- a/gcc/config/vax/vax.h
+++ b/gcc/config/vax/vax.h
@@ -314,7 +314,7 @@ enum reg_class { NO_REGS, ALL_REGS, LIM_REG_CLASSES };
makes the stack pointer a smaller address. */
#define STACK_GROWS_DOWNWARD
-/* Define this to non-zero if the nominal address of the stack frame
+/* Define this to nonzero if the nominal address of the stack frame
is at the high-address end of the local variables;
that is, each additional local variable allocated
goes at a more negative offset in the frame. */
diff --git a/gcc/config/vxlib.c b/gcc/config/vxlib.c
index bc688f608d6..ab02388dd96 100644
--- a/gcc/config/vxlib.c
+++ b/gcc/config/vxlib.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
Contributed by Zack Weinberg <zack@codesourcery.com>
This file is part of GCC.
@@ -18,9 +18,6 @@ along with GCC; see the file COPYING. If not, write to the Free
Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA. */
-/* Threads compatibility routines for libgcc2 for VxWorks.
- These are out-of-line routines called from gthr-vxworks.h. */
-
/* As a special exception, if you link this library with other files,
some of which are compiled with GCC, to produce an executable,
this library does not by itself cause the resulting executable
@@ -28,14 +25,24 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
This exception does not however invalidate any other reasons why
the executable file might be covered by the GNU General Public License. */
+/* Threads compatibility routines for libgcc2 for VxWorks.
+ These are out-of-line routines called from gthr-vxworks.h. */
+
#include "tconfig.h"
#include "tsystem.h"
#include "gthr.h"
+#if defined(__GTHREADS)
#include <vxWorks.h>
+#ifndef __RTP__
#include <vxLib.h>
+#endif
#include <taskLib.h>
+#ifndef __RTP__
#include <taskHookLib.h>
+#else
+# include <errno.h>
+#endif
/* Init-once operation.
@@ -57,8 +64,12 @@ __gthread_once (__gthread_once_t *guard, void (*func)(void))
if (guard->done)
return 0;
+#ifdef __RTP__
+ __gthread_lock_library ();
+#else
while (!vxTas ((void *)&guard->busy))
taskDelay (1);
+#endif
/* Only one thread at a time gets here. Check ->done again, then
go ahead and call func() if no one has done it yet. */
@@ -68,29 +79,37 @@ __gthread_once (__gthread_once_t *guard, void (*func)(void))
guard->done = 1;
}
+#ifdef __RTP__
+ __gthread_unlock_library ();
+#else
guard->busy = 0;
+#endif
return 0;
}
-/* Thread-specific data.
+/* Thread-local storage.
We reserve a field in the TCB to point to a dynamically allocated
- array which is used to store TSD values. A TSD key is simply an
+ array which is used to store TLS values. A TLS key is simply an
offset in this array. The exact location of the TCB field is not
known to this code nor to vxlib.c -- all access to it indirects
- through the routines __gthread_get_tsd_data and
- __gthread_set_tsd_data, which are provided by the VxWorks kernel.
+ through the routines __gthread_get_tls_data and
+ __gthread_set_tls_data, which are provided by the VxWorks kernel.
There is also a global array which records which keys are valid and
which have destructors.
A task delete hook is installed to execute key destructors. The
- routines __gthread_enter_tsd_dtor_context and
- __gthread_leave_tsd_dtor_context, which are also provided by the
+ routines __gthread_enter_tls_dtor_context and
+ __gthread_leave_tls_dtor_context, which are also provided by the
kernel, ensure that it is safe to call free() on memory allocated
by the task being deleted. (This is a no-op on VxWorks 5, but
a major undertaking on AE.)
+ The task delete hook is only installed when at least one thread
+ has TLS data. This is a necessary precaution, to allow this module
+ to be unloaded - a module with a hook can not be removed.
+
Since this interface is used to allocate only a small number of
keys, the table size is small and static, which simplifies the
code quite a bit. Revisit this if and when it becomes necessary. */
@@ -98,23 +117,29 @@ __gthread_once (__gthread_once_t *guard, void (*func)(void))
#define MAX_KEYS 4
/* This is the structure pointed to by the pointer returned
- by __gthread_get_tsd_data. */
-struct tsd_data
+ by __gthread_get_tls_data. */
+struct tls_data
{
+ int *owner;
void *values[MAX_KEYS];
unsigned int generation[MAX_KEYS];
};
+/* To make sure we only delete TLS data associated with this object,
+ include a pointer to a local variable in the TLS data object. */
+static int self_owner;
+
+/* The number of threads for this module which have active TLS data.
+ This is protected by tls_lock. */
+static int active_tls_threads;
/* kernel provided routines */
-extern void *__gthread_get_tsd_data (WIND_TCB *tcb);
-extern void __gthread_set_tsd_data (WIND_TCB *tcb, void *data);
+extern void *__gthread_get_tls_data (void);
+extern void __gthread_set_tls_data (void *data);
-extern void __gthread_enter_tsd_dtor_context (WIND_TCB *tcb);
-extern void __gthread_leave_tsd_dtor_context (WIND_TCB *tcb);
+extern void __gthread_enter_tls_dtor_context (void);
+extern void __gthread_leave_tls_dtor_context (void);
-typedef void (*fet_callback_t) (WIND_TCB *, unsigned int);
-extern void __gthread_for_all_tasks (fet_callback_t fun, unsigned int number);
/* This is a global structure which records all of the active keys.
@@ -128,89 +153,118 @@ extern void __gthread_for_all_tasks (fet_callback_t fun, unsigned int number);
stored in this structure is equal to the generation count stored in
T's specific-value structure. */
-typedef void (*tsd_dtor) (void *);
+typedef void (*tls_dtor) (void *);
-struct tsd_keys
+struct tls_keys
{
- tsd_dtor dtor[MAX_KEYS];
+ tls_dtor dtor[MAX_KEYS];
unsigned int generation[MAX_KEYS];
};
-#define KEY_VALID_P(key) !(tsd_keys.generation[key] & 1)
+#define KEY_VALID_P(key) !(tls_keys.generation[key] & 1)
/* Note: if MAX_KEYS is increased, this initializer must be updated
to match. All the generation counts begin at 1, which means no
key is valid. */
-static struct tsd_keys tsd_keys =
+static struct tls_keys tls_keys =
{
{ 0, 0, 0, 0 },
{ 1, 1, 1, 1 }
};
-/* This lock protects the tsd_keys structure. */
-static __gthread_mutex_t tsd_lock;
+/* This lock protects the tls_keys structure. */
+static __gthread_mutex_t tls_lock;
-static __gthread_once_t tsd_init_guard = __GTHREAD_ONCE_INIT;
+static __gthread_once_t tls_init_guard = __GTHREAD_ONCE_INIT;
/* Internal routines. */
/* The task TCB has just been deleted. Call the destructor
- function for each TSD key that has both a destructor and
+ function for each TLS key that has both a destructor and
a non-NULL specific value in this thread.
- This routine does not need to take tsd_lock; the generation
+ This routine does not need to take tls_lock; the generation
count protects us from calling a stale destructor. It does
- need to read tsd_keys.dtor[key] atomically. */
+ need to read tls_keys.dtor[key] atomically. */
static void
-tsd_delete_hook (WIND_TCB *tcb)
+tls_delete_hook (void *tcb ATTRIBUTE_UNUSED)
{
- struct tsd_data *data = __gthread_get_tsd_data (tcb);
+ struct tls_data *data = __gthread_get_tls_data ();
__gthread_key_t key;
- if (data)
+ if (data && data->owner == &self_owner)
{
- __gthread_enter_tsd_dtor_context (tcb);
+ __gthread_enter_tls_dtor_context ();
for (key = 0; key < MAX_KEYS; key++)
{
- if (data->generation[key] == tsd_keys.generation[key])
+ if (data->generation[key] == tls_keys.generation[key])
{
- tsd_dtor dtor = tsd_keys.dtor[key];
+ tls_dtor dtor = tls_keys.dtor[key];
if (dtor)
dtor (data->values[key]);
}
}
free (data);
- __gthread_set_tsd_data (tcb, 0);
- __gthread_leave_tsd_dtor_context (tcb);
+
+ /* We can't handle an error here, so just leave the thread
+ marked as loaded if one occurs. */
+ if (__gthread_mutex_lock (&tls_lock) != ERROR)
+ {
+ active_tls_threads--;
+ if (active_tls_threads == 0)
+ taskDeleteHookDelete ((FUNCPTR)tls_delete_hook);
+ __gthread_mutex_unlock (&tls_lock);
+ }
+
+ __gthread_set_tls_data (0);
+ __gthread_leave_tls_dtor_context ();
}
}
-/* Initialize global data used by the TSD system. */
+/* Initialize global data used by the TLS system. */
static void
-tsd_init (void)
+tls_init (void)
{
- taskDeleteHookAdd ((FUNCPTR)tsd_delete_hook);
- __GTHREAD_MUTEX_INIT_FUNCTION (&tsd_lock);
+ __GTHREAD_MUTEX_INIT_FUNCTION (&tls_lock);
+}
+
+static void tls_destructor (void) __attribute__ ((destructor));
+static void
+tls_destructor (void)
+{
+#ifdef __RTP__
+ /* All threads but this one should have exited by now. */
+ tls_delete_hook (NULL);
+#else
+ /* Unregister the hook forcibly. The counter of active threads may
+ be incorrect, because constructors (like the C++ library's) and
+ destructors (like this one) run in the context of the shell rather
+ than in a task spawned from this module. */
+ taskDeleteHookDelete ((FUNCPTR)tls_delete_hook);
+#endif
+
+ if (tls_init_guard.done && __gthread_mutex_lock (&tls_lock) != ERROR)
+ semDelete (tls_lock);
}
/* External interface */
/* Store in KEYP a value which can be passed to __gthread_setspecific/
- __gthread_getspecific to store and retrieve a value which is
+ __gthread_getspecific to store and retrive a value which is
specific to each calling thread. If DTOR is not NULL, it will be
called when a thread terminates with a non-NULL specific value for
this key, with the value as its sole argument. */
int
-__gthread_key_create (__gthread_key_t *keyp, tsd_dtor dtor)
+__gthread_key_create (__gthread_key_t *keyp, tls_dtor dtor)
{
__gthread_key_t key;
- __gthread_once (&tsd_init_guard, tsd_init);
+ __gthread_once (&tls_init_guard, tls_init);
- if (__gthread_mutex_lock (&tsd_lock) == ERROR)
+ if (__gthread_mutex_lock (&tls_lock) == ERROR)
return errno;
for (key = 0; key < MAX_KEYS; key++)
@@ -218,14 +272,14 @@ __gthread_key_create (__gthread_key_t *keyp, tsd_dtor dtor)
goto found_slot;
/* no room */
- __gthread_mutex_unlock (&tsd_lock);
+ __gthread_mutex_unlock (&tls_lock);
return EAGAIN;
found_slot:
- tsd_keys.generation[key]++; /* making it even */
- tsd_keys.dtor[key] = dtor;
+ tls_keys.generation[key]++; /* making it even */
+ tls_keys.dtor[key] = dtor;
*keyp = key;
- __gthread_mutex_unlock (&tsd_lock);
+ __gthread_mutex_unlock (&tls_lock);
return 0;
}
@@ -238,21 +292,21 @@ __gthread_key_delete (__gthread_key_t key)
if (key >= MAX_KEYS)
return EINVAL;
- __gthread_once (&tsd_init_guard, tsd_init);
+ __gthread_once (&tls_init_guard, tls_init);
- if (__gthread_mutex_lock (&tsd_lock) == ERROR)
+ if (__gthread_mutex_lock (&tls_lock) == ERROR)
return errno;
if (!KEY_VALID_P (key))
{
- __gthread_mutex_unlock (&tsd_lock);
+ __gthread_mutex_unlock (&tls_lock);
return EINVAL;
}
- tsd_keys.generation[key]++; /* making it odd */
- tsd_keys.dtor[key] = 0;
+ tls_keys.generation[key]++; /* making it odd */
+ tls_keys.dtor[key] = 0;
- __gthread_mutex_unlock (&tsd_lock);
+ __gthread_mutex_unlock (&tls_lock);
return 0;
}
@@ -266,17 +320,17 @@ __gthread_key_delete (__gthread_key_t key)
void *
__gthread_getspecific (__gthread_key_t key)
{
- struct tsd_data *data;
+ struct tls_data *data;
if (key >= MAX_KEYS)
return 0;
- data = __gthread_get_tsd_data (taskTcb (taskIdSelf ()));
+ data = __gthread_get_tls_data ();
if (!data)
return 0;
- if (data->generation[key] != tsd_keys.generation[key])
+ if (data->generation[key] != tls_keys.generation[key])
return 0;
return data->values[key];
@@ -289,31 +343,37 @@ __gthread_getspecific (__gthread_key_t key)
key_create/key_delete; the worst thing that can happen is that a
value is successfully stored into a dead generation (and then
immediately becomes invalid). However, we do have to make sure
- to read tsd_keys.generation[key] atomically. */
+ to read tls_keys.generation[key] atomically. */
int
__gthread_setspecific (__gthread_key_t key, void *value)
{
- struct tsd_data *data;
- WIND_TCB *tcb;
+ struct tls_data *data;
unsigned int generation;
if (key >= MAX_KEYS)
return EINVAL;
- tcb = taskTcb (taskIdSelf ());
- data = __gthread_get_tsd_data (tcb);
+ data = __gthread_get_tls_data ();
if (!data)
{
- data = malloc (sizeof (struct tsd_data));
+ if (__gthread_mutex_lock (&tls_lock) == ERROR)
+ return ENOMEM;
+ if (active_tls_threads == 0)
+ taskDeleteHookAdd ((FUNCPTR)tls_delete_hook);
+ active_tls_threads++;
+ __gthread_mutex_unlock (&tls_lock);
+
+ data = malloc (sizeof (struct tls_data));
if (!data)
return ENOMEM;
- memset (data, 0, sizeof (struct tsd_data));
- __gthread_set_tsd_data (tcb, data);
+ memset (data, 0, sizeof (struct tls_data));
+ data->owner = &self_owner;
+ __gthread_set_tls_data (data);
}
- generation = tsd_keys.generation[key];
+ generation = tls_keys.generation[key];
if (generation & 1)
return EINVAL;
@@ -323,3 +383,4 @@ __gthread_setspecific (__gthread_key_t key, void *value)
return 0;
}
+#endif /* __GTHREADS */
diff --git a/gcc/config/vxworks.h b/gcc/config/vxworks.h
index 1fe546b6124..26445454b61 100644
--- a/gcc/config/vxworks.h
+++ b/gcc/config/vxworks.h
@@ -1,64 +1,103 @@
-/* Common VxWorks target definitions for GCC.
- Copyright (C) 1999, 2000, 2001, 2002, 2004 Free Software Foundation, Inc.
+/* Common VxWorks target definitions for GNU compiler.
+ Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+ Free Software Foundation, Inc.
Contributed by Wind River Systems.
+ Rewritten by CodeSourcery, LLC.
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 2, or (at your option)
-any later version.
+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 2, 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.
+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 COPYING. If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA. */
+along with GCC; see the file COPYING. If not, write to the Free
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
-/* Specify what to link with. */
-/* VxWorks does all the library stuff itself. */
-#undef LIB_SPEC
-#define LIB_SPEC ""
+/* In kernel mode, VxWorks provides all the libraries itself, as well as
+ the functionality of startup files, etc. In RTP mode, it behaves more
+ like a traditional Unix, with more external files. Most of our specs
+ must be aware of the difference. */
-#undef LINK_SPEC
-#define LINK_SPEC "-r"
+/* The directory containing the VxWorks target headers. */
+#define VXWORKS_TARGET_DIR "/home/tornado/base6/target"
-/* VxWorks provides the functionality of crt0.o and friends itself. */
-#undef STARTFILE_SPEC
-#define STARTFILE_SPEC ""
+/* Since we provide a default -isystem, expand -isystem on the command
+ line early. */
+#undef VXWORKS_ADDITIONAL_CPP_SPEC
+#define VXWORKS_ADDITIONAL_CPP_SPEC " \
+ %{!nostdinc:%{isystem*}} \
+ %{mrtp: -D__RTP__=1 \
+ %{!nostdinc:-isystem " VXWORKS_TARGET_DIR "/usr/h}} \
+ %{!mrtp:-D_WRS_KERNEL=1 \
+ %{!nostdinc:-isystem " VXWORKS_TARGET_DIR "/h}}"
-#undef ENDFILE_SPEC
-#define ENDFILE_SPEC ""
+/* The references to __init and __fini will be satisified by
+ libc_internal.a. */
+#undef VXWORKS_LIB_SPEC
+#define VXWORKS_LIB_SPEC \
+"%{mrtp:%{shared:-u " USER_LABEL_PREFIX "__init -u " USER_LABEL_PREFIX "__fini} \
+ %{!shared:%{non-static:-u " USER_LABEL_PREFIX "_STI__6__rtld -ldl} \
+ --start-group -lc -lgcc -lc_internal -lnet -ldsi \
+ --end-group}}"
-/* VxWorks cannot have dots in constructor labels, because it uses a
- mutant variation of collect2 that generates C code instead of
- assembly. Thus each constructor label must be a legitimate C
- symbol. FIXME: Have VxWorks use real collect2 instead. */
+/* The no-op spec for "-shared" below is present because otherwise GCC
+ will treat it as an unrecognized option. */
+#undef VXWORKS_LINK_SPEC
+#define VXWORKS_LINK_SPEC \
+"%{!mrtp:-r} \
+ %{!shared: \
+ %{mrtp:-q %{h*} \
+ %{R*} %{!Wl,-T*: %{!T*: %(link_start) }} \
+ %(link_target) %(link_os)}} \
+ %{v:-V} \
+ %{shared:-shared} \
+ %{Bstatic:-Bstatic} \
+ %{Bdynamic:-Bdynamic} \
+ %{!Xbind-lazy:-z now} \
+ %{Xbind-now:%{Xbind-lazy: \
+ %e-Xbind-now and -Xbind-lazy are incompatible}} \
+ %{mrtp:%{!shared:%{!non-static:-static} \
+ %{non-static:--force-dynamic --export-dynamic}}}"
-#undef NO_DOLLAR_IN_LABEL
-#define NO_DOT_IN_LABEL
+/* 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. */
+#undef VXWORKS_LIBGCC_SPEC
+#define VXWORKS_LIBGCC_SPEC \
+ "-lgcc %{mrtp:--exclude-libs=libc_internal,libgcc -lc_internal}"
-/* We want #pragma pack(n) enabled and expect to inherit the proper
- definition of HANDLE_SYSV_PRAGMA from elfos.h for that purpose. */
+#undef VXWORKS_STARTFILE_SPEC
+#define VXWORKS_STARTFILE_SPEC "%{mrtp:%{!shared:crt0.o%s}}"
+#define VXWORKS_ENDFILE_SPEC ""
-/* No underscore is prepended to any C symbol name. */
-#undef USER_LABEL_PREFIX
-#define USER_LABEL_PREFIX ""
+/* We can use .ctors/.dtors sections only in RTP mode.
+ Unfortunately this must be an integer constant expression;
+ fix up in override_options. */
+#undef VXWORKS_OVERRIDE_OPTIONS
+#define VXWORKS_OVERRIDE_OPTIONS do { \
+ targetm.have_ctors_dtors = TARGET_VXWORKS_RTP; \
+} while (0)
-/* VxWorks uses wchar_t == unsigned short (UCS2) on all architectures. */
-#undef WCHAR_TYPE
-#define WCHAR_TYPE "short unsigned int"
-#undef WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE 16
+/* The VxWorks runtime uses a clever trick to get the sentinel entry
+ (-1) inserted at the beginning of the .ctors segment. This trick
+ will not work if we ever generate any entries in plain .ctors
+ sections; we must always use .ctors.PRIORITY. */
+#define ALWAYS_NUMBER_CTORS_SECTIONS 1
-/* Dwarf2 unwind info is not supported. */
-#define DWARF2_UNWIND_INFO 0
-/* Weak symbols and link-once sections are not enabled by default. */
-#define DEFAULT_USE_WEAK 0
+/* The name of the symbol for the table of GOTs in a particular
+ RTP. */
+#define VXWORKS_GOTT_BASE "__GOTT_BASE__"
+/* The name of the symbol for the index into the table of GOTs for the
+ GOT associated with the current shared library. */
+#define VXWORKS_GOTT_INDEX "__GOTT_INDEX__"
-/* Only supported debug format is Dwarf2. */
-#undef DBX_DEBUGGING_INFO
+#define VXWORKS_KIND VXWORKS_KIND_NORMAL
diff --git a/gcc/configure b/gcc/configure
index 46819fa41c1..1e4eed267e8 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -6954,11 +6954,6 @@ if test "${with_sysroot+set}" = set; then
TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
CROSS_SYSTEM_HEADER_DIR='$(TARGET_SYSTEM_ROOT)$(NATIVE_SYSTEM_HEADER_DIR)'
- if test "x$with_build_sysroot" != x; then
- build_system_header_dir=$with_build_sysroot'$(NATIVE_SYSTEM_HEADER_DIR)'
- else
- build_system_header_dir='$(CROSS_SYSTEM_HEADER_DIR)'
- fi
if test "x$exec_prefix" = xNONE; then
if test "x$prefix" = xNONE; then
@@ -7478,7 +7473,7 @@ if test "${gcc_cv_prog_makeinfo_modern+set}" = set; then
else
ac_prog_version=`$MAKEINFO --version 2>&1 |
sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'`
- echo "configure:7481: version of makeinfo is $ac_prog_version" >&5
+ echo "configure:7476: version of makeinfo is $ac_prog_version" >&5
case $ac_prog_version in
'') gcc_cv_prog_makeinfo_modern=no;;
4.[2-9]*)
@@ -9121,8 +9116,7 @@ fi
-
-for ac_func in times clock dup2 kill getrlimit setrlimit atoll atoq \
+for ac_func in times clock kill getrlimit setrlimit atoll atoq \
sysconf strsignal getrusage nl_langinfo scandir alphasort \
gettimeofday mbstowcs wcswidth mmap mincore setlocale \
clearerr_unlocked feof_unlocked ferror_unlocked fflush_unlocked fgetc_unlocked fgets_unlocked fileno_unlocked fprintf_unlocked fputc_unlocked fputs_unlocked fread_unlocked fwrite_unlocked getchar_unlocked getc_unlocked putchar_unlocked putc_unlocked
@@ -9494,65 +9488,6 @@ else
fi
-echo "$as_me:$LINENO: checking whether the printf functions support %p" >&5
-echo $ECHO_N "checking whether the printf functions support %p... $ECHO_C" >&6
-if test "${gcc_cv_func_printf_ptr+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- gcc_cv_func_printf_ptr=no
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdio.h>
-
-int main()
-{
- char buf[64];
- char *p = buf, *q = NULL;
- sprintf(buf, "%p", p);
- sscanf(buf, "%p", &q);
- return (p != q);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- gcc_cv_func_printf_ptr=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-gcc_cv_func_printf_ptr=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core core.* *.core
-fi
-echo "$as_me:$LINENO: result: $gcc_cv_func_printf_ptr" >&5
-echo "${ECHO_T}$gcc_cv_func_printf_ptr" >&6
-if test $gcc_cv_func_printf_ptr = yes ; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_PRINTF_PTR 1
-_ACEOF
-
-fi
-
echo "$as_me:$LINENO: checking for sys/mman.h" >&5
echo $ECHO_N "checking for sys/mman.h... $ECHO_C" >&6
@@ -12747,6 +12682,16 @@ done
CROSS=
ALL=all.internal
SYSTEM_HEADER_DIR='$(NATIVE_SYSTEM_HEADER_DIR)'
+
+if test "x$with_build_sysroot" != x; then
+ build_system_header_dir=$with_build_sysroot'$(NATIVE_SYSTEM_HEADER_DIR)'
+else
+ # This value is used, even on a native system, because
+ # CROSS_SYSTEM_HEADER_DIR is just
+ # $(TARGET_SYSTEM_ROOT)$(NATIVE_SYSTEM_HEADER_DIR).
+ build_system_header_dir='$(CROSS_SYSTEM_HEADER_DIR)'
+fi
+
if test x$host != x$target
then
CROSS="-DCROSS_COMPILE"
@@ -12773,8 +12718,7 @@ then
CROSS="$CROSS -DNATIVE_CROSS" ;;
esac
elif test "x$TARGET_SYSTEM_ROOT" != x; then
- # This is just $(TARGET_SYSTEM_ROOT)$(NATIVE_SYSTEM_HEADER_DIR)
- SYSTEM_HEADER_DIR='$(CROSS_SYSTEM_HEADER_DIR)'
+ SYSTEM_HEADER_DIR=$build_system_header_dir
fi
# If this is a cross-compiler that does not
@@ -15548,8 +15492,8 @@ _ACEOF
fi
-case "$target" in
- powerpc64*-*-linux*)
+case "$target:$tm_file" in
+ powerpc64*-*-linux* | powerpc*-*-linux*rs6000/biarch64.h*)
echo "$as_me:$LINENO: checking linker support for omitting dot symbols" >&5
echo $ECHO_N "checking linker support for omitting dot symbols... $ECHO_C" >&6
if test "${gcc_cv_ld_no_dot_syms+set}" = set; then
diff --git a/gcc/configure.ac b/gcc/configure.ac
index d9f2167ad44..00056cf5ec0 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -695,12 +695,7 @@ AC_ARG_WITH(sysroot,
TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
CROSS_SYSTEM_HEADER_DIR='$(TARGET_SYSTEM_ROOT)$(NATIVE_SYSTEM_HEADER_DIR)'
- if test "x$with_build_sysroot" != x; then
- build_system_header_dir=$with_build_sysroot'$(NATIVE_SYSTEM_HEADER_DIR)'
- else
- build_system_header_dir='$(CROSS_SYSTEM_HEADER_DIR)'
- fi
-
+
if test "x$exec_prefix" = xNONE; then
if test "x$prefix" = xNONE; then
test_prefix=/usr/local
@@ -1004,7 +999,7 @@ define(gcc_UNLOCKED_FUNCS, clearerr_unlocked feof_unlocked dnl
fileno_unlocked fprintf_unlocked fputc_unlocked fputs_unlocked dnl
fread_unlocked fwrite_unlocked getchar_unlocked getc_unlocked dnl
putchar_unlocked putc_unlocked)
-AC_CHECK_FUNCS(times clock dup2 kill getrlimit setrlimit atoll atoq \
+AC_CHECK_FUNCS(times clock kill getrlimit setrlimit atoll atoq \
sysconf strsignal getrusage nl_langinfo scandir alphasort \
gettimeofday mbstowcs wcswidth mmap mincore setlocale \
gcc_UNLOCKED_FUNCS)
@@ -1049,7 +1044,6 @@ else
fi
AC_SUBST(TARGET_GETGROUPS_T)
-gcc_AC_FUNC_PRINTF_PTR
gcc_AC_FUNC_MMAP_BLACKLIST
case "${host}" in
@@ -1648,6 +1642,16 @@ done
CROSS= AC_SUBST(CROSS)
ALL=all.internal AC_SUBST(ALL)
SYSTEM_HEADER_DIR='$(NATIVE_SYSTEM_HEADER_DIR)' AC_SUBST(SYSTEM_HEADER_DIR)
+
+if test "x$with_build_sysroot" != x; then
+ build_system_header_dir=$with_build_sysroot'$(NATIVE_SYSTEM_HEADER_DIR)'
+else
+ # This value is used, even on a native system, because
+ # CROSS_SYSTEM_HEADER_DIR is just
+ # $(TARGET_SYSTEM_ROOT)$(NATIVE_SYSTEM_HEADER_DIR).
+ build_system_header_dir='$(CROSS_SYSTEM_HEADER_DIR)'
+fi
+
if test x$host != x$target
then
CROSS="-DCROSS_COMPILE"
@@ -1674,8 +1678,7 @@ then
CROSS="$CROSS -DNATIVE_CROSS" ;;
esac
elif test "x$TARGET_SYSTEM_ROOT" != x; then
- # This is just $(TARGET_SYSTEM_ROOT)$(NATIVE_SYSTEM_HEADER_DIR)
- SYSTEM_HEADER_DIR='$(CROSS_SYSTEM_HEADER_DIR)'
+ SYSTEM_HEADER_DIR=$build_system_header_dir
fi
# If this is a cross-compiler that does not
@@ -2963,8 +2966,8 @@ if test x"$gcc_cv_ld_as_needed" = xyes; then
[Define if your linker supports --as-needed and --no-as-needed options.])
fi
-case "$target" in
- powerpc64*-*-linux*)
+case "$target:$tm_file" in
+ powerpc64*-*-linux* | powerpc*-*-linux*rs6000/biarch64.h*)
AC_CACHE_CHECK(linker support for omitting dot symbols,
gcc_cv_ld_no_dot_syms,
[gcc_cv_ld_no_dot_syms=no
diff --git a/gcc/convert.c b/gcc/convert.c
index e3a94783f04..e5f8dcd76de 100644
--- a/gcc/convert.c
+++ b/gcc/convert.c
@@ -454,7 +454,7 @@ convert_to_integer (tree type, tree expr)
else
code = NOP_EXPR;
- return build1 (code, type, expr);
+ return fold_build1 (code, type, expr);
}
/* If TYPE is an enumeral type or a type with a precision less
@@ -684,7 +684,7 @@ convert_to_integer (tree type, tree expr)
error ("can't convert between vector values of different size");
return error_mark_node;
}
- return build1 (NOP_EXPR, type, expr);
+ return build1 (VIEW_CONVERT_EXPR, type, expr);
default:
error ("aggregate value used where an integer was expected");
@@ -760,7 +760,7 @@ convert_to_vector (tree type, tree expr)
error ("can't convert between vector values of different size");
return error_mark_node;
}
- return build1 (NOP_EXPR, type, expr);
+ return build1 (VIEW_CONVERT_EXPR, type, expr);
default:
error ("can't convert value to a vector");
diff --git a/gcc/coverage.c b/gcc/coverage.c
index 5c1d0922aa5..a558e869add 100644
--- a/gcc/coverage.c
+++ b/gcc/coverage.c
@@ -410,32 +410,6 @@ coverage_counter_alloc (unsigned counter, unsigned num)
return 1;
}
-/* Generate a MEM rtl to access COUNTER NO. */
-
-rtx
-rtl_coverage_counter_ref (unsigned counter, unsigned no)
-{
- enum machine_mode mode = mode_for_size (GCOV_TYPE_SIZE, MODE_INT, 0);
- rtx ref;
-
- gcc_assert (no < fn_n_ctrs[counter] - fn_b_ctrs[counter]);
- no += prg_n_ctrs[counter] + fn_b_ctrs[counter];
- if (!ctr_labels[counter])
- {
- ctr_labels[counter] = gen_rtx_SYMBOL_REF (Pmode,
- ggc_strdup (IDENTIFIER_POINTER (DECL_NAME
- (tree_ctr_tables[counter]))));
- SYMBOL_REF_FLAGS (ctr_labels[counter]) = SYMBOL_FLAG_LOCAL;
- }
- ref = plus_constant (ctr_labels[counter],
- GCOV_TYPE_SIZE / BITS_PER_UNIT * no);
- ref = gen_rtx_MEM (mode, ref);
- set_mem_alias_set (ref, new_alias_set ());
- MEM_NOTRAP_P (ref) = 1;
-
- return ref;
-}
-
/* Generate a tree to access COUNTER NO. */
tree
diff --git a/gcc/coverage.h b/gcc/coverage.h
index 5330363f7de..e070d837e25 100644
--- a/gcc/coverage.h
+++ b/gcc/coverage.h
@@ -38,8 +38,6 @@ extern int coverage_begin_output (void);
/* Allocate some counters. Repeatable per function. */
extern int coverage_counter_alloc (unsigned /*counter*/, unsigned/*num*/);
/* Use a counter from the most recent allocation. */
-extern rtx rtl_coverage_counter_ref (unsigned /*counter*/, unsigned/*num*/);
-/* Use a counter from the most recent allocation. */
extern tree tree_coverage_counter_ref (unsigned /*counter*/, unsigned/*num*/);
/* Get all the counters for the current function. */
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index a9c8dd03e91..d16d5f66d77 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,220 @@
+2005-08-31 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR obj-c++/23640
+ * decl2.c (cp_finish_file): If this is obj-c++ and we need a static
+ init, call generate_ctor_or_dtor_function.
+
+2005-08-31 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/13377
+ * parser.c (cp_parser_lookup_name): Pass LOOKUP_COMPLAIN to
+ lookup_name_real on final parse.
+
+2005-08-31 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/23639
+ * semantics.c (qualified_name_lookup_error): Do not complain again
+ on invalid scope.
+
+2005-08-30 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/23586
+ * parser.c (cp_parser_namespace_name): Move diagnostic for
+ invalid namespace-name to here from ...
+ * name-lookup.c (do_namespace_alias): ... here and ...
+ (do_using_directive): ... here. Remove dead code.
+
+2005-08-28 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/23099
+ * cp-tree.h (saved_scope): Add skip_evaluation.
+ * decl.c (start_decl): Use DECL_INITIALIZED_IN_CLASS_P, not
+ DECL_INITIAL, to determine whether or not a static data member was
+ initialized in the class-specifier.
+ (cp_finish_decl): Add comment.
+ * init.c (integral_constant_value): Subtitute into the
+ initializers for static data members in templates.
+ * name-lookup.c (push_to_top_level): Save skip_evaluation.
+ (pop_from_top_level): Restore it.
+ * pt.c (instantiate_class_template): Do not substitute into the
+ intializers of static data members when instantiating a class.
+ (regenerate_decl_from_template): Simplify.
+ (instantiate_decl): Tidy. Substitute into the initializer for a
+ static data member even when the definition of the data member is
+ not available.
+
+2005-08-26 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/19004
+ * pt.c (uses_template_parms): Handle IDENTIFIER_NODE.
+ (type_dependent_expression_p): Allow BASELINKs whose associated
+ functions are simply a FUNCTION_DECL.
+
+ PR c++/23491
+ * cp-tree.h (build_vec_init): Adjust prototype.
+ * init.c (perform_member_init): Adjust call to build_vec_init.
+ (build_aggr_init): Likewise.
+ (build_new_1): Do not call build_default_init for array types.
+ (build_vec_init): Add explicit_default_init_p parameter. Perform
+ default initialization of vector elements when set.
+ * typeck.c (build_modify_expr): Adjust call to build_vec_init.
+
+2005-08-25 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/20817
+ * typeck.c (build_x_unary_op): Make sure OFFSET_REF is not for a
+ ->*.
+
+2005-08-24 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/22454
+ * parser.c (cp_lexer_peek_nth_token): Relax assert.
+
+2005-08-23 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/23044
+ * pt.c (tsubst_qualified_id): A SCOPE_REF can still remain.
+
+2005-08-22 James E Wilson <wilson@specifix.com>
+
+ PR tree-optimization/23426
+ * decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE for
+ array size check.
+
+2005-08-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/22233
+ * pt.c (push_template_decl_real): Return error_mark_node if the
+ number of template parameters does not match previous definition.
+
+2005-08-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/23089
+ * decl.c (require_complete_types_for_parms): Mark incomplete types
+ as invalid.
+
+2005-08-19 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * parser.c (cp_parser_nth_token_starts_template_argument_list_p):
+ Fix typo in leading comment.
+
+2005-08-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * name-lookup.c, ptree.c: Delete HOST_PTR_PRINTF.
+
+2005-08-15 Fariborz Jahanian <fjahanian@apple.com>
+
+ * cp-tree.h (can_convert_arg, fn_type_unification): New argument.
+ * call.c (add_template_candidate_real): Pass down 'flags' to
+ fn_type_unification.
+ (can_convert_arg): New 'flags' argument. Pass it to call to
+ implicit_conversion instead of LOOKUP_NORMAL.
+ (can_convert): Add LOOKUP_NORMAL to call to can_convert_arg.
+ * class.c (resolve_address_of_overloaded_function): Ditto.
+ (resolve_address_of_overloaded_function): Ditto.
+ * decl.c (reshape_init, check_default_argument): Ditto.
+ * typeck.c (build_ptrmemfunc): Ditto.
+ * pt.c (type_unification_real): Add 'flags' argument.
+ (fn_type_unification): Pass 'flags' to type_unification_real.
+ (type_unification_real): Pass new 'flags' argument to call to
+ can_convert_arg.
+
+2005-08-12 Giovanni Bajo <giovannibajo@libero.it>
+ Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/21799
+ PR c++/8271
+ * pt.c (unify) <METHOD_TYPE>: Check this-pointer cv-qualifiers
+ explicitly.
+
+2005-08-12 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/21799
+ Revert my 2005-07-08 patch
+ * pt.c (type_unification_real): Remove is_method_argument and
+ assoicated checks.
+ (fn_type_unification, unify): Adjust type_unification_real calls.
+
+2005-08-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/23266
+ * decl2.c (grokfield): Check that method is not static before
+ marking it as pure.
+
+2005-08-11 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/23219
+ * name-lookup.c (pushtag): Process the template type before
+ altering the identifier lookup fields. Remove unreachable code
+ creating an empty stub decl.
+
+2005-08-10 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/20646
+ * decl.c (grokdeclarator): Reset storage_class after error.
+
+2005-08-08 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/22508
+ * init.c (build_new_1): Check for empty candidate list.
+
+2005-08-06 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/23191
+ * pt.c (tsubst) <case METHOD_TYPE>: Check for error_mark_node
+ before calling build_exception_variant.
+
+2005-08-06 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/19498
+ * pt.c (tsubst_decl) <case TEMPLATE_DECL>: Return ERROR_MARK_NODE
+ if substitution of template args did not succeed.
+
+2005-08-06 Michael Matz <matz@suse.de>
+
+ * method.c (use_thunk): Call init_insn_lengths.
+
+2005-08-05 James A. Morrison <phython@gcc.gnu.org>
+
+ PR c++/22514
+ * name-lookup.c (cp_emit_debug_info_for_using): Do nothing if
+ sorrycount or errorcount are nonzero.
+
+2005-08-05 Mark Mitchell <mark@codesourcery.com>
+
+ * name-lookup.c (pushtag): Remove accidental commit from:
+ 2004-12-21 Mark Mitchell <mark@codesourcery.com>
+ PR c++/19063
+ * decl.c (grokdeclarator): Return error_mark_node, not
+ void_type_node, to indicate errors.
+ * parser.c (cp_parser_template_parameter_list): Robustify.
+ (cp_parser_template_parameter): Likewise.
+
+2005-08-01 Kazu Hirata <kazu@codesourcery.com>
+
+ * class.c, decl.c, name-lookup.c, pt.c, typeck.c, typeck2.c:
+ Fix comment typos.
+
+2005-07-29 Kazu Hirata <kazu@codesourcery.com>
+
+ * method.c: Fix a comment typo.
+
+2005-07-28 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/22545
+ * call.c (add_builtin_candidate): Adjust for changes in
+ representation of pointer-to-member types.
+
+2005-07-28 Mike Stump <mrs@apple.com>
+
+ * pt.c (check_explicit_specialization): Add visibility logic.
+ (lookup_template_class): Likewise.
+ (instantiate_class_template): Likewise.
+
+2005-07-27 Devang Patel <dpatel@apple.com>
+
+ * name-lookup.c (pushtag): Do no set DECL_IGNORED_P bit.
+
2005-07-25 Ian Lance Taylor <ian@airs.com>
* ptree.c (cxx_print_identifier): Print a leading space if the
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index 609fe45a382..9f277cdc84a 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -1701,7 +1701,7 @@ add_builtin_candidate (struct z_candidate **candidates, enum tree_code code,
if (IS_AGGR_TYPE (c1) && DERIVED_FROM_P (c2, c1)
&& (TYPE_PTRMEMFUNC_P (type2)
- || is_complete (TREE_TYPE (TREE_TYPE (type2)))))
+ || is_complete (TYPE_PTRMEM_POINTED_TO_TYPE (type2))))
break;
}
return;
@@ -2203,7 +2203,7 @@ add_template_candidate_real (struct z_candidate **candidates, tree tmpl,
i = fn_type_unification (tmpl, explicit_targs, targs,
args_without_in_chrg,
- return_type, strict);
+ return_type, strict, flags);
if (i != 0)
return NULL;
@@ -6286,13 +6286,13 @@ tourney (struct z_candidate *candidates)
bool
can_convert (tree to, tree from)
{
- return can_convert_arg (to, from, NULL_TREE);
+ return can_convert_arg (to, from, NULL_TREE, LOOKUP_NORMAL);
}
/* Returns nonzero if ARG (of type FROM) can be converted to TO. */
bool
-can_convert_arg (tree to, tree from, tree arg)
+can_convert_arg (tree to, tree from, tree arg, int flags)
{
conversion *t;
void *p;
@@ -6302,7 +6302,7 @@ can_convert_arg (tree to, tree from, tree arg)
p = conversion_obstack_alloc (0);
t = implicit_conversion (to, from, arg, /*c_cast_p=*/false,
- LOOKUP_NORMAL);
+ flags);
ok_p = (t && !t->bad_p);
/* Free all the conversions we allocated. */
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index c069d5fdbeb..98a88004d40 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -5545,7 +5545,7 @@ pop_lang_context (void)
/* Given an OVERLOAD and a TARGET_TYPE, return the function that
matches the TARGET_TYPE. If there is no satisfactory match, return
- error_mark_node, and issue a error & warning messages under control
+ error_mark_node, and issue an error & warning messages under control
of FLAGS. Permit pointers to member function if FLAGS permits. If
TEMPLATE_ONLY, the name of the overloaded function was a
template-id, and EXPLICIT_TARGS are the explicitly provided
@@ -5656,7 +5656,7 @@ resolve_address_of_overloaded_function (tree target_type,
else if (!is_reference)
fntype = build_pointer_type (fntype);
- if (can_convert_arg (target_type, fntype, fn))
+ if (can_convert_arg (target_type, fntype, fn, LOOKUP_NORMAL))
matches = tree_cons (fn, NULL_TREE, matches);
}
}
@@ -5704,7 +5704,7 @@ resolve_address_of_overloaded_function (tree target_type,
targs = make_tree_vec (DECL_NTPARMS (fn));
if (fn_type_unification (fn, explicit_targs, targs,
target_arg_types, target_ret_type,
- DEDUCE_EXACT))
+ DEDUCE_EXACT, LOOKUP_NORMAL))
/* Argument deduction failed. */
continue;
@@ -5721,7 +5721,8 @@ resolve_address_of_overloaded_function (tree target_type,
build_ptrmemfunc_type (build_pointer_type (instantiation_type));
else if (!is_reference)
instantiation_type = build_pointer_type (instantiation_type);
- if (can_convert_arg (target_type, instantiation_type, instantiation))
+ if (can_convert_arg (target_type, instantiation_type, instantiation,
+ LOOKUP_NORMAL))
matches = tree_cons (instantiation, fn, matches);
}
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index 0ac7bbab433..e8d5fe77049 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -655,6 +655,7 @@ struct saved_scope GTY(())
int x_processing_specialization;
bool x_processing_explicit_instantiation;
int need_pop_function_context;
+ bool skip_evaluation;
struct stmt_tree_s x_stmt_tree;
@@ -3650,7 +3651,7 @@ extern tree build_special_member_call (tree, tree, tree, tree, int);
extern tree build_new_op (enum tree_code, int, tree, tree, tree, bool *);
extern tree build_op_delete_call (enum tree_code, tree, tree, bool, tree);
extern bool can_convert (tree, tree);
-extern bool can_convert_arg (tree, tree, tree);
+extern bool can_convert_arg (tree, tree, tree, int);
extern bool can_convert_arg_bad (tree, tree, tree);
extern bool enforce_access (tree, tree);
extern tree convert_default_arg (tree, tree, tree, int);
@@ -3918,7 +3919,7 @@ extern tree get_type_value (tree);
extern tree build_zero_init (tree, tree, bool);
extern tree build_offset_ref (tree, tree, bool);
extern tree build_new (tree, tree, tree, tree, int);
-extern tree build_vec_init (tree, tree, tree, int);
+extern tree build_vec_init (tree, tree, tree, bool, int);
extern tree build_x_delete (tree, int, tree);
extern tree build_delete (tree, tree,
special_function_kind,
@@ -3992,7 +3993,7 @@ extern int uses_template_parms_level (tree, int);
extern tree instantiate_class_template (tree);
extern tree instantiate_template (tree, tree, tsubst_flags_t);
extern int fn_type_unification (tree, tree, tree, tree,
- tree, unification_kind_t);
+ tree, unification_kind_t, int);
extern void mark_decl_instantiated (tree, int);
extern int more_specialized_fn (tree, tree, int);
extern void mark_class_instantiated (tree, int);
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index ddcab2e0fed..a32be093c74 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -2830,7 +2830,7 @@ record_unknown_type (tree type, const char* name)
TYPE_MODE (type) = TYPE_MODE (void_type_node);
}
-/* An string for which we should create an IDENTIFIER_NODE at
+/* A string for which we should create an IDENTIFIER_NODE at
startup. */
typedef struct predefined_identifier
@@ -3716,7 +3716,8 @@ start_decl (const cp_declarator *declarator,
declaration will have DECL_EXTERNAL set, but will have an
initialization. Thus, duplicate_decls won't warn
about this situation, and so we check here. */
- if (DECL_INITIAL (decl) && DECL_INITIAL (field))
+ if (DECL_INITIAL (decl)
+ && DECL_INITIALIZED_IN_CLASS_P (field))
error ("duplicate initialization of %qD", decl);
if (duplicate_decls (decl, field))
decl = field;
@@ -4347,7 +4348,7 @@ reshape_init_r (tree type, reshape_iter *d, bool first_initializer_p)
initializer is considered for the initialization of the first
member of the subaggregate. */
if (TREE_CODE (init) != CONSTRUCTOR
- && can_convert_arg (type, TREE_TYPE (init), init))
+ && can_convert_arg (type, TREE_TYPE (init), init, LOOKUP_NORMAL))
{
d->cur++;
return init;
@@ -4921,10 +4922,20 @@ cp_finish_decl (tree decl, tree init, tree asmspec_tree, int flags)
"initialized", decl);
init = NULL_TREE;
}
+
+ /* Check that the initializer for a static data member was a
+ constant. Althouh we check in the parser that the
+ initializer is an integral constant expression, we do not
+ simplify division-by-zero at the point at which it
+ occurs. Therefore, in:
+
+ struct S { static const int i = 7 / 0; };
+
+ we issue an error at this point. It would
+ probably be better to forbid division by zero in
+ integral constant expressions. */
if (DECL_EXTERNAL (decl) && init)
{
- /* The static data member cannot be initialized by a
- non-constant when being declared. */
error ("%qD cannot be initialized by a non-constant expression"
" when being declared", decl);
DECL_INITIALIZED_IN_CLASS_P (decl) = 0;
@@ -7064,7 +7075,10 @@ grokdeclarator (const cp_declarator *declarator,
/* Warn about storage classes that are invalid for certain
kinds of declarations (parameters, typenames, etc.). */
if (declspecs->multiple_storage_classes_p)
- error ("multiple storage classes in declaration of %qs", name);
+ {
+ error ("multiple storage classes in declaration of %qs", name);
+ storage_class = sc_none;
+ }
else if (thread_p
&& ((storage_class
&& storage_class != sc_extern
@@ -7553,8 +7567,8 @@ grokdeclarator (const cp_declarator *declarator,
if (TREE_CODE (type) == ARRAY_TYPE
&& COMPLETE_TYPE_P (type)
- && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST
- && TREE_OVERFLOW (TYPE_SIZE (type)))
+ && TREE_CODE (TYPE_SIZE_UNIT (type)) == INTEGER_CST
+ && TREE_OVERFLOW (TYPE_SIZE_UNIT (type)))
{
error ("size of array %qs is too large", name);
/* If we proceed with the array type as it is, we'll eventually
@@ -8302,14 +8316,16 @@ require_complete_types_for_parms (tree parms)
{
if (dependent_type_p (TREE_TYPE (parms)))
continue;
- if (VOID_TYPE_P (TREE_TYPE (parms)))
- /* grokparms will have already issued an error. */
- TREE_TYPE (parms) = error_mark_node;
- else if (complete_type_or_else (TREE_TYPE (parms), parms))
+ if (!VOID_TYPE_P (TREE_TYPE (parms))
+ && complete_type_or_else (TREE_TYPE (parms), parms))
{
relayout_decl (parms);
DECL_ARG_TYPE (parms) = type_passed_as (TREE_TYPE (parms));
}
+ else
+ /* grokparms or complete_type_or_else will have already issued
+ an error. */
+ TREE_TYPE (parms) = error_mark_node;
}
}
@@ -8403,7 +8419,7 @@ check_default_argument (tree decl, tree arg)
A default argument expression is implicitly converted to the
parameter type. */
if (!TREE_TYPE (arg)
- || !can_convert_arg (decl_type, TREE_TYPE (arg), arg))
+ || !can_convert_arg (decl_type, TREE_TYPE (arg), arg, LOOKUP_NORMAL))
{
if (decl)
error ("default argument for %q#D has type %qT",
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index e7db5525961..3821ab01115 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -896,9 +896,17 @@ grokfield (const cp_declarator *declarator,
{
/* Initializers for functions are rejected early in the parser.
If we get here, it must be a pure specifier for a method. */
- gcc_assert (TREE_CODE (TREE_TYPE (value)) == METHOD_TYPE);
- gcc_assert (error_operand_p (init) || integer_zerop (init));
- DECL_PURE_VIRTUAL_P (value) = 1;
+ if (TREE_CODE (TREE_TYPE (value)) == METHOD_TYPE)
+ {
+ gcc_assert (error_operand_p (init) || integer_zerop (init));
+ DECL_PURE_VIRTUAL_P (value) = 1;
+ }
+ else
+ {
+ gcc_assert (TREE_CODE (TREE_TYPE (value)) == FUNCTION_TYPE);
+ error ("initializer specified for static member function %qD",
+ value);
+ }
}
else if (pedantic && TREE_CODE (value) != VAR_DECL)
/* Already complained in grokdeclarator. */
@@ -3070,8 +3078,9 @@ cp_finish_file (void)
/*data=*/&locus);
else
{
-
- if (static_ctors)
+ /* If we have a ctor or this is obj-c++ and we need a static init,
+ call generate_ctor_or_dtor_function. */
+ if (static_ctors || (c_dialect_objc () && objc_static_init_needed_p ()))
generate_ctor_or_dtor_function (/*constructor_p=*/true,
DEFAULT_INIT_PRIORITY, &locus);
if (static_dtors)
diff --git a/gcc/cp/init.c b/gcc/cp/init.c
index 9383e928fa5..8a8dc782ca3 100644
--- a/gcc/cp/init.c
+++ b/gcc/cp/init.c
@@ -358,6 +358,7 @@ perform_member_init (tree member, tree init)
{
/* Initialization of one array from another. */
finish_expr_stmt (build_vec_init (decl, NULL_TREE, TREE_VALUE (init),
+ /*explicit_default_init_p=*/false,
/* from_array=*/1));
}
else
@@ -1112,6 +1113,7 @@ build_aggr_init (tree exp, tree init, int flags)
if (itype && cp_type_quals (itype) != TYPE_UNQUALIFIED)
itype = TREE_TYPE (init) = TYPE_MAIN_VARIANT (itype);
stmt_expr = build_vec_init (exp, NULL_TREE, init,
+ /*explicit_default_init_p=*/false,
itype && same_type_p (itype,
TREE_TYPE (exp)));
TREE_READONLY (exp) = was_const;
@@ -1570,12 +1572,25 @@ integral_constant_value (tree decl)
/* And so are variables with a 'const' type -- unless they
are also 'volatile'. */
&& CP_TYPE_CONST_NON_VOLATILE_P (TREE_TYPE (decl))
- && DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P (decl)))
- && DECL_INITIAL (decl)
- && DECL_INITIAL (decl) != error_mark_node
- && TREE_TYPE (DECL_INITIAL (decl))
- && INTEGRAL_OR_ENUMERATION_TYPE_P (TREE_TYPE (DECL_INITIAL (decl))))
- decl = DECL_INITIAL (decl);
+ && DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P (decl))))
+ {
+ tree init;
+ /* If DECL is a static data member in a template class, we must
+ instantiate it here. The initializer for the static data
+ member is not processed until needed; we need it now. */
+ mark_used (decl);
+ init = DECL_INITIAL (decl);
+ /* If we are currently processing a template, the
+ initializer for a static data member may not be dependent,
+ but it is not folded until instantiation time. */
+ if (init)
+ init = fold_non_dependent_expr (init);
+ if (!(init || init == error_mark_node)
+ || !TREE_TYPE (init)
+ || !INTEGRAL_OR_ENUMERATION_TYPE_P (TREE_TYPE (init)))
+ break;
+ decl = init;
+ }
return decl;
}
@@ -1918,6 +1933,11 @@ build_new_1 (tree exp)
args = tree_cons (NULL_TREE, size, placement);
/* Do name-lookup to find the appropriate operator. */
fns = lookup_fnfields (elt_type, fnname, /*protect=*/2);
+ if (fns == NULL_TREE)
+ {
+ error ("no suitable %qD found in class %qT", fnname, elt_type);
+ return error_mark_node;
+ }
if (TREE_CODE (fns) == TREE_LIST)
{
error ("request for member %qD is ambiguous", fnname);
@@ -2050,46 +2070,59 @@ build_new_1 (tree exp)
init_expr = build_indirect_ref (data_addr, NULL);
- if (init == void_zero_node)
- init = build_default_init (full_type, nelts);
- else if (init && array_p)
- pedwarn ("ISO C++ forbids initialization in array new");
-
if (array_p)
{
+ bool explicit_default_init_p = false;
+
+ if (init == void_zero_node)
+ {
+ init = NULL_TREE;
+ explicit_default_init_p = true;
+ }
+ else if (init)
+ pedwarn ("ISO C++ forbids initialization in array new");
+
init_expr
= build_vec_init (init_expr,
cp_build_binary_op (MINUS_EXPR, outer_nelts,
integer_one_node),
- init, /*from_array=*/0);
+ init,
+ explicit_default_init_p,
+ /*from_array=*/0);
/* An array initialization is stable because the initialization
of each element is a full-expression, so the temporaries don't
leak out. */
stable = true;
}
- else if (TYPE_NEEDS_CONSTRUCTING (type))
- {
- init_expr = build_special_member_call (init_expr,
- complete_ctor_identifier,
- init, elt_type,
- LOOKUP_NORMAL);
- stable = stabilize_init (init_expr, &init_preeval_expr);
- }
else
{
- /* We are processing something like `new int (10)', which
- means allocate an int, and initialize it with 10. */
-
- if (TREE_CODE (init) == TREE_LIST)
- init = build_x_compound_expr_from_list (init, "new initializer");
+ if (init == void_zero_node)
+ init = build_default_init (full_type, nelts);
+ if (TYPE_NEEDS_CONSTRUCTING (type))
+ {
+ init_expr = build_special_member_call (init_expr,
+ complete_ctor_identifier,
+ init, elt_type,
+ LOOKUP_NORMAL);
+ stable = stabilize_init (init_expr, &init_preeval_expr);
+ }
else
- gcc_assert (TREE_CODE (init) != CONSTRUCTOR
- || TREE_TYPE (init) != NULL_TREE);
-
- init_expr = build_modify_expr (init_expr, INIT_EXPR, init);
- stable = stabilize_init (init_expr, &init_preeval_expr);
+ {
+ /* We are processing something like `new int (10)', which
+ means allocate an int, and initialize it with 10. */
+
+ if (TREE_CODE (init) == TREE_LIST)
+ init = build_x_compound_expr_from_list (init,
+ "new initializer");
+ else
+ gcc_assert (TREE_CODE (init) != CONSTRUCTOR
+ || TREE_TYPE (init) != NULL_TREE);
+
+ init_expr = build_modify_expr (init_expr, INIT_EXPR, init);
+ stable = stabilize_init (init_expr, &init_preeval_expr);
+ }
}
if (init_expr == error_mark_node)
@@ -2370,8 +2403,12 @@ get_temp_regvar (tree type, tree init)
MAXINDEX is the maximum index of the array (one less than the
number of elements). It is only used if
TYPE_DOMAIN (TREE_TYPE (BASE)) == NULL_TREE.
+
INIT is the (possibly NULL) initializer.
+ If EXPLICIT_DEFAULT_INIT_P is true, then INIT must be NULL. All
+ elements in the array are default-initialized.
+
FROM_ARRAY is 0 if we should init everything with INIT
(i.e., every element initialized from INIT).
FROM_ARRAY is 1 if we should index into INIT in parallel
@@ -2380,7 +2417,9 @@ get_temp_regvar (tree type, tree init)
but use assignment instead of initialization. */
tree
-build_vec_init (tree base, tree maxindex, tree init, int from_array)
+build_vec_init (tree base, tree maxindex, tree init,
+ bool explicit_default_init_p,
+ int from_array)
{
tree rval;
tree base2 = NULL_TREE;
@@ -2409,6 +2448,9 @@ build_vec_init (tree base, tree maxindex, tree init, int from_array)
if (maxindex == NULL_TREE || maxindex == error_mark_node)
return error_mark_node;
+ if (explicit_default_init_p)
+ gcc_assert (!init);
+
inner_elt_type = strip_array_types (atype);
if (init
&& (from_array == 2
@@ -2539,7 +2581,7 @@ build_vec_init (tree base, tree maxindex, tree init, int from_array)
We do need to keep going if we're copying an array. */
if (from_array
- || (TYPE_NEEDS_CONSTRUCTING (type)
+ || ((TYPE_NEEDS_CONSTRUCTING (type) || explicit_default_init_p)
&& ! (host_integerp (maxindex, 0)
&& (num_initialized_elts
== tree_low_cst (maxindex, 0) + 1))))
@@ -2548,6 +2590,7 @@ build_vec_init (tree base, tree maxindex, tree init, int from_array)
we've already initialized all the elements. */
tree for_stmt;
tree elt_init;
+ tree to;
for_stmt = begin_for_stmt ();
finish_for_init_stmt (for_stmt);
@@ -2557,9 +2600,10 @@ build_vec_init (tree base, tree maxindex, tree init, int from_array)
finish_for_expr (build_unary_op (PREDECREMENT_EXPR, iterator, 0),
for_stmt);
+ to = build1 (INDIRECT_REF, type, base);
+
if (from_array)
{
- tree to = build1 (INDIRECT_REF, type, base);
tree from;
if (base2)
@@ -2582,11 +2626,17 @@ build_vec_init (tree base, tree maxindex, tree init, int from_array)
sorry
("cannot initialize multi-dimensional array with initializer");
elt_init = build_vec_init (build1 (INDIRECT_REF, type, base),
- 0, 0, 0);
+ 0, 0,
+ /*explicit_default_init_p=*/false,
+ 0);
}
+ else if (!TYPE_NEEDS_CONSTRUCTING (type))
+ elt_init = (build_modify_expr
+ (to, INIT_EXPR,
+ build_zero_init (type, size_one_node,
+ /*static_storage_p=*/false)));
else
- elt_init = build_aggr_init (build1 (INDIRECT_REF, type, base),
- init, 0);
+ elt_init = build_aggr_init (to, init, 0);
current_stmt_tree ()->stmts_are_full_exprs_p = 1;
finish_expr_stmt (elt_init);
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index 2d6528d1c6b..d68423ce8fe 100644
--- a/gcc/cp/method.c
+++ b/gcc/cp/method.c
@@ -441,6 +441,7 @@ use_thunk (tree thunk_fndecl, bool emit_p)
fixed_offset, virtual_value, alias);
assemble_end_function (thunk_fndecl, fnname);
+ init_insn_lengths ();
current_function_decl = 0;
cfun = 0;
TREE_ASM_WRITTEN (thunk_fndecl) = 1;
@@ -979,7 +980,7 @@ implicitly_declare_fn (special_function_kind kind, tree type, bool const_p)
tree name;
HOST_WIDE_INT saved_processing_template_decl;
- /* Because we create declarations for implictly declared functions
+ /* Because we create declarations for implicitly declared functions
lazily, we may be creating the declaration for a member of TYPE
while in some completely different context. However, TYPE will
never be a dependent class (because we never want to do lookups
diff --git a/gcc/cp/name-lookup.c b/gcc/cp/name-lookup.c
index 4f64fa03684..f936a86cc28 100644
--- a/gcc/cp/name-lookup.c
+++ b/gcc/cp/name-lookup.c
@@ -1484,7 +1484,7 @@ print_binding_level (struct cp_binding_level* lvl)
{
tree t;
int i = 0, len;
- fprintf (stderr, " blocks=" HOST_PTR_PRINTF, (void *) lvl->blocks);
+ fprintf (stderr, " blocks=%p", (void *) lvl->blocks);
if (lvl->more_cleanups_ok)
fprintf (stderr, " more-cleanups-ok");
if (lvl->have_cleanups)
@@ -1549,7 +1549,7 @@ print_other_binding_stack (struct cp_binding_level *stack)
struct cp_binding_level *level;
for (level = stack; !global_scope_p (level); level = level->level_chain)
{
- fprintf (stderr, "binding level " HOST_PTR_PRINTF "\n", (void *) level);
+ fprintf (stderr, "binding level %p\n", (void *) level);
print_binding_level (level);
}
}
@@ -1558,9 +1558,9 @@ void
print_binding_stack (void)
{
struct cp_binding_level *b;
- fprintf (stderr, "current_binding_level=" HOST_PTR_PRINTF
- "\nclass_binding_level=" HOST_PTR_PRINTF
- "\nNAMESPACE_LEVEL (global_namespace)=" HOST_PTR_PRINTF "\n",
+ fprintf (stderr, "current_binding_level=%p\n"
+ "class_binding_level=%p\n"
+ "NAMESPACE_LEVEL (global_namespace)=%p\n",
(void *) current_binding_level, (void *) class_binding_level,
(void *) NAMESPACE_LEVEL (global_namespace));
if (class_binding_level)
@@ -3037,12 +3037,10 @@ namespace_ancestor (tree ns1, tree ns2)
void
do_namespace_alias (tree alias, tree namespace)
{
- if (TREE_CODE (namespace) != NAMESPACE_DECL)
- {
- /* The parser did not find it, so it's not there. */
- error ("unknown namespace %qD", namespace);
- return;
- }
+ if (namespace == error_mark_node)
+ return;
+
+ gcc_assert (TREE_CODE (namespace) == NAMESPACE_DECL);
namespace = ORIGINAL_NAMESPACE (namespace);
@@ -3191,26 +3189,15 @@ do_using_directive (tree namespace)
{
tree context = NULL_TREE;
+ if (namespace == error_mark_node)
+ return;
+
+ gcc_assert (TREE_CODE (namespace) == NAMESPACE_DECL);
+
if (building_stmt_tree ())
add_stmt (build_stmt (USING_STMT, namespace));
-
- /* using namespace A::B::C; */
- if (TREE_CODE (namespace) == SCOPE_REF)
- namespace = TREE_OPERAND (namespace, 1);
- if (TREE_CODE (namespace) == IDENTIFIER_NODE)
- {
- /* Lookup in lexer did not find a namespace. */
- if (!processing_template_decl)
- error ("namespace %qT undeclared", namespace);
- return;
- }
- if (TREE_CODE (namespace) != NAMESPACE_DECL)
- {
- if (!processing_template_decl)
- error ("%qT is not a namespace", namespace);
- return;
- }
namespace = ORIGINAL_NAMESPACE (namespace);
+
if (!toplevel_bindings_p ())
{
push_using_directive (namespace);
@@ -3966,7 +3953,7 @@ lookup_name (tree name, int prefer_type)
Unlike lookup_name_real, we make sure that NAME is actually
declared in the desired scope, not from inheritance, nor using
directive. For using declaration, there is DR138 still waiting
- to be resolved. Hidden name coming from earlier an friend
+ to be resolved. Hidden name coming from an earlier friend
declaration is also returned.
A TYPE_DECL best matching the NAME is returned. Catching error
@@ -4626,6 +4613,7 @@ tree
pushtag (tree name, tree type, tag_scope scope)
{
struct cp_binding_level *b;
+ tree decl;
timevar_push (TV_NAME_LOOKUP);
b = current_binding_level;
@@ -4647,121 +4635,103 @@ pushtag (tree name, tree type, tag_scope scope)
|| COMPLETE_TYPE_P (b->this_entity))))
b = b->level_chain;
- if (name)
+ gcc_assert (TREE_CODE (name) == IDENTIFIER_NODE);
+
+ /* Do C++ gratuitous typedefing. */
+ if (IDENTIFIER_TYPE_VALUE (name) != type)
{
- /* Do C++ gratuitous typedefing. */
- if (IDENTIFIER_TYPE_VALUE (name) != type)
- {
- tree d = NULL_TREE;
- int in_class = 0;
- tree context = TYPE_CONTEXT (type);
-
- if (! context)
- {
- tree cs = current_scope ();
-
- if (scope == ts_current)
- context = cs;
- else if (cs != NULL_TREE && TYPE_P (cs))
- /* When declaring a friend class of a local class, we want
- to inject the newly named class into the scope
- containing the local class, not the namespace scope. */
- context = decl_function_context (get_type_decl (cs));
- }
- if (!context)
- context = current_namespace;
-
- if (b->kind == sk_class
- || (b->kind == sk_template_parms
- && b->level_chain->kind == sk_class))
- in_class = 1;
-
- if (current_lang_name == lang_name_java)
- TYPE_FOR_JAVA (type) = 1;
+ tree tdef;
+ int in_class = 0;
+ tree context = TYPE_CONTEXT (type);
- d = create_implicit_typedef (name, type);
- DECL_CONTEXT (d) = FROB_CONTEXT (context);
- if (scope == ts_within_enclosing_non_class)
- {
- /* This is a friend. Make this TYPE_DECL node hidden from
- ordinary name lookup. Its corresponding TEMPLATE_DECL
- will be marked in push_template_decl_real. */
- retrofit_lang_decl (d);
- DECL_ANTICIPATED (d) = 1;
- DECL_FRIEND_P (d) = 1;
- }
-
- if (! in_class)
- set_identifier_type_value_with_scope (name, d, b);
-
- d = maybe_process_template_type_declaration
- (type, scope == ts_within_enclosing_non_class, b);
- if (d == error_mark_node)
- POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, error_mark_node);
-
- if (b->kind == sk_class)
- {
- if (!PROCESSING_REAL_TEMPLATE_DECL_P ())
- /* Put this TYPE_DECL on the TYPE_FIELDS list for the
- class. But if it's a member template class, we
- want the TEMPLATE_DECL, not the TYPE_DECL, so this
- is done later. */
- finish_member_declaration (d);
- else
- pushdecl_class_level (d);
- }
- else if (b->kind != sk_template_parms)
- d = pushdecl_with_scope (d, b);
-
- if (d == error_mark_node)
- POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, error_mark_node);
+ if (! context)
+ {
+ tree cs = current_scope ();
+
+ if (scope == ts_current)
+ context = cs;
+ else if (cs != NULL_TREE && TYPE_P (cs))
+ /* When declaring a friend class of a local class, we want
+ to inject the newly named class into the scope
+ containing the local class, not the namespace
+ scope. */
+ context = decl_function_context (get_type_decl (cs));
+ }
+ if (!context)
+ context = current_namespace;
- /* FIXME what if it gets a name from typedef? */
- if (ANON_AGGRNAME_P (name))
- DECL_IGNORED_P (d) = 1;
+ if (b->kind == sk_class
+ || (b->kind == sk_template_parms
+ && b->level_chain->kind == sk_class))
+ in_class = 1;
- TYPE_CONTEXT (type) = DECL_CONTEXT (d);
+ if (current_lang_name == lang_name_java)
+ TYPE_FOR_JAVA (type) = 1;
- /* If this is a local class, keep track of it. We need this
- information for name-mangling, and so that it is possible to find
- all function definitions in a translation unit in a convenient
- way. (It's otherwise tricky to find a member function definition
- it's only pointed to from within a local class.) */
- if (TYPE_CONTEXT (type)
- && TREE_CODE (TYPE_CONTEXT (type)) == FUNCTION_DECL)
- VEC_safe_push (tree, gc, local_classes, type);
- }
- if (b->kind == sk_class
- && !COMPLETE_TYPE_P (current_class_type))
+ tdef = create_implicit_typedef (name, type);
+ DECL_CONTEXT (tdef) = FROB_CONTEXT (context);
+ if (scope == ts_within_enclosing_non_class)
{
- maybe_add_class_template_decl_list (current_class_type,
- type, /*friend_p=*/0);
+ /* This is a friend. Make this TYPE_DECL node hidden from
+ ordinary name lookup. Its corresponding TEMPLATE_DECL
+ will be marked in push_template_decl_real. */
+ retrofit_lang_decl (tdef);
+ DECL_ANTICIPATED (tdef) = 1;
+ DECL_FRIEND_P (tdef) = 1;
+ }
- if (CLASSTYPE_NESTED_UTDS (current_class_type) == NULL)
- CLASSTYPE_NESTED_UTDS (current_class_type)
- = binding_table_new (SCOPE_DEFAULT_HT_SIZE);
+ decl = maybe_process_template_type_declaration
+ (type, scope == ts_within_enclosing_non_class, b);
+ if (decl == error_mark_node)
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, decl);
+
+ if (! in_class)
+ set_identifier_type_value_with_scope (name, tdef, b);
- binding_table_insert
- (CLASSTYPE_NESTED_UTDS (current_class_type), name, type);
+ if (b->kind == sk_class)
+ {
+ if (!PROCESSING_REAL_TEMPLATE_DECL_P ())
+ /* Put this TYPE_DECL on the TYPE_FIELDS list for the
+ class. But if it's a member template class, we want
+ the TEMPLATE_DECL, not the TYPE_DECL, so this is done
+ later. */
+ finish_member_declaration (decl);
+ else
+ pushdecl_class_level (decl);
}
+ else if (b->kind != sk_template_parms)
+ decl = pushdecl_with_scope (decl, b);
+
+ TYPE_CONTEXT (type) = DECL_CONTEXT (decl);
+
+ /* If this is a local class, keep track of it. We need this
+ information for name-mangling, and so that it is possible to
+ find all function definitions in a translation unit in a
+ convenient way. (It's otherwise tricky to find a member
+ function definition it's only pointed to from within a local
+ class.) */
+ if (TYPE_CONTEXT (type)
+ && TREE_CODE (TYPE_CONTEXT (type)) == FUNCTION_DECL)
+ VEC_safe_push (tree, gc, local_classes, type);
}
-
- if (TREE_CODE (TYPE_NAME (type)) == TYPE_DECL)
- /* Use the canonical TYPE_DECL for this node. */
- TYPE_STUB_DECL (type) = TYPE_NAME (type);
- else
+ if (b->kind == sk_class
+ && !COMPLETE_TYPE_P (current_class_type))
{
- /* Create a fake NULL-named TYPE_DECL node whose TREE_TYPE
- will be the tagged type we just added to the current
- binding level. This fake NULL-named TYPE_DECL node helps
- dwarfout.c to know when it needs to output a
- representation of a tagged type, and it also gives us a
- convenient place to record the "scope start" address for
- the tagged type. */
-
- tree d = build_decl (TYPE_DECL, NULL_TREE, type);
- TYPE_STUB_DECL (type) = pushdecl_with_scope (d, b);
+ maybe_add_class_template_decl_list (current_class_type,
+ type, /*friend_p=*/0);
+
+ if (CLASSTYPE_NESTED_UTDS (current_class_type) == NULL)
+ CLASSTYPE_NESTED_UTDS (current_class_type)
+ = binding_table_new (SCOPE_DEFAULT_HT_SIZE);
+
+ binding_table_insert
+ (CLASSTYPE_NESTED_UTDS (current_class_type), name, type);
}
+
+ decl = TYPE_NAME (type);
+ gcc_assert (TREE_CODE (decl) == TYPE_DECL);
+ TYPE_STUB_DECL (type) = decl;
+
POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, type);
}
@@ -4889,12 +4859,14 @@ push_to_top_level (void)
s->bindings = b;
s->need_pop_function_context = need_pop;
s->function_decl = current_function_decl;
+ s->skip_evaluation = skip_evaluation;
scope_chain = s;
current_function_decl = NULL_TREE;
current_lang_base = VEC_alloc (tree, gc, 10);
current_lang_name = lang_name_cplusplus;
current_namespace = global_namespace;
+ skip_evaluation = 0;
timevar_pop (TV_NAME_LOOKUP);
}
@@ -4926,6 +4898,7 @@ pop_from_top_level (void)
if (s->need_pop_function_context)
pop_function_context_from (NULL_TREE);
current_function_decl = s->function_decl;
+ skip_evaluation = s->skip_evaluation;
timevar_pop (TV_NAME_LOOKUP);
}
@@ -4956,6 +4929,10 @@ pop_everything (void)
void
cp_emit_debug_info_for_using (tree t, tree context)
{
+ /* Don't try to emit any debug information if we have errors. */
+ if (sorrycount || errorcount)
+ return;
+
/* Ignore this FUNCTION_DECL if it refers to a builtin declaration
of a builtin function. */
if (TREE_CODE (t) == FUNCTION_DECL
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index fa46b256de7..f6b5381f5a3 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -497,14 +497,15 @@ cp_lexer_peek_nth_token (cp_lexer* lexer, size_t n)
cp_token *token;
/* N is 1-based, not zero-based. */
- gcc_assert (n > 0 && lexer->next_token != &eof_token);
-
+ gcc_assert (n > 0);
+
if (cp_lexer_debugging_p (lexer))
fprintf (cp_lexer_debug_stream,
"cp_lexer: peeking ahead %ld at token: ", (long)n);
--n;
token = lexer->next_token;
+ gcc_assert (!n || token != &eof_token);
while (n != 0)
{
++token;
@@ -10253,6 +10254,8 @@ cp_parser_namespace_name (cp_parser* parser)
if (namespace_decl == error_mark_node
|| TREE_CODE (namespace_decl) != NAMESPACE_DECL)
{
+ if (!cp_parser_uncommitted_to_tentative_parse_p (parser))
+ error ("%qD is not a namespace-name", identifier);
cp_parser_error (parser, "expected namespace-name");
namespace_decl = error_mark_node;
}
@@ -14461,9 +14464,13 @@ cp_parser_lookup_name (cp_parser *parser, tree name,
bool check_dependency,
bool *ambiguous_p)
{
+ int flags = 0;
tree decl;
tree object_type = parser->context->object_type;
+ if (!cp_parser_uncommitted_to_tentative_parse_p (parser))
+ flags |= LOOKUP_COMPLAIN;
+
/* Assume that the lookup will be unambiguous. */
if (ambiguous_p)
*ambiguous_p = false;
@@ -14596,8 +14603,7 @@ cp_parser_lookup_name (cp_parser *parser, tree name,
/* Look it up in the enclosing context, too. */
decl = lookup_name_real (name, tag_type != none_type,
/*nonclass=*/0,
- /*block_p=*/true, is_namespace,
- /*flags=*/0);
+ /*block_p=*/true, is_namespace, flags);
parser->object_scope = object_type;
parser->qualifying_scope = NULL_TREE;
if (object_decl)
@@ -14607,8 +14613,7 @@ cp_parser_lookup_name (cp_parser *parser, tree name,
{
decl = lookup_name_real (name, tag_type != none_type,
/*nonclass=*/0,
- /*block_p=*/true, is_namespace,
- /*flags=*/0);
+ /*block_p=*/true, is_namespace, flags);
parser->qualifying_scope = NULL_TREE;
parser->object_scope = NULL_TREE;
}
@@ -15965,7 +15970,7 @@ cp_parser_next_token_ends_template_argument_p (cp_parser *parser)
return (token->type == CPP_COMMA || token->type == CPP_GREATER);
}
-/* Returns TRUE iff the n-th token is a ">", or the n-th is a "[" and the
+/* Returns TRUE iff the n-th token is a "<", or the n-th is a "[" and the
(n+1)-th is a ":" (which is a possible digraph typo for "< ::"). */
static bool
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index 2ab89b2eae3..773d8650891 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -642,7 +642,7 @@ end_explicit_instantiation (void)
processing_explicit_instantiation = false;
}
-/* A explicit specialization or partial specialization TMPL is being
+/* An explicit specialization or partial specialization TMPL is being
declared. Check that the namespace in which the specialization is
occurring is permissible. Returns false iff it is invalid to
specialize TMPL in the current namespace. */
@@ -2087,6 +2087,14 @@ check_explicit_specialization (tree declarator,
TREE_PRIVATE (decl) = TREE_PRIVATE (gen_tmpl);
TREE_PROTECTED (decl) = TREE_PROTECTED (gen_tmpl);
+ /* The specialization has the same visibility as the
+ template it specializes. */
+ if (DECL_VISIBILITY_SPECIFIED (gen_tmpl))
+ {
+ DECL_VISIBILITY_SPECIFIED (decl) = 1;
+ DECL_VISIBILITY (decl) = DECL_VISIBILITY (gen_tmpl);
+ }
+
if (is_friend && !have_def)
/* This is not really a declaration of a specialization.
It's just the name of an instantiation. But, it's not
@@ -3101,6 +3109,7 @@ push_template_decl_real (tree decl, int is_friend)
error ("got %d template parameters for %q#T",
TREE_VEC_LENGTH (a), current);
error (" but %d required", TREE_VEC_LENGTH (t));
+ return error_mark_node;
}
/* Perhaps we should also check that the parms are used in the
@@ -4606,6 +4615,11 @@ lookup_template_class (tree d1,
= TREE_PROTECTED (TYPE_STUB_DECL (template_type));
DECL_IN_SYSTEM_HEADER (type_decl)
= DECL_IN_SYSTEM_HEADER (template);
+ if (CLASSTYPE_VISIBILITY_SPECIFIED (template_type))
+ {
+ DECL_VISIBILITY_SPECIFIED (type_decl) = 1;
+ DECL_VISIBILITY (type_decl) = CLASSTYPE_VISIBILITY (template_type);
+ }
/* Set up the template information. We have to figure out which
template is the immediate parent if this is a full
@@ -4942,6 +4956,7 @@ uses_template_parms (tree t)
|| TREE_CODE (t) == TEMPLATE_PARM_INDEX
|| TREE_CODE (t) == OVERLOAD
|| TREE_CODE (t) == BASELINK
+ || TREE_CODE (t) == IDENTIFIER_NODE
|| CONSTANT_CLASS_P (t))
dependent_p = (type_dependent_expression_p (t)
|| value_dependent_expression_p (t));
@@ -5525,6 +5540,11 @@ instantiate_class_template (tree type)
TYPE_FOR_JAVA (type) = TYPE_FOR_JAVA (pattern); /* For libjava's JArray<T> */
if (ANON_AGGR_TYPE_P (pattern))
SET_ANON_AGGR_TYPE_P (type);
+ if (CLASSTYPE_VISIBILITY_SPECIFIED (pattern))
+ {
+ CLASSTYPE_VISIBILITY_SPECIFIED (type) = 1;
+ CLASSTYPE_VISIBILITY (type) = CLASSTYPE_VISIBILITY (pattern);
+ }
pbinfo = TYPE_BINFO (pattern);
@@ -5679,17 +5699,22 @@ instantiate_class_template (tree type)
--processing_template_decl;
if (TREE_CODE (r) == VAR_DECL)
{
- tree init;
-
- if (DECL_INITIALIZED_IN_CLASS_P (r))
- init = tsubst_expr (DECL_INITIAL (t), args,
- tf_error | tf_warning, NULL_TREE);
- else
- init = NULL_TREE;
-
- finish_static_data_member_decl
- (r, init, /*asmspec_tree=*/NULL_TREE, /*flags=*/0);
-
+ /* In [temp.inst]:
+
+ [t]he initialization (and any associated
+ side-effects) of a static data member does
+ not occur unless the static data member is
+ itself used in a way that requires the
+ definition of the static data member to
+ exist.
+
+ Therefore, we do not substitute into the
+ initialized for the static data member here. */
+ finish_static_data_member_decl
+ (r,
+ /*init=*/NULL_TREE,
+ /*asmspec_tree=*/NULL_TREE,
+ /*flags=*/0);
if (DECL_INITIALIZED_IN_CLASS_P (r))
check_static_variable_definition (r, TREE_TYPE (r));
}
@@ -6206,6 +6231,8 @@ tsubst_decl (tree t, tree args, tsubst_flags_t complain)
: DECL_TI_ARGS (DECL_TEMPLATE_RESULT (t));
full_args = tsubst_template_args (tmpl_args, args,
complain, in_decl);
+ if (full_args == error_mark_node)
+ return error_mark_node;
/* tsubst_template_args doesn't copy the vector if
nothing changed. But, *something* should have
@@ -7316,6 +7343,8 @@ tsubst (tree t, tree args, tsubst_flags_t complain, tree in_decl)
/* Substitute the exception specification. */
specs = tsubst_exception_specification (t, args, complain,
in_decl);
+ if (specs == error_mark_node)
+ return error_mark_node;
if (specs)
fntype = build_exception_variant (fntype, specs);
return fntype;
@@ -7657,7 +7686,8 @@ tsubst_qualified_id (tree qualified_id, tree args,
expr = finish_qualified_id_expr (scope, expr, done, address_p);
}
- expr = convert_from_reference (expr);
+ if (TREE_CODE (expr) != SCOPE_REF)
+ expr = convert_from_reference (expr);
return expr;
}
@@ -9097,7 +9127,8 @@ fn_type_unification (tree fn,
tree targs,
tree args,
tree return_type,
- unification_kind_t strict)
+ unification_kind_t strict,
+ int flags)
{
tree parms;
tree fntype;
@@ -9175,7 +9206,7 @@ fn_type_unification (tree fn,
event. */
result = type_unification_real (DECL_INNERMOST_TEMPLATE_PARMS (fn),
targs, parms, args, /*subr=*/0,
- strict, 0);
+ strict, flags);
if (result == 0)
/* All is well so far. Now, check:
@@ -9283,9 +9314,7 @@ maybe_adjust_types_for_deduction (unification_kind_t strict,
If SUBR is 1, we're being called recursively (to unify the
arguments of a function or method parameter of a function
- template). If IS_METHOD is true, XPARMS are the parms of a
- member function, and special rules apply to cv qualification
- deduction on the this parameter. */
+ template). */
static int
type_unification_real (tree tparms,
@@ -9294,7 +9323,7 @@ type_unification_real (tree tparms,
tree xargs,
int subr,
unification_kind_t strict,
- int is_method)
+ int flags)
{
tree parm, arg;
int i;
@@ -9346,26 +9375,6 @@ type_unification_real (tree tparms,
template args from other function args. */
continue;
- if (is_method)
- {
- /* The cv qualifiers on the this pointer argument must match
- exactly. We cannot deduce a T as const X against a const
- member function for instance. */
- gcc_assert (TREE_CODE (parm) == POINTER_TYPE);
- gcc_assert (TREE_CODE (arg) == POINTER_TYPE);
- /* The restrict qualifier will be on the pointer. */
- if (cp_type_quals (parm) != cp_type_quals (arg))
- return 1;
- parm = TREE_TYPE (parm);
- arg = TREE_TYPE (arg);
- if (cp_type_quals (parm) != cp_type_quals (arg))
- return 1;
-
- parm = TYPE_MAIN_VARIANT (parm);
- arg = TYPE_MAIN_VARIANT (arg);
- is_method = 0;
- }
-
/* Conversions will be performed on a function argument that
corresponds with a function parameter that contains only
non-deducible template parameters and explicitly specified
@@ -9382,7 +9391,8 @@ type_unification_real (tree tparms,
if (same_type_p (parm, type))
continue;
if (strict != DEDUCE_EXACT
- && can_convert_arg (parm, type, TYPE_P (arg) ? NULL_TREE : arg))
+ && can_convert_arg (parm, type, TYPE_P (arg) ? NULL_TREE : arg,
+ flags))
continue;
return 1;
@@ -10266,12 +10276,23 @@ unify (tree tparms, tree targs, tree parm, tree arg, int strict)
if (TREE_CODE (arg) != TREE_CODE (parm))
return 1;
+ /* CV qualifications for methods can never be deduced, they must
+ match exactly. We need to check them explicitly here,
+ because type_unification_real treats them as any other
+ cvqualified parameter. */
+ if (TREE_CODE (parm) == METHOD_TYPE
+ && (!check_cv_quals_for_unify
+ (UNIFY_ALLOW_NONE,
+ TREE_TYPE (TREE_VALUE (TYPE_ARG_TYPES (arg))),
+ TREE_TYPE (TREE_VALUE (TYPE_ARG_TYPES (parm))))))
+ return 1;
+
if (unify (tparms, targs, TREE_TYPE (parm),
TREE_TYPE (arg), UNIFY_ALLOW_NONE))
return 1;
return type_unification_real (tparms, targs, TYPE_ARG_TYPES (parm),
TYPE_ARG_TYPES (arg), 1, DEDUCE_EXACT,
- TREE_CODE (parm) == METHOD_TYPE);
+ LOOKUP_NORMAL);
case OFFSET_TYPE:
/* Unify a pointer to member with a pointer to member function, which
@@ -10656,7 +10677,7 @@ get_bindings (tree fn, tree decl, tree explicit_args, bool check_rettype)
decl_arg_types,
(check_rettype || DECL_CONV_FN_P (fn)
? TREE_TYPE (decl_type) : NULL_TREE),
- DEDUCE_EXACT))
+ DEDUCE_EXACT, LOOKUP_NORMAL))
return NULL_TREE;
return targs;
@@ -11262,13 +11283,9 @@ regenerate_decl_from_template (tree decl, tree tmpl)
DECL_INLINE (decl) = 1;
}
else if (TREE_CODE (decl) == VAR_DECL)
- {
- if (!DECL_INITIALIZED_IN_CLASS_P (decl)
- && DECL_INITIAL (code_pattern))
- DECL_INITIAL (decl) =
- tsubst_expr (DECL_INITIAL (code_pattern), args,
- tf_error, DECL_TI_TEMPLATE (decl));
- }
+ DECL_INITIAL (decl) =
+ tsubst_expr (DECL_INITIAL (code_pattern), args,
+ tf_error, DECL_TI_TEMPLATE (decl));
else
gcc_unreachable ();
@@ -11351,7 +11368,7 @@ instantiate_decl (tree d, int defer_ok,
tree code_pattern;
tree spec;
tree gen_tmpl;
- int pattern_defined;
+ bool pattern_defined;
int need_push;
location_t saved_loc = input_location;
@@ -11399,9 +11416,6 @@ instantiate_decl (tree d, int defer_ok,
timevar_push (TV_PARSE);
- /* We may be in the middle of deferred access check. Disable it now. */
- push_deferring_access_checks (dk_no_deferred);
-
/* Set TD to the template whose DECL_TEMPLATE_RESULT is the pattern
for the instantiation. */
td = template_for_substitution (d);
@@ -11421,6 +11435,10 @@ instantiate_decl (tree d, int defer_ok,
pattern_defined = (DECL_SAVED_TREE (code_pattern) != NULL_TREE);
else
pattern_defined = ! DECL_IN_AGGR_P (code_pattern);
+
+ /* We may be in the middle of deferred access check. Disable it now. */
+ push_deferring_access_checks (dk_no_deferred);
+
/* Unless an explicit instantiation directive has already determined
the linkage of D, remember that a definition is available for
this entity. */
@@ -11470,12 +11488,6 @@ instantiate_decl (tree d, int defer_ok,
pop_access_scope (d);
}
- /* We should have set up DECL_INITIAL in instantiate_class_template
- for in-class definitions of static data members. */
- gcc_assert (!(TREE_CODE (d) == VAR_DECL
- && DECL_INITIALIZED_IN_CLASS_P (d)
- && DECL_INITIAL (d) == NULL_TREE));
-
/* Do not instantiate templates that we know will be defined
elsewhere. */
if (DECL_INTERFACE_KNOWN (d)
@@ -11488,6 +11500,20 @@ instantiate_decl (tree d, int defer_ok,
because it's used by add_pending_template. */
else if (! pattern_defined || defer_ok)
{
+ /* The definition of the static data member is now required so
+ we must substitute the initializer. */
+ if (TREE_CODE (d) == VAR_DECL
+ && !DECL_INITIAL (d)
+ && DECL_INITIAL (code_pattern))
+ {
+ push_nested_class (DECL_CONTEXT (d));
+ DECL_INITIAL (d)
+ = tsubst_expr (DECL_INITIAL (code_pattern),
+ args,
+ tf_error | tf_warning, NULL_TREE);
+ pop_nested_class ();
+ }
+
input_location = saved_loc;
if (at_eof && !pattern_defined
@@ -11554,10 +11580,7 @@ instantiate_decl (tree d, int defer_ok,
/* Enter the scope of D so that access-checking works correctly. */
push_nested_class (DECL_CONTEXT (d));
- cp_finish_decl (d,
- (!DECL_INITIALIZED_IN_CLASS_P (d)
- ? DECL_INITIAL (d) : NULL_TREE),
- NULL_TREE, 0);
+ cp_finish_decl (d, DECL_INITIAL (d), NULL_TREE, 0);
pop_nested_class ();
}
else if (TREE_CODE (d) == FUNCTION_DECL)
@@ -12341,7 +12364,8 @@ type_dependent_expression_p (tree expression)
return true;
expression = TREE_OPERAND (expression, 0);
}
- gcc_assert (TREE_CODE (expression) == OVERLOAD);
+ gcc_assert (TREE_CODE (expression) == OVERLOAD
+ || TREE_CODE (expression) == FUNCTION_DECL);
while (expression)
{
diff --git a/gcc/cp/ptree.c b/gcc/cp/ptree.c
index 75263735c89..8a7ba940063 100644
--- a/gcc/cp/ptree.c
+++ b/gcc/cp/ptree.c
@@ -46,15 +46,15 @@ cxx_print_decl (FILE *file, tree node, int indent)
indent_to (file, indent + 3);
if (TREE_CODE (node) == FUNCTION_DECL
&& DECL_PENDING_INLINE_INFO (node))
- fprintf (file, " pending-inline-info " HOST_PTR_PRINTF,
+ fprintf (file, " pending-inline-info %p",
(void *) DECL_PENDING_INLINE_INFO (node));
if (TREE_CODE (node) == TYPE_DECL
&& DECL_SORTED_FIELDS (node))
- fprintf (file, " sorted-fields " HOST_PTR_PRINTF,
+ fprintf (file, " sorted-fields %p",
(void *) DECL_SORTED_FIELDS (node));
if ((TREE_CODE (node) == FUNCTION_DECL || TREE_CODE (node) == VAR_DECL)
&& DECL_TEMPLATE_INFO (node))
- fprintf (file, " template-info " HOST_PTR_PRINTF,
+ fprintf (file, " template-info %p",
(void *) DECL_TEMPLATE_INFO (node));
}
@@ -142,7 +142,7 @@ cxx_print_type (FILE *file, tree node, int indent)
static void
cxx_print_binding (FILE *stream, cxx_binding *binding, const char *prefix)
{
- fprintf (stream, "%s <" HOST_PTR_PRINTF ">",
+ fprintf (stream, "%s <%p>",
prefix, (void *) binding);
}
diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
index b2a28e2b846..528d8b7e6d0 100644
--- a/gcc/cp/semantics.c
+++ b/gcc/cp/semantics.c
@@ -2395,7 +2395,9 @@ finish_base_specifier (tree base, tree access, bool virtual_p)
void
qualified_name_lookup_error (tree scope, tree name, tree decl)
{
- if (TYPE_P (scope))
+ if (scope == error_mark_node)
+ ; /* We already complained. */
+ else if (TYPE_P (scope))
{
if (!COMPLETE_TYPE_P (scope))
error ("incomplete type %qT used in nested name specifier", scope);
diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c
index 62f52973eba..96da3c636f5 100644
--- a/gcc/cp/typeck.c
+++ b/gcc/cp/typeck.c
@@ -3615,11 +3615,13 @@ build_x_unary_op (enum tree_code code, tree xarg)
if (!flag_ms_extensions && TREE_CODE (TREE_TYPE (xarg)) == METHOD_TYPE
&& (TREE_CODE (xarg) != OFFSET_REF || !PTRMEM_OK_P (xarg)))
{
- if (TREE_CODE (xarg) != OFFSET_REF)
+ if (TREE_CODE (xarg) != OFFSET_REF
+ || !TYPE_P (TREE_OPERAND (xarg, 0)))
{
- error ("invalid use of %qE to form a pointer-to-member-function."
- " Use a qualified-id.",
+ error ("invalid use of %qE to form a pointer-to-member-function",
xarg);
+ if (TREE_CODE (xarg) != OFFSET_REF)
+ inform (" a qualified-id is required");
return error_mark_node;
}
else
@@ -3764,7 +3766,7 @@ build_unary_op (enum tree_code code, tree xarg, int noconvert)
if (!noconvert && CP_INTEGRAL_TYPE_P (TREE_TYPE (arg)))
arg = perform_integral_promotions (arg);
- /* Make sure the result is not a lvalue: a unary plus or minus
+ /* Make sure the result is not an lvalue: a unary plus or minus
expression is always a rvalue. */
if (real_lvalue_p (arg))
arg = build1 (NON_LVALUE_EXPR, TREE_TYPE (arg), arg);
@@ -5470,7 +5472,9 @@ build_modify_expr (tree lhs, enum tree_code modifycode, tree rhs)
from_array = TREE_CODE (TREE_TYPE (newrhs)) == ARRAY_TYPE
? 1 + (modifycode != INIT_EXPR): 0;
- return build_vec_init (lhs, NULL_TREE, newrhs, from_array);
+ return build_vec_init (lhs, NULL_TREE, newrhs,
+ /*explicit_default_init_p=*/false,
+ from_array);
}
if (modifycode == INIT_EXPR)
@@ -5696,7 +5700,7 @@ build_ptrmemfunc (tree type, tree pfn, int force, bool c_cast_p)
tree n;
if (!force
- && !can_convert_arg (to_type, TREE_TYPE (pfn), pfn))
+ && !can_convert_arg (to_type, TREE_TYPE (pfn), pfn, LOOKUP_NORMAL))
error ("invalid conversion to type %qT from type %qT",
to_type, pfn_type);
diff --git a/gcc/cp/typeck2.c b/gcc/cp/typeck2.c
index 2564a054768..e9a61614f71 100644
--- a/gcc/cp/typeck2.c
+++ b/gcc/cp/typeck2.c
@@ -945,7 +945,7 @@ process_init_constructor_record (tree type, tree init)
}
/* Subroutine of process_init_constructor, which will process a single
- initializer INIT for an union of type TYPE. Returns the flags (PICFLAG_*)
+ initializer INIT for a union of type TYPE. Returns the flags (PICFLAG_*)
which describe the initializer. */
static int
diff --git a/gcc/cse.c b/gcc/cse.c
index c7f9000b2ed..1efcf308ae4 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -618,7 +618,7 @@ static rtx cse_process_notes (rtx, rtx);
static void invalidate_skipped_set (rtx, rtx, void *);
static void invalidate_skipped_block (rtx);
static rtx cse_basic_block (rtx, rtx, struct branch_path *);
-static void count_reg_usage (rtx, int *, int);
+static void count_reg_usage (rtx, int *, rtx, int);
static int check_for_label_ref (rtx *, void *);
extern void dump_class (struct table_elt*);
static void get_cse_reg_info_1 (unsigned int regno);
@@ -2498,6 +2498,7 @@ exp_equiv_p (rtx x, rtx y, int validate, bool for_gcse)
case PC:
case CC0:
case CONST_INT:
+ case CONST_DOUBLE:
return x == y;
case LABEL_REF:
@@ -7079,10 +7080,16 @@ check_for_label_ref (rtx *rtl, void *data)
/* Count the number of times registers are used (not set) in X.
COUNTS is an array in which we accumulate the count, INCR is how much
- we count each register usage. */
+ we count each register usage.
+
+ Don't count a usage of DEST, which is the SET_DEST of a SET which
+ contains X in its SET_SRC. This is because such a SET does not
+ modify the liveness of DEST.
+ DEST is set to pc_rtx for a trapping insn, which means that we must count
+ uses of a SET_DEST regardless because the insn can't be deleted here. */
static void
-count_reg_usage (rtx x, int *counts, int incr)
+count_reg_usage (rtx x, int *counts, rtx dest, int incr)
{
enum rtx_code code;
rtx note;
@@ -7095,7 +7102,8 @@ count_reg_usage (rtx x, int *counts, int incr)
switch (code = GET_CODE (x))
{
case REG:
- counts[REGNO (x)] += incr;
+ if (x != dest)
+ counts[REGNO (x)] += incr;
return;
case PC:
@@ -7112,23 +7120,28 @@ count_reg_usage (rtx x, int *counts, int incr)
/* If we are clobbering a MEM, mark any registers inside the address
as being used. */
if (MEM_P (XEXP (x, 0)))
- count_reg_usage (XEXP (XEXP (x, 0), 0), counts, incr);
+ count_reg_usage (XEXP (XEXP (x, 0), 0), counts, NULL_RTX, incr);
return;
case SET:
/* Unless we are setting a REG, count everything in SET_DEST. */
if (!REG_P (SET_DEST (x)))
- count_reg_usage (SET_DEST (x), counts, incr);
- count_reg_usage (SET_SRC (x), counts, incr);
+ count_reg_usage (SET_DEST (x), counts, NULL_RTX, incr);
+ count_reg_usage (SET_SRC (x), counts,
+ dest ? dest : SET_DEST (x),
+ incr);
return;
case CALL_INSN:
- count_reg_usage (CALL_INSN_FUNCTION_USAGE (x), counts, incr);
- /* Fall through. */
-
case INSN:
case JUMP_INSN:
- count_reg_usage (PATTERN (x), counts, incr);
+ /* We expect dest to be NULL_RTX here. If the insn may trap, mark
+ this fact by setting DEST to pc_rtx. */
+ if (flag_non_call_exceptions && may_trap_p (PATTERN (x)))
+ dest = pc_rtx;
+ if (code == CALL_INSN)
+ count_reg_usage (CALL_INSN_FUNCTION_USAGE (x), counts, dest, incr);
+ count_reg_usage (PATTERN (x), counts, dest, incr);
/* Things used in a REG_EQUAL note aren't dead since loop may try to
use them. */
@@ -7143,12 +7156,12 @@ count_reg_usage (rtx x, int *counts, int incr)
Process all the arguments. */
do
{
- count_reg_usage (XEXP (eqv, 0), counts, incr);
+ count_reg_usage (XEXP (eqv, 0), counts, dest, incr);
eqv = XEXP (eqv, 1);
}
while (eqv && GET_CODE (eqv) == EXPR_LIST);
else
- count_reg_usage (eqv, counts, incr);
+ count_reg_usage (eqv, counts, dest, incr);
}
return;
@@ -7158,15 +7171,19 @@ count_reg_usage (rtx x, int *counts, int incr)
/* FUNCTION_USAGE expression lists may include (CLOBBER (mem /u)),
involving registers in the address. */
|| GET_CODE (XEXP (x, 0)) == CLOBBER)
- count_reg_usage (XEXP (x, 0), counts, incr);
+ count_reg_usage (XEXP (x, 0), counts, NULL_RTX, incr);
- count_reg_usage (XEXP (x, 1), counts, incr);
+ count_reg_usage (XEXP (x, 1), counts, NULL_RTX, incr);
return;
case ASM_OPERANDS:
+ /* If the asm is volatile, then this insn cannot be deleted,
+ and so the inputs *must* be live. */
+ if (MEM_VOLATILE_P (x))
+ dest = NULL_RTX;
/* Iterate over just the inputs, not the constraints as well. */
for (i = ASM_OPERANDS_INPUT_LENGTH (x) - 1; i >= 0; i--)
- count_reg_usage (ASM_OPERANDS_INPUT (x, i), counts, incr);
+ count_reg_usage (ASM_OPERANDS_INPUT (x, i), counts, dest, incr);
return;
case INSN_LIST:
@@ -7180,10 +7197,10 @@ count_reg_usage (rtx x, int *counts, int incr)
for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--)
{
if (fmt[i] == 'e')
- count_reg_usage (XEXP (x, i), counts, incr);
+ count_reg_usage (XEXP (x, i), counts, dest, incr);
else if (fmt[i] == 'E')
for (j = XVECLEN (x, i) - 1; j >= 0; j--)
- count_reg_usage (XVECEXP (x, i, j), counts, incr);
+ count_reg_usage (XVECEXP (x, i, j), counts, dest, incr);
}
}
@@ -7270,11 +7287,11 @@ dead_libcall_p (rtx insn, int *counts)
new = XEXP (note, 0);
/* While changing insn, we must update the counts accordingly. */
- count_reg_usage (insn, counts, -1);
+ count_reg_usage (insn, counts, NULL_RTX, -1);
if (validate_change (insn, &SET_SRC (set), new, 0))
{
- count_reg_usage (insn, counts, 1);
+ count_reg_usage (insn, counts, NULL_RTX, 1);
remove_note (insn, find_reg_note (insn, REG_RETVAL, NULL_RTX));
remove_note (insn, note);
return true;
@@ -7285,14 +7302,14 @@ dead_libcall_p (rtx insn, int *counts)
new = force_const_mem (GET_MODE (SET_DEST (set)), new);
if (new && validate_change (insn, &SET_SRC (set), new, 0))
{
- count_reg_usage (insn, counts, 1);
+ count_reg_usage (insn, counts, NULL_RTX, 1);
remove_note (insn, find_reg_note (insn, REG_RETVAL, NULL_RTX));
remove_note (insn, note);
return true;
}
}
- count_reg_usage (insn, counts, 1);
+ count_reg_usage (insn, counts, NULL_RTX, 1);
return false;
}
@@ -7317,7 +7334,7 @@ delete_trivially_dead_insns (rtx insns, int nreg)
counts = xcalloc (nreg, sizeof (int));
for (insn = insns; insn; insn = NEXT_INSN (insn))
if (INSN_P (insn))
- count_reg_usage (insn, counts, 1);
+ count_reg_usage (insn, counts, NULL_RTX, 1);
/* Go from the last insn to the first and delete insns that only set unused
registers or copy a register to itself. As we delete an insn, remove
@@ -7355,7 +7372,7 @@ delete_trivially_dead_insns (rtx insns, int nreg)
if (! live_insn)
{
- count_reg_usage (insn, counts, -1);
+ count_reg_usage (insn, counts, NULL_RTX, -1);
delete_insn_and_edges (insn);
ndead++;
}
diff --git a/gcc/cselib.c b/gcc/cselib.c
index 5d36be91829..13fc5326dc0 100644
--- a/gcc/cselib.c
+++ b/gcc/cselib.c
@@ -462,9 +462,18 @@ rtx_equal_for_cselib_p (rtx x, rtx y)
if (GET_CODE (x) != GET_CODE (y) || GET_MODE (x) != GET_MODE (y))
return 0;
- /* This won't be handled correctly by the code below. */
- if (GET_CODE (x) == LABEL_REF)
- return XEXP (x, 0) == XEXP (y, 0);
+ /* These won't be handled correctly by the code below. */
+ switch (GET_CODE (x))
+ {
+ case CONST_DOUBLE:
+ return 0;
+
+ case LABEL_REF:
+ return XEXP (x, 0) == XEXP (y, 0);
+
+ default:
+ break;
+ }
code = GET_CODE (x);
fmt = GET_RTX_FORMAT (code);
diff --git a/gcc/defaults.h b/gcc/defaults.h
index 84749787744..af3e237227d 100644
--- a/gcc/defaults.h
+++ b/gcc/defaults.h
@@ -61,17 +61,6 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
} while (0)
#endif
-/* This is how to output an element of a case-vector that is absolute.
- Some targets don't use this, but we have to define it anyway. */
-
-#ifndef ASM_OUTPUT_ADDR_VEC_ELT
-#define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE) \
-do { fputs (integer_asm_op (POINTER_SIZE / BITS_PER_UNIT, TRUE), FILE); \
- (*targetm.asm_out.internal_label) (FILE, "L", (VALUE)); \
- fputc ('\n', FILE); \
- } while (0)
-#endif
-
/* Choose a reasonable default for ASM_OUTPUT_ASCII. */
#ifndef ASM_OUTPUT_ASCII
diff --git a/gcc/df.c b/gcc/df.c
index 36001474820..1b392aea9a0 100644
--- a/gcc/df.c
+++ b/gcc/df.c
@@ -1031,6 +1031,7 @@ df_uses_record (struct df *df, rtx *loc, enum df_ref_type ref_type,
/* Fall through. */
case REG:
case PARALLEL:
+ case SCRATCH:
case PC:
case CC0:
break;
diff --git a/gcc/doc/contrib.texi b/gcc/doc/contrib.texi
index d4c71ecd76a..d902629f5f3 100644
--- a/gcc/doc/contrib.texi
+++ b/gcc/doc/contrib.texi
@@ -962,6 +962,9 @@ problems in various places that nobody else wanted to work on, strength
reduction and other loop optimizations.
@item
+Paul Woegerer and Tal Agmon for the CRX port.
+
+@item
Carlo Wood for various fixes.
@item
diff --git a/gcc/doc/cpp.texi b/gcc/doc/cpp.texi
index e9c64078e1a..f5f29a6397b 100644
--- a/gcc/doc/cpp.texi
+++ b/gcc/doc/cpp.texi
@@ -2117,6 +2117,15 @@ macro to determine which runtime (NeXT or GNU) is being used.
These macros are defined, with value 1, if (and only if) the compilation
is for a target where @code{long int} and pointer both use 64-bits and
@code{int} uses 32-bit.
+
+@item __SSP__
+This macro is defined, with value 1, when @option{-fstack-protector} is in
+use.
+
+@item __SSP_ALL__
+This macro is defined, with value 2, when @option{-fstack-protector-all} is
+in use.
+
@end table
@node System-specific Predefined Macros
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index dc02b62ae7a..0d2f653ff16 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -1887,7 +1887,7 @@ this attribute to work correctly.
@item interrupt
@cindex interrupt handler functions
-Use this attribute on the ARM, AVR, C4x, M32C, M32R/D and Xstormy16
+Use this attribute on the ARM, AVR, C4x, CRX, M32C, M32R/D, MS1, and Xstormy16
ports to indicate that the specified function is an interrupt handler.
The compiler will generate function entry and exit sequences suitable
for use in an interrupt handler when this attribute is present.
@@ -1942,6 +1942,14 @@ both the @option{-mlongcall} switch and, on the RS/6000 and PowerPC, the
@xref{RS/6000 and PowerPC Options}, for more information on whether long
calls are necessary.
+@item long_call
+@cindex indirect calls on MIPS
+This attribute specifies how a particular function is called on MIPS@.
+The attribute overrides the @option{-mlong-calls} (@pxref{MIPS Options})
+command line switch. This attribute causes the compiler to always call
+the function by first loading its address into a register, and then using
+the contents of that register.
+
@item malloc
@cindex @code{malloc} attribute
The @code{malloc} attribute is used to tell the compiler that a function
@@ -4767,7 +4775,7 @@ returns @code{(size_t) -1} for @var{type} 0 or 1 and @code{(size_t) 0}
for @var{type} 2 or 3. If there are multiple objects @var{ptr} can
point to and all of them are known at compile time, the returned number
is the maximum of remaining byte counts in those objects if @var{type} & 2 is
-0 and minimum if non-zero. If it is not possible to determine which objects
+0 and minimum if nonzero. If it is not possible to determine which objects
@var{ptr} points to at compile time, @code{__builtin_object_size} should
return @code{(size_t) -1} for @var{type} 0 or 1 and @code{(size_t) 0}
for @var{type} 2 or 3.
@@ -4853,7 +4861,7 @@ additional security measures the checking function might take, such as
handling @code{%n} differently.
The @var{os} argument is the object size @var{s} points to, like in the
-other built-in functions. There is a small difference in the behaviour
+other built-in functions. There is a small difference in the behavior
though, if @var{os} is @code{(size_t) -1}, the built-in functions are
optimized into the non-checking functions only if @var{flag} is 0, otherwise
the checking function is called with @var{os} argument set to
diff --git a/gcc/doc/fragments.texi b/gcc/doc/fragments.texi
index 597c85ef407..00dcc76b20a 100644
--- a/gcc/doc/fragments.texi
+++ b/gcc/doc/fragments.texi
@@ -151,6 +151,12 @@ compiler. In that case, set @code{MULTILIB_EXTRA_OPTS} to be the list
of options to be used for all builds. If you set this, you should
probably set @code{CRTSTUFF_T_CFLAGS} to a dash followed by it.
+@findex NATIVE_SYSTEM_HEADER_DIR
+@item NATIVE_SYSTEM_HEADER_DIR
+If the default location for system headers is not @file{/usr/include},
+you must set this to the directory containing the headers. This value
+should match the value of the @code{SYSTEM_INCLUDE_DIR} macro.
+
@findex SPECS
@item SPECS
Unfortunately, setting @code{MULTILIB_EXTRA_OPTS} is not enough, since
diff --git a/gcc/doc/gcov.texi b/gcc/doc/gcov.texi
index d932ab94ae8..d1ad47cf04a 100644
--- a/gcc/doc/gcov.texi
+++ b/gcc/doc/gcov.texi
@@ -570,4 +570,4 @@ setting will name the data file @file{/target/run/build/foo.gcda}.
You must move the data files to the expected directory tree in order to
use them for profile directed optimizations (@option{--use-profile}), or to
-use the the @command{gcov} tool.
+use the @command{gcov} tool.
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index 56888f16330..7112102dc02 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -398,6 +398,8 @@ snapshots of the development sources are also available via FTP@.
Necessary when regenerating @file{Makefile} dependencies in libiberty.
Necessary when regenerating @file{libiberty/functions.texi}.
Necessary when generating manpages from Texinfo manuals.
+Necessary when targetting Darwin, building libstdc++,
+and not using @option{--disable-symvers}.
Used by various scripts to generate some files included in CVS (mainly
Unicode-related and rarely changing) from source tables.
@@ -1149,7 +1151,7 @@ Individual checks can be enabled with these flags @samp{assert},
@samp{rtlflag}, @samp{runtime}, @samp{tree}, and @samp{valgrind}.
The @samp{valgrind} check requires the external @command{valgrind}
-simulator, available from @uref{http://valgrind.kde.org/}. The
+simulator, available from @uref{http://valgrind.org/}. The
@samp{rtl}, @samp{gcac} and @samp{valgrind} checks are very expensive.
To disable all checking, @samp{--disable-checking} or
@samp{--enable-checking=none} must be explicitly requested. Disabling
@@ -2122,7 +2124,7 @@ Development Tools for the Renesas H8/300[HS] Series}.
HP-UX:
@itemize
@item
-@uref{http://hpux.cae.wisc.edu/,,HP-UX Porting Center};
+@uref{http://hpux.cs.utah.edu/,,HP-UX Porting Center};
@item
@uref{ftp://sunsite.informatik.rwth-aachen.de/pub/packages/gcc_hpux/,,Binaries for HP-UX 11.00 at Aachen University of Technology}.
@@ -2137,9 +2139,6 @@ Development Tools for the Motorola 68HC11/68HC12}.
OpenServer/Unixware}.
@item
-Sinix/Reliant Unix---@uref{ftp://ftp.fujitsu-siemens.com/pub/pd/gnu/gcc/,,Siemens}.
-
-@item
Solaris 2 (SPARC, Intel)---@uref{http://www.sunfreeware.com/,,Sunfreeware}.
@item
@@ -2167,11 +2166,15 @@ Solaris/SPARC 2.5.1, 2.6, 7, 8, and 9.
@item
@uref{http://www.openpkg.org/,,OpenPKG} offers binaries for quite a
number of platforms.
+
+@item
+The @uref{http://gcc.gnu.org/wiki/GFortranBinaries,,GFortran Wiki} has
+links to gfortran binaries for several platforms.
@end itemize
In addition to those specific offerings, you can get a binary
distribution CD-ROM from the
-@uref{http://www.fsf.org/order/order.html,,Free Software Foundation}.
+@uref{http://www.gnu.org/order/order.html,,Free Software Foundation}.
It contains binaries for a number of platforms, and
includes not only GCC, but other stuff as well. The current CD does
not contain the latest version of GCC, but it should allow
@@ -2519,7 +2522,7 @@ can also be obtained from:
@itemize @bullet
@item
-@uref{http://www.openavr.org,,http://www.openavr.org}
+@uref{http://www.nongnu.org/avr/,,http://www.nongnu.org/avr/}
@item
@uref{http://home.overta.ru/users/denisc/,,http://home.overta.ru/users/denisc/}
@item
@@ -2623,6 +2626,32 @@ information about this platform is available at
@html
<hr />
@end html
+@heading @anchor{crx}CRX
+
+The CRX CompactRISC architecture is a low-power 32-bit architecture with
+fast context switching and architectural extensibility features.
+
+@ifnothtml
+@xref{CRX Options,, CRX Options, gcc, Using and Porting the GNU Compiler
+Collection (GCC)},
+@end ifnothtml
+
+@ifhtml
+See ``CRX Options'' in the main manual for a list of CRX-specific options.
+@end ifhtml
+
+Use @samp{configure --target=crx-elf --enable-languages=c,c++} to configure
+GCC@ for building a CRX cross-compiler. The option @samp{--target=crx-elf}
+is also used to build the @samp{newlib} C library for CRX.
+
+It is also possible to build libstdc++-v3 for the CRX architecture. This
+needs to be done in a separate step with the following configure settings:
+@samp{gcc/libstdc++-v3/configure --host=crx-elf --with-newlib
+--enable-sjlj-exceptions --enable-cxx-flags='-fexceptions -frtti'}
+
+@html
+<hr />
+@end html
@heading @anchor{dos}DOS
Please have a look at the @uref{binaries.html,,binaries page}.
@@ -3307,10 +3336,10 @@ the use of break, use the @option{--with-divide=breaks}
@command{configure} option when configuring GCC@. The default is to
use traps on systems that support them.
-Cross-compilers for the Mips as target using the Mips assembler
+Cross-compilers for the MIPS as target using the MIPS assembler
currently do not work, because the auxiliary programs
@file{mips-tdump.c} and @file{mips-tfile.c} can't be compiled on
-anything but a Mips. It does work to cross compile for a Mips
+anything but a MIPS. It does work to cross compile for a MIPS
if you use the GNU assembler and linker.
@html
@@ -3443,7 +3472,7 @@ binaries are available at
@uref{http://developer.apple.com/darwin/projects/compiler/} (free
registration required).
-This version of GCC requires at least cctools-528.
+This version of GCC requires at least cctools-590.7.
The version of GCC shipped by Apple typically includes a number of
extensions not available in a standard GCC release. These extensions
@@ -3920,10 +3949,6 @@ GCC does not currently support OS/2. However, Andrew Zabolotny has been
working on a generic OS/2 port with pgcc. The current code can be found
at @uref{http://www.goof.com/pcg/os2/,,http://www.goof.com/pcg/os2/}.
-An older copy of GCC 2.8.1 is included with the EMX tools available at
-@uref{ftp://ftp.leo.org/pub/comp/os/os2/leo/devtools/emx+gcc/,,
-ftp://ftp.leo.org/pub/comp/os/os2/leo/devtools/emx+gcc/}.
-
@html
<hr />
@end html
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index d62d2ddc99e..7bf45914c73 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -238,13 +238,14 @@ Objective-C and Objective-C++ Dialects}.
-Wparentheses -Wpointer-arith -Wno-pointer-to-int-cast @gol
-Wredundant-decls @gol
-Wreturn-type -Wsequence-point -Wshadow @gol
--Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 @gol
+-Wsign-compare -Wstack-protector @gol
+-Wstrict-aliasing -Wstrict-aliasing=2 @gol
-Wswitch -Wswitch-default -Wswitch-enum @gol
-Wsystem-headers -Wtrigraphs -Wundef -Wuninitialized @gol
-Wunknown-pragmas -Wno-pragmas -Wunreachable-code @gol
-Wunused -Wunused-function -Wunused-label -Wunused-parameter @gol
--Wunused-value -Wunused-variable -Wwrite-strings @gol
--Wvariadic-macros}
+-Wunused-value -Wunused-variable -Wvariadic-macros @gol
+-Wwrite-strings}
@item C-only Warning Options
@gccoptlist{-Wbad-function-cast -Wmissing-declarations @gol
@@ -281,7 +282,7 @@ Objective-C and Objective-C++ Dialects}.
-ftree-vectorizer-verbose=@var{n} @gol
-fdump-tree-storeccp@r{[}-@var{n}@r{]} @gol
-feliminate-dwarf2-dups -feliminate-unused-debug-types @gol
--feliminate-unused-debug-symbols -fmem-report -fprofile-arcs -ftree-based-profiling @gol
+-feliminate-unused-debug-symbols -fmem-report -fprofile-arcs @gol
-frandom-seed=@var{string} -fsched-verbose=@var{n} @gol
-ftest-coverage -ftime-report -fvar-tracking @gol
-g -g@var{level} -gcoff -gdwarf-2 @gol
@@ -305,7 +306,8 @@ Objective-C and Objective-C++ Dialects}.
-fforce-addr -ffunction-sections @gol
-fgcse -fgcse-lm -fgcse-sm -fgcse-las -fgcse-after-reload @gol
-floop-optimize -fcrossjumping -fif-conversion -fif-conversion2 @gol
--finline-functions -finline-limit=@var{n} -fkeep-inline-functions @gol
+-finline-functions -finline-functions-called-once @gol
+-finline-limit=@var{n} -fkeep-inline-functions @gol
-fkeep-static-consts -fmerge-constants -fmerge-all-constants @gol
-fmodulo-sched -fno-branch-count-reg @gol
-fno-default-inline -fno-defer-pop -fmove-loop-invariants @gol
@@ -322,10 +324,11 @@ Objective-C and Objective-C++ Dialects}.
-frounding-math -fschedule-insns -fschedule-insns2 @gol
-fno-sched-interblock -fno-sched-spec -fsched-spec-load @gol
-fsched-spec-load-dangerous @gol
--fsched-stalled-insns=@var{n} -sched-stalled-insns-dep=@var{n} @gol
+-fsched-stalled-insns=@var{n} -fsched-stalled-insns-dep=@var{n} @gol
-fsched2-use-superblocks @gol
-fsched2-use-traces -freschedule-modulo-scheduled-loops @gol
--fsignaling-nans -fsingle-precision-constant -fspeculative-prefetching @gol
+-fsignaling-nans -fsingle-precision-constant @gol
+-fstack-protector -fstack-protector-all @gol
-fstrength-reduce -fstrict-aliasing -ftracer -fthread-jumps @gol
-funroll-all-loops -funroll-loops -fpeel-loops @gol
-fsplit-ivs-in-unroller -funswitch-loops @gol
@@ -362,7 +365,7 @@ Objective-C and Objective-C++ Dialects}.
@item Linker Options
@xref{Link Options,,Options for Linking}.
@gccoptlist{@var{object-file-name} -l@var{library} @gol
--nostartfiles -nodefaultlibs -nostdlib -pie @gol
+-nostartfiles -nodefaultlibs -nostdlib -pie -rdynamic @gol
-s -static -static-libgcc -shared -shared-libgcc -symbolic @gol
-Wl,@var{option} -Xlinker @var{option} @gol
-u @var{symbol}}
@@ -431,6 +434,9 @@ Objective-C and Objective-C++ Dialects}.
-melf -maout -melinux -mlinux -sim -sim2 @gol
-mmul-bug-workaround -mno-mul-bug-workaround}
+@emph{CRX Options}
+@gccoptlist{-mmac -mpush-args}
+
@emph{Darwin Options}
@gccoptlist{-all_load -allowable_client -arch -arch_errors_fatal @gol
-arch_only -bind_at_load -bundle -bundle_loader @gol
@@ -482,6 +488,7 @@ Objective-C and Objective-C++ Dialects}.
-mlinked-fp -mlong-calls -malign-labels @gol
-mlibrary-pic -macc-4 -macc-8 @gol
-mpack -mno-pack -mno-eflags -mcond-move -mno-cond-move @gol
+-moptimize-membar -mno-optimize-membar @gol
-mscc -mno-scc -mcond-exec -mno-cond-exec @gol
-mvliw-branch -mno-vliw-branch @gol
-mmulti-cond-exec -mno-multi-cond-exec -mnested-cond-exec @gol
@@ -520,7 +527,7 @@ Objective-C and Objective-C++ Dialects}.
-m96bit-long-double -mregparm=@var{num} -msseregparm @gol
-momit-leaf-frame-pointer -mno-red-zone -mno-tls-direct-seg-refs @gol
-mcmodel=@var{code-model} @gol
--m32 -m64}
+-m32 -m64 -mlarge-data-threshold=@var{num}}
@emph{IA-64 Options}
@gccoptlist{-mbig-endian -mlittle-endian -mgnu-as -mgnu-ld -mno-pic @gol
@@ -604,6 +611,10 @@ Objective-C and Objective-C++ Dialects}.
-mam33-2 -mno-am33-2 @gol
-mno-crt0 -mrelax}
+@emph{MS1 Options}
+@gccoptlist{-mno-crt0 -mmul -mbacc -msim @gol
+-march=@var{cpu-type} }
+
@emph{PDP-11 Options}
@gccoptlist{-mfpu -msoft-float -mac0 -mno-ac0 -m40 -m45 -m10 @gol
-mbcopy -mbcopy-builtin -mint32 -mno-int16 @gol
@@ -856,6 +867,11 @@ preprocessor (not included with GCC)@.
@itemx @var{file}.f95
Fortran 90/95 source code which should not be preprocessed.
+@item @var{file}.F90
+@itemx @var{file}.F95
+Fortran 90/95 source code which must be preprocessed (with the
+traditional preprocessor).
+
@c FIXME: Descriptions of Java file types.
@c @var{file}.java
@c @var{file}.class
@@ -1791,9 +1807,9 @@ but disables the helpful warning.
@item -Wold-style-cast @r{(C++ only)}
@opindex Wold-style-cast
Warn if an old-style (C-style) cast to a non-void type is used within
-a C++ program. The new-style casts (@samp{static_cast},
-@samp{reinterpret_cast}, and @samp{const_cast}) are less vulnerable to
-unintended effects and much easier to search for.
+a C++ program. The new-style casts (@samp{dynamic_cast},
+@samp{static_cast}, @samp{reinterpret_cast}, and @samp{const_cast}) are
+less vulnerable to unintended effects and much easier to search for.
@item -Woverloaded-virtual @r{(C++ only)}
@opindex Woverloaded-virtual
@@ -2726,9 +2742,10 @@ included in @option{-Wall}.
@item -Wstrict-aliasing=2
@opindex Wstrict-aliasing=2
This option is only active when @option{-fstrict-aliasing} is active.
-It warns about all code which might break the strict aliasing rules that the
-compiler is using for optimization. This warning catches all cases, but
-it will also give a warning for some ambiguous cases that are safe.
+It warns about code which might break the strict aliasing rules that the
+compiler is using for optimization. This warning catches more cases than
+@option{-Wstrict-aliasing}, but it will also give a warning for some ambiguous
+cases that are safe.
@item -Wall
@opindex Wall
@@ -3352,6 +3369,11 @@ This option is only supported for C and Objective-C@.
@item -Werror
@opindex Werror
Make all warnings into errors.
+
+@item -Wstack-protector
+This option is only active when @option{-fstack-protector} is active. It
+warns about functions that will not be protected against stack smashing.
+
@end table
@node Debugging Options
@@ -3579,17 +3601,6 @@ 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.
-@item -ftree-based-profiling
-@opindex ftree-based-profiling
-This option is used in addition to @option{-fprofile-arcs} or
-@option{-fbranch-probabilities} to control whether those optimizations
-are performed on a tree-based or rtl-based internal representation.
-If you use this option when compiling with @option{-fprofile-arcs},
-you must also use it when compiling later with @option{-fbranch-probabilities}.
-Currently the tree-based optimization is in an early stage of
-development, and this option is recommended only for those people
-working on improving it.
-
@need 2000
@item -ftest-coverage
@opindex ftest-coverage
@@ -4470,6 +4481,15 @@ assembler code in its own right.
Enabled at level @option{-O3}.
+@item -finline-functions-called-once
+@opindex finline-functions-called-once
+Consider all @code{static} functions called once for inlining into their
+caller even if they are not marked @code{inline}. If a call to a given
+function is integrated, then the function is not output as assembler code
+in its own right.
+
+Enabled if @option{-funit-at-a-time} is enabled.
+
@item -fearly-inlining
@opindex fearly-inlining
Inline functions marked by @code{always_inline} and functions whose body seems
@@ -4948,8 +4968,11 @@ Perform dead code elimination (DCE) on trees. This flag is enabled by
default at @option{-O} and higher.
@item -ftree-dominator-opts
-Perform dead code elimination (DCE) on trees. This flag is enabled by
-default at @option{-O} and higher.
+Perform a variety of simple scalar cleanups (constant/copy
+propagation, redundancy elimination, range propagation and expression
+simplification) based on a dominator tree traversal. This also
+performs jump threading (to reduce jumps to jumps). This flag is
+enabled by default at @option{-O} and higher.
@item -ftree-ch
Perform loop header copying on trees. This is beneficial since it increases
@@ -5322,8 +5345,9 @@ The following options are enabled: @code{-fprofile-arcs}, @code{-fprofile-values
Enable profile feedback directed optimizations, and optimizations
generally profitable only with profile feedback available.
-The following options are enabled: @code{-fbranch-probabilities},
-@code{-fvpt}, @code{-funroll-loops}, @code{-fpeel-loops}, @code{-ftracer}.
+The following options are enabled: @code{-fbranch-probabilities}, @code{-fvpt},
+@code{-funroll-loops}, @code{-fpeel-loops}, @code{-ftracer},
+@code{-fno-loop-optimize}.
@end table
@@ -5520,23 +5544,6 @@ and actually performs the optimizations based on them.
Currently the optimizations include specialization of division operation
using the knowledge about the value of the denominator.
-@item -fspeculative-prefetching
-@opindex fspeculative-prefetching
-If combined with @option{-fprofile-arcs}, it instructs the compiler to add
-a code to gather information about addresses of memory references in the
-program.
-
-With @option{-fbranch-probabilities}, it reads back the data gathered
-and issues prefetch instructions according to them. In addition to the opportunities
-noticed by @option{-fprefetch-loop-arrays}, it also notices more complicated
-memory access patterns---for example accesses to the data stored in linked
-list whose elements are usually allocated sequentially.
-
-In order to prevent issuing double prefetches, usage of
-@option{-fspeculative-prefetching} implies @option{-fno-prefetch-loop-arrays}.
-
-Enabled with @option{-fprofile-generate} and @option{-fprofile-use}.
-
@item -frename-registers
@opindex frename-registers
Attempt to avoid false dependencies in scheduled code by making use
@@ -5639,6 +5646,17 @@ threading.
When performing branch target register load optimization, don't reuse
branch target registers in within any basic block.
+@item -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 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
+Like @option{-fstack-protector} except that all functions are protected.
+
@item --param @var{name}=@var{value}
@opindex param
In some places, GCC uses various constants to control the amount of
@@ -5783,6 +5801,18 @@ happens only when @option{-finline-functions} (included in @option{-O3}) is
enabled and @option{--param max-inline-recursive-depth-auto} is used. The
default value is 450.
+@item min-inline-recursive-probability
+Recursive inlining is profitable only for function having deep recursion
+in average and can hurt for function having little recursion depth by
+increasing the prologue size or complexity of function body to other
+optimizers.
+
+When profile feedback is available (see @option{-fprofile-generate}) the actual
+recursion depth can be guessed from probability that function will recurse via
+given call expression. This parameter limits inlining only to call expression
+whose probability exceeds given threshold (in percents). The default value is
+10.
+
@item inline-call-cost
Specify cost of call instruction relative to simple arithmetics operations
(having cost of 1). Increasing this cost disqualifies inlining of non-leaf
@@ -5979,6 +6009,10 @@ interblock scheduling. The default value is 10.
The maximum number of insns in a region to be considered for
interblock scheduling. The default value is 100.
+@item min-sched-prob
+The minimum probability of reaching a source block for interblock
+speculative scheduling. The default value is 40.
+
@item max-last-value-rtl
The maximum size measured as number of RTLs that can be recorded in an expression
@@ -6002,6 +6036,10 @@ than the number of virtual symbols to be updated, then the incremental
SSA updater switches to a full update for those symbols. The default
ratio is 3.
+@item ssp-buffer-size
+The minimum size of buffers (i.e. arrays) that will receive stack smashing
+protection when @option{-fstack-protection} is used.
+
@end table
@end table
@@ -6183,6 +6221,14 @@ For predictable results, you must also specify the same set of options
that were used to generate code (@option{-fpie}, @option{-fPIE},
or model suboptions) when you specify this option.
+@item -rdynamic
+@opindex rdynamic
+Pass the flag @option{-export-dynamic} to the ELF linker, on targets
+that support it. This instructs the linker to add all symbols, not
+only used ones, to the dynamic symbol table. This option is needed
+for some uses of @code{dlopen} or to allow obtaining backtraces
+from within a program.
+
@item -s
@opindex s
Remove all symbol table and relocation information from the executable.
@@ -6934,14 +6980,16 @@ The argument @var{machine} specifies the target machine for compilation.
The value to use for @var{machine} is the same as was specified as the
machine type when configuring GCC as a cross-compiler. For
example, if a cross-compiler was configured with @samp{configure
-i386v}, meaning to compile for an 80386 running System V, then you
-would specify @option{-b i386v} to run that cross compiler.
+arm-elf}, meaning to compile for an arm processor with elf binaries,
+then you would specify @option{-b arm-elf} to run that cross compiler.
+Because there are other options beginning with @option{-b}, the
+configuration must contain a hyphen.
@item -V @var{version}
@opindex V
The argument @var{version} specifies which version of GCC to run.
This is useful when multiple versions are installed. For example,
-@var{version} might be @samp{2.0}, meaning to run GCC version 2.0.
+@var{version} might be @samp{4.0}, meaning to run GCC version 4.0.
@end table
The @option{-V} and @option{-b} options work by running the
@@ -6980,6 +7028,7 @@ platform.
* AVR Options::
* Blackfin Options::
* CRIS Options::
+* CRX Options::
* Darwin Options::
* DEC Alpha Options::
* DEC Alpha/VMS Options::
@@ -6996,6 +7045,7 @@ platform.
* MIPS Options::
* MMIX Options::
* MN10300 Options::
+* MS1 Options::
* PDP-11 Options::
* PowerPC Options::
* RS/6000 and PowerPC Options::
@@ -7651,6 +7701,24 @@ Like @option{-sim}, but pass linker options to locate initialized data at
0x40000000 and zero-initialized data at 0x80000000.
@end table
+@node CRX Options
+@subsection CRX Options
+@cindex CRX Options
+
+These options are defined specifically for the CRX ports.
+
+@table @gcctabopt
+
+@item -mmac
+@opindex mmac
+Enable the use of multiply-accumulate instructions. Disabled by default.
+
+@item -mpush-args
+@opindex mpush-args
+Push instructions will be used to pass outgoing arguments when functions
+are called. Enabled by default.
+@end table
+
@node Darwin Options
@subsection Darwin Options
@cindex Darwin options
@@ -8520,6 +8588,18 @@ Disable nested conditional execution optimizations.
This switch is mainly for debugging the compiler and will likely be removed
in a future version.
+@item -moptimize-membar
+@opindex moptimize-membar
+
+This switch removes redundant @code{membar} instructions from the
+compiler generated code. It is enabled by default.
+
+@item -mno-optimize-membar
+@opindex mno-optimize-membar
+
+This switch disables the automatic removal of redundant @code{membar}
+instructions from the generated code.
+
@item -mtomcat-stats
@opindex mtomcat-stats
@@ -8709,7 +8789,8 @@ have any affect on which ld is called, it only changes what parameters
are passed to that ld. The ld that is called is determined by the
@option{--with-ld} configure option, GCC's program search path, and
finally by the user's @env{PATH}. The linker used by GCC can be printed
-using @samp{which `gcc -print-prog-name=ld`}.
+using @samp{which `gcc -print-prog-name=ld`}. This option is only available
+on the 64 bit HP-UX GCC, i.e. configured with @samp{hppa*64*-*-hpux*}.
@item -mhp-ld
@opindex hp-ld
@@ -8721,7 +8802,8 @@ which ld is called, it only changes what parameters are passed to that
ld. The ld that is called is determined by the @option{--with-ld}
configure option, GCC's program search path, and finally by the user's
@env{PATH}. The linker used by GCC can be printed using @samp{which
-`gcc -print-prog-name=ld`}.
+`gcc -print-prog-name=ld`}. This option is only available on the 64 bit
+HP-UX GCC, i.e. configured with @samp{hppa*64*-*-hpux*}.
@item -mlong-calls
@opindex mno-long-calls
@@ -9033,6 +9115,11 @@ their size as well as function calling convention for function taking
@code{long double} will be modified. Hence they will not be binary
compatible with arrays or structures in code compiled without that switch.
+@item -mmlarge-data-threshold=@var{number}
+@opindex mlarge-data-threshold=@var{number}
+When @option{-mcmodel=medium} is specified, the data greater than
+@var{threshold} are placed in large data section. This value must be the
+same across all object linked into the binary and defaults to 65535.
@item -msvr3-shlib
@itemx -mno-svr3-shlib
@@ -9904,13 +9991,17 @@ The ISA names are:
@samp{mips1}, @samp{mips2}, @samp{mips3}, @samp{mips4},
@samp{mips32}, @samp{mips32r2}, and @samp{mips64}.
The processor names are:
-@samp{4kc}, @samp{4kp}, @samp{5kc}, @samp{20kc},
+@samp{4kc}, @samp{4km}, @samp{4kp},
+@samp{5kc}, @samp{5kf},
+@samp{20kc},
+@samp{24k}, @samp{24kc}, @samp{24kf}, @samp{24kx},
@samp{m4k},
-@samp{r2000}, @samp{r3000}, @samp{r3900}, @samp{r4000}, @samp{r4400},
-@samp{r4600}, @samp{r4650}, @samp{r6000}, @samp{r8000}, @samp{rm7000},
-@samp{rm9000},
@samp{orion},
+@samp{r2000}, @samp{r3000}, @samp{r3900}, @samp{r4000}, @samp{r4400},
+@samp{r4600}, @samp{r4650}, @samp{r6000}, @samp{r8000},
+@samp{rm7000}, @samp{rm9000},
@samp{sb1},
+@samp{sr71000},
@samp{vr4100}, @samp{vr4111}, @samp{vr4120}, @samp{vr4130}, @samp{vr4300},
@samp{vr5000}, @samp{vr5400} and @samp{vr5500}.
The special value @samp{from-abi} selects the
@@ -10471,6 +10562,52 @@ has an effect when used on the command line for the final link step.
This option makes symbolic debugging impossible.
@end table
+@node MS1 Options
+@subsection MS1 Options
+@cindex MS1 options
+
+These @option{-m} options are defined for Morpho MS1 architectures:
+
+@table @gcctabopt
+
+@item -march=@var{cpu-type}
+@opindex march
+Generate code that will run on @var{cpu-type}, which is the name of a system
+representing a certain processor type. Possible values for
+@var{cpu-type} are @samp{MS1-64-001}, @samp{MS1-16-002}, and
+@samp{MS1-16-003}.
+
+When this option is not used, the default is @option{-march=MS1-16-003}.
+
+@item -mmul
+@opindex mmul
+Generate multiply instructions.
+
+@item -mno-mul
+@opindex mno-mul
+Do not generate multiply instructions.
+
+@item -mbacc
+@opindex mbacc
+Use byte loads and stores when generating code.
+
+@item -mno-bacc
+@opindex mno-bacc
+Do not use byte loads and stores when generating code.
+
+@item -msim
+@opindex msim
+Use simulator runtime
+
+@item -mno-crt0
+@opindex mno-crt0
+Do not link in the C run-time initialization object file
+@file{crti.o}. Other run-time initialisation and termination files
+such as @file{startup.o} and @file{exit.o} are still included on the
+linker command line.
+
+@end table
+
@node PDP-11 Options
@subsection PDP-11 Options
@cindex PDP-11 Options
@@ -13110,9 +13247,9 @@ which options are safe to change and which are not; the safest choice
is to use exactly the same options when generating and using the
precompiled header. The following are known to be safe:
-@gccoptlist{-fpreprocessed
+@gccoptlist{-fmessage-length= -fpreprocessed
-fsched-interblock -fsched-spec -fsched-spec-load -fsched-spec-load-dangerous
--fsched-verbose=<number> -fschedule-insns
+-fsched-verbose=<number> -fschedule-insns -fvisibility=
-pedantic-errors}
@end itemize
diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi
index 682269b0d16..38c311debad 100644
--- a/gcc/doc/md.texi
+++ b/gcc/doc/md.texi
@@ -1672,7 +1672,6 @@ An item in the constant pool
@item S
A symbol in the text segment of the current file
-@end table
@item Uv
A memory reference suitable for VFP load/store insns (reg+constant offset)
@@ -1682,6 +1681,7 @@ A memory reference suitable for iWMMXt load/store instructions.
@item Uq
A memory reference suitable for the ARMv4 ldrsb instruction.
+@end table
@item AVR family---@file{avr.h}
@table @code
@@ -1746,6 +1746,37 @@ Constant integer 1
A floating point constant 0.0
@end table
+@item CRX Architecture---@file{crx.h}
+@table @code
+
+@item b
+Registers from r0 to r14 (registers without stack pointer)
+
+@item l
+Register r16 (64-bit accumulator lo register)
+
+@item h
+Register r17 (64-bit accumulator hi register)
+
+@item k
+Register pair r16-r17. (64-bit accumulator lo-hi pair)
+
+@item I
+Constant that fits in 3 bits
+
+@item J
+Constant that fits in 4 bits
+
+@item K
+Constant that fits in 5 bits
+
+@item L
+Constant that is one of -1, 4, -4, 7, 8, 12, 16, 20, 32, 48
+
+@item G
+Floating point constant that is legal for store immediate
+@end table
+
@item PowerPC and IBM RS6000---@file{rs6000.h}
@table @code
@item b
@@ -1824,6 +1855,35 @@ Constant suitable as a 32-bit mask operand
System V Release 4 small data area reference
@end table
+@item MorphoRISC family---@file{ms1.h}
+@table @code
+@item I
+Constant for an arithmetic insn (16-bit signed integer).
+
+@item J
+The constant 0.
+
+@item K
+Constant for a logical insn (16-bit zero-extended integer).
+
+@item L
+A constant that can be loaded with @code{lui} (i.e.@: the bottom 16
+bits are zero).
+
+@item M
+A constant that takes two words to load (i.e.@: not matched by
+@code{I}, @code{K}, or @code{L}).
+
+@item N
+Negative 16-bit constants other than -65536.
+
+@item O
+A 15-bit signed integer constant.
+
+@item P
+A positive 16-bit constant.
+@end table
+
@item Intel 386---@file{i386.h}
@table @code
@item q
@@ -3008,6 +3068,43 @@ Signed minimum and maximum operations. When used with floating point,
if both operands are zeros, or if either operand is @code{NaN}, then
it is unspecified which of the two operands is returned as the result.
+@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 scalar result is stored in the least significant bits of
+operand 0 (also a vector). The output and input vector should have the same
+modes.
+
+@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 scalar result is stored in the least significant bits of
+operand 0 (also a vector). The output and input vector should have the same
+modes.
+
+@cindex @code{reduc_splus_@var{m}} instruction pattern
+@item @samp{reduc_splus_@var{m}}
+Compute the sum of the signed elements of a vector. The vector is opernad 1,
+and the scalar result is stored in the least significant bits of opernad 0
+(also a vector). The output and input vector should have the same modes.
+
+@cindex @code{reduc_uplus_@var{m}} instruction pattern
+@item @samp{reduc_uplus_@var{m}}
+Compute the sum of the unsigned elements of a vector. The vector is opernad 1,
+and the scalar result is stored in the least significant bits of opernad 0
+(also a vector). The output and input vector should have the same modes.
+
+@cindex @code{vec_shl_@var{m}} instruction pattern
+@cindex @code{vec_shr_@var{m}} instruction pattern
+@item @samp{vec_shl_@var{m}}, @samp{vec_shr_@var{m}}
+Whole vector left/right shift in bits.
+Operand 1 is a vector to be shifted.
+Operand 2 is an integer shift amount in bits.
+Operand 0 is where the resulting shifted vector is stored.
+The output and input vectors should have the same modes.
+
@cindex @code{mulhisi3} instruction pattern
@item @samp{mulhisi3}
Multiply operands 1 and 2, which have mode @code{HImode}, and store
diff --git a/gcc/doc/rtl.texi b/gcc/doc/rtl.texi
index 72853a6a556..ea4ded7aa83 100644
--- a/gcc/doc/rtl.texi
+++ b/gcc/doc/rtl.texi
@@ -138,7 +138,7 @@ wanted. The written form of this is @code{(nil)}.
The various expression codes are divided into several @dfn{classes},
which are represented by single characters. You can determine the class
of an RTX code with the macro @code{GET_RTX_CLASS (@var{code})}.
-Currently, @file{rtx.def} defines these classes:
+Currently, @file{rtl.def} defines these classes:
@table @code
@item RTX_OBJ
@@ -1505,7 +1505,7 @@ value of @code{FIRST_PARM_OFFSET}.
@findex VIRTUAL_STACK_VARS_REGNUM
@cindex @code{FRAME_GROWS_DOWNWARD} and virtual registers
@item VIRTUAL_STACK_VARS_REGNUM
-If @code{FRAME_GROWS_DOWNWARD} is defined to a non-zero value, this points
+If @code{FRAME_GROWS_DOWNWARD} is defined to a nonzero value, this points
to immediately above the first variable on the stack. Otherwise, it points
to the first variable on the stack.
@@ -3105,7 +3105,7 @@ becomes another virtual start of the loop when considering loop
invariants.
@findex NOTE_INSN_FUNCTION_BEG
-@item NOTE_INSN_FUNCTION_END
+@item NOTE_INSN_FUNCTION_BEG
Appears at the start of the function body, after the function
prologue.
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index a6703b19c8e..16b48ff87a4 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -2753,7 +2753,7 @@ which is often wrong.
@end defmac
@defmac FRAME_GROWS_DOWNWARD
-Define this macro to non-zero value if the addresses of local variable slots
+Define this macro to nonzero value if the addresses of local variable slots
are at negative offsets from the frame pointer.
@end defmac
@@ -2812,14 +2812,11 @@ machines. See @file{function.c} for details.
@defmac INITIAL_FRAME_ADDRESS_RTX
A C expression whose value is RTL representing the address of the initial
- stack frame. This address is passed to @code{RETURN_ADDR_RTX} and
-@code{DYNAMIC_CHAIN_ADDRESS}.
-If you don't define this macro, the default is to return
-@code{hard_frame_pointer_rtx}.
-This default is usually correct unless @code{-fomit-frame-pointer} is in
-effect.
-Define this macro in order to make @code{__builtin_frame_address (0)} and
-@code{__builtin_return_address (0)} work even in absence of a hard frame pointer.
+stack frame. This address is passed to @code{RETURN_ADDR_RTX} and
+@code{DYNAMIC_CHAIN_ADDRESS}. If you don't define this macro, a reasonable
+default value will be used. Define this macro in order to make frame pointer
+elimination work in the presence of @code{__builtin_frame_address (count)} and
+@code{__builtin_return_address (count)} for @code{count} not equal to zero.
@end defmac
@defmac DYNAMIC_CHAIN_ADDRESS (@var{frameaddr})
@@ -6576,7 +6573,7 @@ definition of this macro is provided which is correct for most systems.
@findex assemble_name_raw
@defmac ASM_OUTPUT_INTERNAL_LABEL (@var{stream}, @var{name})
-Identical to @code{ASM_OUTPUT_lABEL}, except that @var{name} is known
+Identical to @code{ASM_OUTPUT_LABEL}, except that @var{name} is known
to refer to a compiler-generated label. The default definition uses
@code{assemble_name_raw}, which is like @code{assemble_name} except
that it is more efficient.
@@ -8955,7 +8952,7 @@ this macro.
@end defmac
@defmac VECTOR_STORE_FLAG_VALUE (@var{mode})
-A C expression that gives a rtx representing the non-zero true element
+A C expression that gives a rtx representing the nonzero true element
for vector comparisons. The returned rtx should be valid for the inner
mode of @var{mode} which is guaranteed to be a vector mode. Define
this macro on machines that have vector comparison operations that
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 970cbb5a82d..a0277b2fd3c 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -3982,7 +3982,7 @@ static dw_loc_descr_ref int_loc_descriptor (HOST_WIDE_INT);
static dw_loc_descr_ref based_loc_descr (unsigned, HOST_WIDE_INT, bool);
static int is_based_loc (rtx);
static dw_loc_descr_ref mem_loc_descriptor (rtx, enum machine_mode mode, bool);
-static dw_loc_descr_ref concat_loc_descriptor (rtx, rtx);
+static dw_loc_descr_ref concat_loc_descriptor (rtx, rtx, bool);
static dw_loc_descr_ref loc_descriptor (rtx, bool);
static dw_loc_descr_ref loc_descriptor_from_tree_1 (tree, int);
static dw_loc_descr_ref loc_descriptor_from_tree (tree);
@@ -8014,7 +8014,7 @@ base_type_die (tree type)
that contain spaces; other names might occur by coincidence in other
languages. */
if (! (TYPE_PRECISION (type) == CHAR_TYPE_SIZE
- && (type == char_type_node
+ && (TYPE_MAIN_VARIANT (type) == char_type_node
|| ! strcmp (type_name, "signed char")
|| ! strcmp (type_name, "unsigned char"))))
{
@@ -8640,7 +8640,7 @@ mem_loc_descriptor (rtx rtl, enum machine_mode mode, bool can_use_fbreg)
up an entire register. For now, just assume that it is
legitimate to make the Dwarf info refer to the whole register which
contains the given subreg. */
- rtl = SUBREG_REG (rtl);
+ rtl = XEXP (rtl, 0);
/* ... fall through ... */
@@ -8806,11 +8806,11 @@ mem_loc_descriptor (rtx rtl, enum machine_mode mode, bool can_use_fbreg)
This is typically a complex variable. */
static dw_loc_descr_ref
-concat_loc_descriptor (rtx x0, rtx x1)
+concat_loc_descriptor (rtx x0, rtx x1, bool can_use_fbreg)
{
dw_loc_descr_ref cc_loc_result = NULL;
- dw_loc_descr_ref x0_ref = loc_descriptor (x0, false);
- dw_loc_descr_ref x1_ref = loc_descriptor (x1, false);
+ dw_loc_descr_ref x0_ref = loc_descriptor (x0, can_use_fbreg);
+ dw_loc_descr_ref x1_ref = loc_descriptor (x1, can_use_fbreg);
if (x0_ref == 0 || x1_ref == 0)
return 0;
@@ -8824,6 +8824,29 @@ concat_loc_descriptor (rtx x0, rtx x1)
return cc_loc_result;
}
+/* Return true if DECL's containing function has a frame base attribute.
+ Return false otherwise. */
+
+static bool
+containing_function_has_frame_base (tree decl)
+{
+ tree declcontext = decl_function_context (decl);
+ dw_die_ref context;
+ dw_attr_ref attr;
+
+ if (!declcontext)
+ return false;
+
+ context = lookup_decl_die (declcontext);
+ if (!context)
+ return false;
+
+ for (attr = context->die_attr; attr; attr = attr->dw_attr_next)
+ if (attr->dw_attr == DW_AT_frame_base)
+ return true;
+ return false;
+}
+
/* Output a proper Dwarf location descriptor for a variable or parameter
which is either allocated in a register or in a memory location. For a
register, we just generate an OP_REG and the register number. For a
@@ -8859,7 +8882,8 @@ loc_descriptor (rtx rtl, bool can_use_fbreg)
break;
case CONCAT:
- loc_result = concat_loc_descriptor (XEXP (rtl, 0), XEXP (rtl, 1));
+ loc_result = concat_loc_descriptor (XEXP (rtl, 0), XEXP (rtl, 1),
+ can_use_fbreg);
break;
case VAR_LOCATION:
@@ -9019,10 +9043,11 @@ loc_descriptor_from_tree_1 (tree loc, int want_address)
else
{
enum machine_mode mode;
+ bool can_use_fb = containing_function_has_frame_base (loc);
/* Certain constructs can only be represented at top-level. */
if (want_address == 2)
- return loc_descriptor (rtl, false);
+ return loc_descriptor (rtl, can_use_fb);
mode = GET_MODE (rtl);
if (MEM_P (rtl))
@@ -9030,7 +9055,7 @@ loc_descriptor_from_tree_1 (tree loc, int want_address)
rtl = XEXP (rtl, 0);
have_address = 1;
}
- ret = mem_loc_descriptor (rtl, mode, false);
+ ret = mem_loc_descriptor (rtl, mode, can_use_fb);
}
}
break;
@@ -9104,12 +9129,14 @@ loc_descriptor_from_tree_1 (tree loc, int want_address)
/* Get an RTL for this, if something has been emitted. */
rtx rtl = lookup_constant_def (loc);
enum machine_mode mode;
+ bool can_use_fb;
if (!rtl || !MEM_P (rtl))
return 0;
+ can_use_fb = containing_function_has_frame_base (loc);
mode = GET_MODE (rtl);
rtl = XEXP (rtl, 0);
- ret = mem_loc_descriptor (rtl, mode, false);
+ ret = mem_loc_descriptor (rtl, mode, can_use_fb);
have_address = 1;
break;
}
@@ -10073,29 +10100,6 @@ rtl_for_decl_location (tree decl)
return rtl;
}
-/* Return true if DECL's containing function has a frame base attribute.
- Return false otherwise. */
-
-static bool
-containing_function_has_frame_base (tree decl)
-{
- tree declcontext = decl_function_context (decl);
- dw_die_ref context;
- dw_attr_ref attr;
-
- if (!declcontext)
- return false;
-
- context = lookup_decl_die (declcontext);
- if (!context)
- return false;
-
- for (attr = context->die_attr; attr; attr = attr->dw_attr_next)
- if (attr->dw_attr == DW_AT_frame_base)
- return true;
- return false;
-}
-
/* Generate *either* a DW_AT_location attribute or else a DW_AT_const_value
data attribute for a variable or a parameter. We generate the
DW_AT_const_value attribute only in those cases where the given variable
@@ -10231,16 +10235,7 @@ add_location_or_const_value_attribute (dw_die_ref die, tree decl,
return;
}
- /* We couldn't get any rtl, and we had no >1 element location list, so try
- directly generating the location description from the tree. */
- descr = loc_descriptor_from_tree (decl);
- if (descr)
- {
- add_AT_location_description (die, attr, descr);
- return;
- }
-
- /* Lastly, if we have tried to generate the location otherwise, and it
+ /* If we have tried to generate the location otherwise, and it
didn't work out (we wouldn't be here if we did), and we have a one entry
location list, try generating a location from that. */
if (loc_list && loc_list->first)
@@ -10249,7 +10244,19 @@ add_location_or_const_value_attribute (dw_die_ref die, tree decl,
descr = loc_descriptor (NOTE_VAR_LOCATION (node->var_loc_note),
can_use_fb);
if (descr)
- add_AT_location_description (die, attr, descr);
+ {
+ add_AT_location_description (die, attr, descr);
+ return;
+ }
+ }
+
+ /* We couldn't get any rtl, so try directly generating the location
+ description from the tree. */
+ descr = loc_descriptor_from_tree (decl);
+ if (descr)
+ {
+ add_AT_location_description (die, attr, descr);
+ return;
}
}
@@ -13078,7 +13085,7 @@ dwarf2out_decl (tree decl)
declarations. We have to check DECL_INITIAL instead. That's because
the C front-end supports some weird semantics for "extern inline"
function definitions. These can get inlined within the current
- translation unit (an thus, we need to generate Dwarf info for their
+ translation unit (and thus, we need to generate Dwarf info for their
abstract instances so that the Dwarf info for the concrete inlined
instances can have something to refer to) but the compiler never
generates any out-of-lines instances of such things (despite the fact
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index ba3ae57dcba..d9e253e3ce2 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -426,7 +426,7 @@ const_double_from_real_value (REAL_VALUE_TYPE value, enum machine_mode mode)
rtx real = rtx_alloc (CONST_DOUBLE);
PUT_MODE (real, mode);
- memcpy (&CONST_DOUBLE_LOW (real), &value, sizeof (REAL_VALUE_TYPE));
+ real->u.rv = value;
return lookup_const_double (real);
}
@@ -1469,7 +1469,6 @@ set_mem_attributes_minus_bitpos (rtx ref, tree t, int objectp,
MEM_VOLATILE_P (ref) |= TYPE_VOLATILE (type);
MEM_IN_STRUCT_P (ref) = AGGREGATE_TYPE_P (type);
MEM_POINTER (ref) = POINTER_TYPE_P (type);
- MEM_NOTRAP_P (ref) = TREE_THIS_NOTRAP (t);
/* If we are making an object of this type, or if this is a DECL, we know
that it is a scalar if the type is not an aggregate. */
@@ -1500,16 +1499,7 @@ set_mem_attributes_minus_bitpos (rtx ref, tree t, int objectp,
the expression. */
if (! TYPE_P (t))
{
- tree base = get_base_address (t);
- if (base && DECL_P (base)
- && TREE_READONLY (base)
- && (TREE_STATIC (base) || DECL_EXTERNAL (base)))
- {
- tree base_type = TREE_TYPE (base);
- gcc_assert (!(base_type && TYPE_NEEDS_CONSTRUCTING (base_type))
- || DECL_ARTIFICIAL (base));
- MEM_READONLY_P (ref) = 1;
- }
+ tree base;
if (TREE_THIS_VOLATILE (t))
MEM_VOLATILE_P (ref) = 1;
@@ -1522,6 +1512,36 @@ set_mem_attributes_minus_bitpos (rtx ref, tree t, int objectp,
|| TREE_CODE (t) == SAVE_EXPR)
t = TREE_OPERAND (t, 0);
+ /* We may look through structure-like accesses for the purposes of
+ examining TREE_THIS_NOTRAP, but not array-like accesses. */
+ base = t;
+ while (TREE_CODE (base) == COMPONENT_REF
+ || TREE_CODE (base) == REALPART_EXPR
+ || TREE_CODE (base) == IMAGPART_EXPR
+ || TREE_CODE (base) == BIT_FIELD_REF)
+ base = TREE_OPERAND (base, 0);
+
+ if (DECL_P (base))
+ {
+ if (CODE_CONTAINS_STRUCT (TREE_CODE (base), TS_DECL_WITH_VIS))
+ MEM_NOTRAP_P (ref) = !DECL_WEAK (base);
+ else
+ MEM_NOTRAP_P (ref) = 1;
+ }
+ else
+ MEM_NOTRAP_P (ref) = TREE_THIS_NOTRAP (base);
+
+ base = get_base_address (base);
+ if (base && DECL_P (base)
+ && TREE_READONLY (base)
+ && (TREE_STATIC (base) || DECL_EXTERNAL (base)))
+ {
+ tree base_type = TREE_TYPE (base);
+ gcc_assert (!(base_type && TYPE_NEEDS_CONSTRUCTING (base_type))
+ || DECL_ARTIFICIAL (base));
+ MEM_READONLY_P (ref) = 1;
+ }
+
/* If this expression uses it's parent's alias set, mark it such
that we won't change it. */
if (component_uses_parent_alias_set (t))
@@ -2139,7 +2159,7 @@ unshare_all_rtl (void)
struct tree_opt_pass pass_unshare_all_rtl =
{
- NULL, /* name */
+ "unshare", /* name */
NULL, /* gate */
unshare_all_rtl, /* execute */
NULL, /* sub */
@@ -2150,7 +2170,7 @@ struct tree_opt_pass pass_unshare_all_rtl =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- 0, /* todo_flags_finish */
+ TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};
@@ -3727,7 +3747,7 @@ remove_unnecessary_notes (void)
struct tree_opt_pass pass_remove_unnecessary_notes =
{
- NULL, /* name */
+ "eunotes", /* name */
NULL, /* gate */
remove_unnecessary_notes, /* execute */
NULL, /* sub */
@@ -3738,7 +3758,7 @@ struct tree_opt_pass pass_remove_unnecessary_notes =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- 0, /* todo_flags_finish */
+ TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};
diff --git a/gcc/except.c b/gcc/except.c
index 4578ae903d8..df91a1b2b18 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -3241,7 +3241,7 @@ convert_to_eh_region_ranges (void)
struct tree_opt_pass pass_convert_to_eh_region_ranges =
{
- NULL, /* name */
+ "eh-ranges", /* name */
NULL, /* gate */
convert_to_eh_region_ranges, /* execute */
NULL, /* sub */
@@ -3252,7 +3252,7 @@ struct tree_opt_pass pass_convert_to_eh_region_ranges =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- 0, /* todo_flags_finish */
+ TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};
diff --git a/gcc/explow.c b/gcc/explow.c
index 23b124fbbb5..eea0e562289 100644
--- a/gcc/explow.c
+++ b/gcc/explow.c
@@ -477,16 +477,10 @@ memory_address (enum machine_mode mode, rtx x)
win2:
x = oldx;
win:
- if (flag_force_addr && ! cse_not_expected && !REG_P (x)
- /* Don't copy an addr via a reg if it is one of our stack slots. */
- && ! (GET_CODE (x) == PLUS
- && (XEXP (x, 0) == virtual_stack_vars_rtx
- || XEXP (x, 0) == virtual_incoming_args_rtx)))
+ if (flag_force_addr && ! cse_not_expected && !REG_P (x))
{
- if (general_operand (x, Pmode))
- x = force_reg (Pmode, x);
- else
- x = force_operand (x, NULL_RTX);
+ x = force_operand (x, NULL_RTX);
+ x = force_reg (Pmode, x);
}
}
diff --git a/gcc/expr.c b/gcc/expr.c
index c263ebf95e8..e5f5c3d05c1 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -2669,9 +2669,12 @@ write_complex_part (rtx cplx, rtx val, bool imag_p)
adjust_address_nv. Instead of preparing fallback support for an
invalid address, we call adjust_address_nv directly. */
if (MEM_P (cplx))
- emit_move_insn (adjust_address_nv (cplx, imode,
- imag_p ? GET_MODE_SIZE (imode) : 0),
- val);
+ {
+ emit_move_insn (adjust_address_nv (cplx, imode,
+ imag_p ? GET_MODE_SIZE (imode) : 0),
+ val);
+ return;
+ }
/* If the sub-object is at least word sized, then we know that subregging
will work. This special case is important, since store_bit_field
@@ -3612,7 +3615,7 @@ emit_push_insn (rtx x, enum machine_mode mode, tree type, rtx size,
offset = 0;
/* Now NOT_STACK gets the number of words that we don't need to
- allocate on the stack. Convert OFFSET to words too. */
+ allocate on the stack. Convert OFFSET to words too. */
not_stack = (partial - offset) / UNITS_PER_WORD;
offset /= UNITS_PER_WORD;
@@ -4501,7 +4504,7 @@ categorize_ctor_elements_1 (tree ctor, HOST_WIDE_INT *p_nz_elts,
/* And now we have to find out if the element itself is fully
constructed. E.g. for union { struct { int a, b; } s; } u
= { .s = { .a = 1 } }. */
- if (elt_count == count_type_elements (init_sub_type))
+ if (elt_count == count_type_elements (init_sub_type, false))
clear_this = false;
}
}
@@ -4529,10 +4532,11 @@ categorize_ctor_elements (tree ctor, HOST_WIDE_INT *p_nz_elts,
}
/* Count the number of scalars in TYPE. Return -1 on overflow or
- variable-sized. */
+ variable-sized. If ALLOW_FLEXARR is true, don't count flexible
+ array member at the end of the structure. */
HOST_WIDE_INT
-count_type_elements (tree type)
+count_type_elements (tree type, bool allow_flexarr)
{
const HOST_WIDE_INT max = ~((HOST_WIDE_INT)1 << (HOST_BITS_PER_WIDE_INT-1));
switch (TREE_CODE (type))
@@ -4543,7 +4547,7 @@ count_type_elements (tree type)
if (telts && host_integerp (telts, 1))
{
HOST_WIDE_INT n = tree_low_cst (telts, 1) + 1;
- HOST_WIDE_INT m = count_type_elements (TREE_TYPE (type));
+ HOST_WIDE_INT m = count_type_elements (TREE_TYPE (type), false);
if (n == 0)
return 0;
else if (max / n > m)
@@ -4560,9 +4564,23 @@ count_type_elements (tree type)
for (f = TYPE_FIELDS (type); f ; f = TREE_CHAIN (f))
if (TREE_CODE (f) == FIELD_DECL)
{
- t = count_type_elements (TREE_TYPE (f));
+ t = count_type_elements (TREE_TYPE (f), false);
if (t < 0)
- return -1;
+ {
+ /* Check for structures with flexible array member. */
+ tree tf = TREE_TYPE (f);
+ if (allow_flexarr
+ && TREE_CHAIN (f) == NULL
+ && TREE_CODE (tf) == ARRAY_TYPE
+ && TYPE_DOMAIN (tf)
+ && TYPE_MIN_VALUE (TYPE_DOMAIN (tf))
+ && integer_zerop (TYPE_MIN_VALUE (TYPE_DOMAIN (tf)))
+ && !TYPE_MAX_VALUE (TYPE_DOMAIN (tf))
+ && int_size_in_bytes (type) >= 0)
+ break;
+
+ return -1;
+ }
n += t;
}
@@ -4620,13 +4638,31 @@ mostly_zeros_p (tree exp)
if (must_clear)
return 1;
- elts = count_type_elements (TREE_TYPE (exp));
+ elts = count_type_elements (TREE_TYPE (exp), false);
return nz_elts < elts / 4;
}
return initializer_zerop (exp);
}
+
+/* Return 1 if EXP contains all zeros. */
+
+static int
+all_zeros_p (tree exp)
+{
+ if (TREE_CODE (exp) == CONSTRUCTOR)
+
+ {
+ HOST_WIDE_INT nz_elts, nc_elts, count;
+ bool must_clear;
+
+ categorize_ctor_elements (exp, &nz_elts, &nc_elts, &count, &must_clear);
+ return nz_elts == 0;
+ }
+
+ return initializer_zerop (exp);
+}
/* Helper function for store_constructor.
TARGET, BITSIZE, BITPOS, MODE, EXP are as for store_field.
@@ -6578,18 +6614,6 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode,
target = 0;
}
- /* If will do cse, generate all results into pseudo registers
- since 1) that allows cse to find more things
- and 2) otherwise cse could produce an insn the machine
- cannot support. An exception is a CONSTRUCTOR into a multi-word
- MEM: that's much more likely to be most efficient into the MEM.
- Another is a CALL_EXPR which must return in memory. */
-
- if (! cse_not_expected && mode != BLKmode && target
- && (!REG_P (target) || REGNO (target) < FIRST_PSEUDO_REGISTER)
- && ! (code == CONSTRUCTOR && GET_MODE_SIZE (mode) > UNITS_PER_WORD)
- && ! (code == CALL_EXPR && aggregate_value_p (exp, exp)))
- target = 0;
switch (code)
{
@@ -6837,6 +6861,19 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode,
return const0_rtx;
}
+ /* Try to avoid creating a temporary at all. This is possible
+ if all of the initializer is zero.
+ FIXME: try to handle all [0..255] initializers we can handle
+ with memset. */
+ else if (TREE_STATIC (exp)
+ && !TREE_ADDRESSABLE (exp)
+ && target != 0 && mode == BLKmode
+ && all_zeros_p (exp))
+ {
+ clear_storage (target, expr_size (exp), BLOCK_OP_NORMAL);
+ return target;
+ }
+
/* All elts simple constants => refer to a constant in memory. But
if this is a non-BLKmode mode, let it store a field at a time
since that should make a CONST_INT or CONST_DOUBLE when we
@@ -7499,18 +7536,27 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode,
case VIEW_CONVERT_EXPR:
op0 = expand_expr (TREE_OPERAND (exp, 0), NULL_RTX, mode, modifier);
- /* If the input and output modes are both the same, we are done.
- Otherwise, if neither mode is BLKmode and both are integral and within
- a word, we can use gen_lowpart. If neither is true, make sure the
- operand is in memory and convert the MEM to the new mode. */
+ /* If the input and output modes are both the same, we are done. */
if (TYPE_MODE (type) == GET_MODE (op0))
;
+ /* If neither mode is BLKmode, and both modes are the same size
+ then we can use gen_lowpart. */
else if (TYPE_MODE (type) != BLKmode && GET_MODE (op0) != BLKmode
- && GET_MODE_CLASS (GET_MODE (op0)) == MODE_INT
- && GET_MODE_CLASS (TYPE_MODE (type)) == MODE_INT
- && GET_MODE_SIZE (TYPE_MODE (type)) <= UNITS_PER_WORD
- && GET_MODE_SIZE (GET_MODE (op0)) <= UNITS_PER_WORD)
- op0 = gen_lowpart (TYPE_MODE (type), op0);
+ && GET_MODE_SIZE (TYPE_MODE (type))
+ == GET_MODE_SIZE (GET_MODE (op0)))
+ {
+ if (GET_CODE (op0) == SUBREG)
+ op0 = force_reg (GET_MODE (op0), op0);
+ op0 = gen_lowpart (TYPE_MODE (type), op0);
+ }
+ /* If both modes are integral, then we can convert from one to the
+ other. */
+ else if (SCALAR_INT_MODE_P (GET_MODE (op0))
+ && SCALAR_INT_MODE_P (TYPE_MODE (type)))
+ op0 = convert_modes (TYPE_MODE (type), GET_MODE (op0), op0,
+ TYPE_UNSIGNED (TREE_TYPE (TREE_OPERAND (exp, 0))));
+ /* As a last resort, spill op0 to memory, and reload it in a
+ different mode. */
else if (!MEM_P (op0))
{
/* If the operand is not a MEM, force it into memory. Since we
@@ -7631,7 +7677,7 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode,
}
else if (TREE_CODE (TREE_OPERAND (exp, 1)) == INTEGER_CST
- && GET_MODE_BITSIZE (mode) <= HOST_BITS_PER_INT
+ && GET_MODE_BITSIZE (mode) <= HOST_BITS_PER_WIDE_INT
&& TREE_CONSTANT (TREE_OPERAND (exp, 0)))
{
rtx constant_part;
diff --git a/gcc/final.c b/gcc/final.c
index e3b62a1553e..e1a4c189cf6 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -3974,7 +3974,7 @@ rest_of_handle_shorten_branches (void)
struct tree_opt_pass pass_shorten_branches =
{
- NULL, /* name */
+ "shorten", /* name */
NULL, /* gate */
rest_of_handle_shorten_branches, /* execute */
NULL, /* sub */
@@ -3985,7 +3985,7 @@ struct tree_opt_pass pass_shorten_branches =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- 0, /* todo_flags_finish */
+ TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};
diff --git a/gcc/flow.c b/gcc/flow.c
index 2ebcdda0073..aa45def3e7c 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -104,7 +104,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
life_analysis fills in certain vectors containing information about
register usage: REG_N_REFS, REG_N_DEATHS, REG_N_SETS, REG_LIVE_LENGTH,
- REG_N_CALLS_CROSSED and REG_BASIC_BLOCK.
+ REG_N_CALLS_CROSSED, REG_N_THROWING_CALLS_CROSSED and REG_BASIC_BLOCK.
life_analysis sets current_function_sp_is_unchanging if the function
doesn't modify the stack pointer. */
@@ -1589,6 +1589,7 @@ allocate_reg_life_data (void)
REG_N_REFS (i) = 0;
REG_N_DEATHS (i) = 0;
REG_N_CALLS_CROSSED (i) = 0;
+ REG_N_THROWING_CALLS_CROSSED (i) = 0;
REG_LIVE_LENGTH (i) = 0;
REG_FREQ (i) = 0;
REG_BASIC_BLOCK (i) = REG_BLOCK_UNKNOWN;
@@ -1820,6 +1821,9 @@ propagate_one_insn (struct propagate_block_info *pbi, rtx insn)
reg_set_iterator rsi;
EXECUTE_IF_SET_IN_REG_SET (pbi->reg_live, 0, i, rsi)
REG_N_CALLS_CROSSED (i)++;
+ if (can_throw_internal (insn))
+ EXECUTE_IF_SET_IN_REG_SET (pbi->reg_live, 0, i, rsi)
+ REG_N_THROWING_CALLS_CROSSED (i)++;
}
/* Record sets. Do this even for dead instructions, since they
@@ -3512,7 +3516,11 @@ attempt_auto_inc (struct propagate_block_info *pbi, rtx inc, rtx insn,
that REGNO now crosses them. */
for (temp = insn; temp != incr; temp = NEXT_INSN (temp))
if (CALL_P (temp))
- REG_N_CALLS_CROSSED (regno)++;
+ {
+ REG_N_CALLS_CROSSED (regno)++;
+ if (can_throw_internal (temp))
+ REG_N_THROWING_CALLS_CROSSED (regno)++;
+ }
/* Invalidate alias info for Q since we just changed its value. */
clear_reg_alias_info (q);
@@ -4356,11 +4364,14 @@ recompute_reg_usage (void)
in sched1 to die. To solve this update the DEATH_NOTES
here. */
update_life_info (NULL, UPDATE_LIFE_LOCAL, PROP_REG_INFO | PROP_DEATH_NOTES);
+
+ if (dump_file)
+ dump_flow_info (dump_file);
}
struct tree_opt_pass pass_recompute_reg_usage =
{
- NULL, /* name */
+ "life2", /* name */
NULL, /* gate */
recompute_reg_usage, /* execute */
NULL, /* sub */
@@ -4371,8 +4382,8 @@ struct tree_opt_pass pass_recompute_reg_usage =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- 0, /* todo_flags_finish */
- 0 /* letter */
+ TODO_dump_func, /* todo_flags_finish */
+ 'f' /* letter */
};
/* Optionally removes all the REG_DEAD and REG_UNUSED notes from a set of
@@ -4538,7 +4549,7 @@ rest_of_handle_remove_death_notes (void)
struct tree_opt_pass pass_remove_death_notes =
{
- NULL, /* name */
+ "ednotes", /* name */
gate_remove_death_notes, /* gate */
rest_of_handle_remove_death_notes, /* execute */
NULL, /* sub */
@@ -4587,7 +4598,7 @@ rest_of_handle_life (void)
struct tree_opt_pass pass_life =
{
- "life", /* name */
+ "life1", /* name */
NULL, /* gate */
rest_of_handle_life, /* execute */
NULL, /* sub */
@@ -4606,11 +4617,6 @@ struct tree_opt_pass pass_life =
static void
rest_of_handle_flow2 (void)
{
- /* Re-create the death notes which were deleted during reload. */
-#ifdef ENABLE_CHECKING
- verify_flow_info ();
-#endif
-
/* If optimizing, then go ahead and split insns now. */
#ifndef STACK_REGS
if (optimize > 0)
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index a2d6250953a..2f024b42e02 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -2019,7 +2019,7 @@ fold_convert (tree type, tree arg)
gcc_assert (tree_int_cst_equal (TYPE_SIZE (type), TYPE_SIZE (orig)));
gcc_assert (INTEGRAL_TYPE_P (orig) || POINTER_TYPE_P (orig)
|| TREE_CODE (orig) == VECTOR_TYPE);
- return fold_build1 (NOP_EXPR, type, arg);
+ return fold_build1 (VIEW_CONVERT_EXPR, type, arg);
case VOID_TYPE:
return fold_build1 (CONVERT_EXPR, type, fold_ignored_result (arg));
@@ -2029,7 +2029,7 @@ fold_convert (tree type, tree arg)
}
}
-/* Return false if expr can be assumed not to be an value, true
+/* Return false if expr can be assumed not to be an lvalue, true
otherwise. */
static bool
@@ -3340,11 +3340,11 @@ optimize_bit_field_compare (enum tree_code code, tree compare_type,
TREE_THIS_VOLATILE (lhs) = 1;
}
- rhs = fold (const_binop (BIT_AND_EXPR,
- const_binop (LSHIFT_EXPR,
- fold_convert (unsigned_type, rhs),
- size_int (lbitpos), 0),
- mask, 0));
+ rhs = const_binop (BIT_AND_EXPR,
+ const_binop (LSHIFT_EXPR,
+ fold_convert (unsigned_type, rhs),
+ size_int (lbitpos), 0),
+ mask, 0);
return build2 (code, compare_type,
build2 (BIT_AND_EXPR, unsigned_type, lhs, mask),
@@ -3929,6 +3929,15 @@ build_range_check (tree type, tree exp, int in_p, tree low, tree high)
tree etype = TREE_TYPE (exp);
tree value;
+#ifdef HAVE_canonicalize_funcptr_for_compare
+ /* Disable this optimization for function pointer expressions
+ on targets that require function pointer canonicalization. */
+ if (HAVE_canonicalize_funcptr_for_compare
+ && TREE_CODE (etype) == POINTER_TYPE
+ && TREE_CODE (TREE_TYPE (etype)) == FUNCTION_TYPE)
+ return NULL_TREE;
+#endif
+
if (! in_p)
{
value = build_range_check (type, exp, 1, low, high);
@@ -6459,7 +6468,7 @@ try_move_mult_to_index (enum tree_code code, tree addr, tree op1)
TREE_OPERAND (pos, 1)),
fold_convert (itype, delta));
- return build1 (ADDR_EXPR, TREE_TYPE (addr), ret);
+ return fold_build1 (ADDR_EXPR, TREE_TYPE (addr), ret);
}
@@ -7296,13 +7305,13 @@ fold_binary (enum tree_code code, tree type, tree op0, tree op1)
{
tem = try_move_mult_to_index (PLUS_EXPR, arg0, arg1);
if (tem)
- return fold_convert (type, fold (tem));
+ return fold_convert (type, tem);
}
else if (TREE_CODE (arg1) == ADDR_EXPR)
{
tem = try_move_mult_to_index (PLUS_EXPR, arg1, arg0);
if (tem)
- return fold_convert (type, fold (tem));
+ return fold_convert (type, tem);
}
}
else
@@ -7721,7 +7730,7 @@ fold_binary (enum tree_code code, tree type, tree op0, tree op1)
{
tem = try_move_mult_to_index (MINUS_EXPR, arg0, arg1);
if (tem)
- return fold_convert (type, fold (tem));
+ return fold_convert (type, tem);
}
if (flag_unsafe_math_optimizations
@@ -9310,10 +9319,9 @@ fold_binary (enum tree_code code, tree type, tree op0, tree op1)
tree st0, st1;
st0 = lang_hooks.types.signed_type (TREE_TYPE (arg0));
st1 = lang_hooks.types.signed_type (TREE_TYPE (arg1));
- return fold
- (build2 (code == LE_EXPR ? GE_EXPR: LT_EXPR,
- type, fold_convert (st0, arg0),
- fold_convert (st1, integer_zero_node)));
+ return fold_build2 (code == LE_EXPR ? GE_EXPR: LT_EXPR,
+ type, fold_convert (st0, arg0),
+ build_int_cst (st1, 0));
}
}
}
@@ -10107,13 +10115,7 @@ fold_ternary (enum tree_code code, tree type, tree op0, tree op1, tree op2)
if (TREE_CODE (op0) == ADDR_EXPR
&& TREE_CODE (TREE_OPERAND (op0, 0)) == FUNCTION_DECL
&& DECL_BUILT_IN (TREE_OPERAND (op0, 0)))
- {
- tree fndecl = TREE_OPERAND (op0, 0);
- tree arglist = op1;
- tree tmp = fold_builtin (fndecl, arglist, false);
- if (tmp)
- return tmp;
- }
+ return fold_builtin (TREE_OPERAND (op0, 0), op1, false);
return NULL_TREE;
case BIT_FIELD_REF:
@@ -10275,14 +10277,14 @@ fold_checksum_tree (tree expr, struct md5_ctx *ctx, htab_t ht)
{
void **slot;
enum tree_code code;
- char buf[sizeof (struct tree_decl_non_common)];
+ char buf[sizeof (struct tree_function_decl)];
int i, len;
recursive_label:
gcc_assert ((sizeof (struct tree_exp) + 5 * sizeof (tree)
- <= sizeof (struct tree_decl_non_common))
- && sizeof (struct tree_type) <= sizeof (struct tree_decl_non_common));
+ <= sizeof (struct tree_function_decl))
+ && sizeof (struct tree_type) <= sizeof (struct tree_function_decl));
if (expr == NULL)
return;
slot = htab_find_slot (ht, expr, INSERT);
@@ -10373,13 +10375,18 @@ recursive_label:
fold_checksum_tree (DECL_SIZE_UNIT (expr), ctx, ht);
fold_checksum_tree (DECL_NAME (expr), ctx, ht);
fold_checksum_tree (DECL_CONTEXT (expr), ctx, ht);
- fold_checksum_tree (DECL_ARGUMENTS (expr), ctx, ht);
- fold_checksum_tree (DECL_RESULT_FLD (expr), ctx, ht);
fold_checksum_tree (DECL_INITIAL (expr), ctx, ht);
fold_checksum_tree (DECL_ABSTRACT_ORIGIN (expr), ctx, ht);
- fold_checksum_tree (DECL_SECTION_NAME (expr), ctx, ht);
fold_checksum_tree (DECL_ATTRIBUTES (expr), ctx, ht);
- fold_checksum_tree (DECL_VINDEX (expr), ctx, ht);
+ if (CODE_CONTAINS_STRUCT (TREE_CODE (expr), TS_DECL_WITH_VIS))
+ fold_checksum_tree (DECL_SECTION_NAME (expr), ctx, ht);
+
+ if (CODE_CONTAINS_STRUCT (TREE_CODE (expr), TS_DECL_NON_COMMON))
+ {
+ fold_checksum_tree (DECL_VINDEX (expr), ctx, ht);
+ fold_checksum_tree (DECL_RESULT_FLD (expr), ctx, ht);
+ fold_checksum_tree (DECL_ARGUMENT_FLD (expr), ctx, ht);
+ }
break;
case tcc_type:
if (TREE_CODE (expr) == ENUMERAL_TYPE)
@@ -10414,7 +10421,7 @@ recursive_label:
operand OP0. */
tree
-fold_build1 (enum tree_code code, tree type, tree op0)
+fold_build1_stat (enum tree_code code, tree type, tree op0 MEM_STAT_DECL)
{
tree tem;
#ifdef ENABLE_FOLD_CHECKING
@@ -10431,7 +10438,7 @@ fold_build1 (enum tree_code code, tree type, tree op0)
tem = fold_unary (code, type, op0);
if (!tem)
- tem = build1 (code, type, op0);
+ tem = build1_stat (code, type, op0 PASS_MEM_STAT);
#ifdef ENABLE_FOLD_CHECKING
md5_init_ctx (&ctx);
@@ -10451,7 +10458,8 @@ fold_build1 (enum tree_code code, tree type, tree op0)
with operands OP0 and OP1. */
tree
-fold_build2 (enum tree_code code, tree type, tree op0, tree op1)
+fold_build2_stat (enum tree_code code, tree type, tree op0, tree op1
+ MEM_STAT_DECL)
{
tree tem;
#ifdef ENABLE_FOLD_CHECKING
@@ -10476,7 +10484,7 @@ fold_build2 (enum tree_code code, tree type, tree op0, tree op1)
tem = fold_binary (code, type, op0, op1);
if (!tem)
- tem = build2 (code, type, op0, op1);
+ tem = build2_stat (code, type, op0, op1 PASS_MEM_STAT);
#ifdef ENABLE_FOLD_CHECKING
md5_init_ctx (&ctx);
@@ -10504,8 +10512,10 @@ fold_build2 (enum tree_code code, tree type, tree op0, tree op1)
type TYPE with operands OP0, OP1, and OP2. */
tree
-fold_build3 (enum tree_code code, tree type, tree op0, tree op1, tree op2)
-{ tree tem;
+fold_build3_stat (enum tree_code code, tree type, tree op0, tree op1, tree op2
+ MEM_STAT_DECL)
+{
+ tree tem;
#ifdef ENABLE_FOLD_CHECKING
unsigned char checksum_before_op0[16],
checksum_before_op1[16],
@@ -10535,7 +10545,7 @@ fold_build3 (enum tree_code code, tree type, tree op0, tree op1, tree op2)
tem = fold_ternary (code, type, op0, op1, op2);
if (!tem)
- tem = build3 (code, type, op0, op1, op2);
+ tem = build3_stat (code, type, op0, op1, op2 PASS_MEM_STAT);
#ifdef ENABLE_FOLD_CHECKING
md5_init_ctx (&ctx);
@@ -10566,33 +10576,65 @@ fold_build3 (enum tree_code code, tree type, tree op0, tree op1, tree op2)
}
/* Perform constant folding and related simplification of initializer
- expression EXPR. This behaves identically to "fold" but ignores
+ expression EXPR. These behave identically to "fold_buildN" but ignore
potential run-time traps and exceptions that fold must preserve. */
+#define START_FOLD_INIT \
+ int saved_signaling_nans = flag_signaling_nans;\
+ int saved_trapping_math = flag_trapping_math;\
+ int saved_rounding_math = flag_rounding_math;\
+ int saved_trapv = flag_trapv;\
+ flag_signaling_nans = 0;\
+ flag_trapping_math = 0;\
+ flag_rounding_math = 0;\
+ flag_trapv = 0
+
+#define END_FOLD_INIT \
+ flag_signaling_nans = saved_signaling_nans;\
+ flag_trapping_math = saved_trapping_math;\
+ flag_rounding_math = saved_rounding_math;\
+ flag_trapv = saved_trapv
+
tree
-fold_initializer (tree expr)
+fold_build1_initializer (enum tree_code code, tree type, tree op)
{
- int saved_signaling_nans = flag_signaling_nans;
- int saved_trapping_math = flag_trapping_math;
- int saved_rounding_math = flag_rounding_math;
- int saved_trapv = flag_trapv;
tree result;
+ START_FOLD_INIT;
- flag_signaling_nans = 0;
- flag_trapping_math = 0;
- flag_rounding_math = 0;
- flag_trapv = 0;
+ result = fold_build1 (code, type, op);
- result = fold (expr);
+ END_FOLD_INIT;
+ return result;
+}
- flag_signaling_nans = saved_signaling_nans;
- flag_trapping_math = saved_trapping_math;
- flag_rounding_math = saved_rounding_math;
- flag_trapv = saved_trapv;
+tree
+fold_build2_initializer (enum tree_code code, tree type, tree op0, tree op1)
+{
+ tree result;
+ START_FOLD_INIT;
+
+ result = fold_build2 (code, type, op0, op1);
+
+ END_FOLD_INIT;
+ return result;
+}
+
+tree
+fold_build3_initializer (enum tree_code code, tree type, tree op0, tree op1,
+ tree op2)
+{
+ tree result;
+ START_FOLD_INIT;
+
+ result = fold_build3 (code, type, op0, op1, op2);
+ END_FOLD_INIT;
return result;
}
+#undef START_FOLD_INIT
+#undef END_FOLD_INIT
+
/* Determine if first argument is a multiple of second argument. Return 0 if
it is not, or we cannot easily determined it to be.
@@ -10719,7 +10761,7 @@ tree_expr_nonnegative_p (tree t)
case ABS_EXPR:
/* We can't return 1 if flag_wrapv is set because
ABS_EXPR<INT_MIN> = INT_MIN. */
- if (!flag_wrapv)
+ if (!(flag_wrapv && INTEGRAL_TYPE_P (TREE_TYPE (t))))
return 1;
break;
@@ -10777,6 +10819,15 @@ tree_expr_nonnegative_p (tree t)
}
return 0;
+ case BIT_AND_EXPR:
+ case MAX_EXPR:
+ return tree_expr_nonnegative_p (TREE_OPERAND (t, 0))
+ || tree_expr_nonnegative_p (TREE_OPERAND (t, 1));
+
+ case BIT_IOR_EXPR:
+ case BIT_XOR_EXPR:
+ case MIN_EXPR:
+ case RDIV_EXPR:
case TRUNC_DIV_EXPR:
case CEIL_DIV_EXPR:
case FLOOR_DIV_EXPR:
@@ -10788,19 +10839,21 @@ tree_expr_nonnegative_p (tree t)
case CEIL_MOD_EXPR:
case FLOOR_MOD_EXPR:
case ROUND_MOD_EXPR:
+ case SAVE_EXPR:
+ case NON_LVALUE_EXPR:
+ case FLOAT_EXPR:
return tree_expr_nonnegative_p (TREE_OPERAND (t, 0));
- case RDIV_EXPR:
- return tree_expr_nonnegative_p (TREE_OPERAND (t, 0))
- && tree_expr_nonnegative_p (TREE_OPERAND (t, 1));
+ case COMPOUND_EXPR:
+ case MODIFY_EXPR:
+ return tree_expr_nonnegative_p (TREE_OPERAND (t, 1));
- case BIT_AND_EXPR:
+ case BIND_EXPR:
+ return tree_expr_nonnegative_p (expr_last (TREE_OPERAND (t, 1)));
+
+ case COND_EXPR:
return tree_expr_nonnegative_p (TREE_OPERAND (t, 1))
- || tree_expr_nonnegative_p (TREE_OPERAND (t, 0));
- case BIT_IOR_EXPR:
- case BIT_XOR_EXPR:
- return tree_expr_nonnegative_p (TREE_OPERAND (t, 0))
- && tree_expr_nonnegative_p (TREE_OPERAND (t, 1));
+ && tree_expr_nonnegative_p (TREE_OPERAND (t, 2));
case NOP_EXPR:
{
@@ -10829,28 +10882,6 @@ tree_expr_nonnegative_p (tree t)
}
break;
- case COND_EXPR:
- return tree_expr_nonnegative_p (TREE_OPERAND (t, 1))
- && tree_expr_nonnegative_p (TREE_OPERAND (t, 2));
- case COMPOUND_EXPR:
- return tree_expr_nonnegative_p (TREE_OPERAND (t, 1));
- case MIN_EXPR:
- return tree_expr_nonnegative_p (TREE_OPERAND (t, 0))
- && tree_expr_nonnegative_p (TREE_OPERAND (t, 1));
- case MAX_EXPR:
- return tree_expr_nonnegative_p (TREE_OPERAND (t, 0))
- || tree_expr_nonnegative_p (TREE_OPERAND (t, 1));
- case MODIFY_EXPR:
- return tree_expr_nonnegative_p (TREE_OPERAND (t, 1));
- case BIND_EXPR:
- return tree_expr_nonnegative_p (expr_last (TREE_OPERAND (t, 1)));
- case SAVE_EXPR:
- return tree_expr_nonnegative_p (TREE_OPERAND (t, 0));
- case NON_LVALUE_EXPR:
- return tree_expr_nonnegative_p (TREE_OPERAND (t, 0));
- case FLOAT_EXPR:
- return tree_expr_nonnegative_p (TREE_OPERAND (t, 0));
-
case TARGET_EXPR:
{
tree temp = TARGET_EXPR_SLOT (t);
@@ -10904,7 +10935,6 @@ tree_expr_nonnegative_p (tree t)
CASE_BUILTIN_F (BUILT_IN_EXP2)
CASE_BUILTIN_F (BUILT_IN_FABS)
CASE_BUILTIN_F (BUILT_IN_FDIM)
- CASE_BUILTIN_F (BUILT_IN_FREXP)
CASE_BUILTIN_F (BUILT_IN_HYPOT)
CASE_BUILTIN_F (BUILT_IN_POW10)
CASE_BUILTIN_I (BUILT_IN_FFS)
@@ -10928,6 +10958,7 @@ tree_expr_nonnegative_p (tree t)
CASE_BUILTIN_F (BUILT_IN_EXPM1)
CASE_BUILTIN_F (BUILT_IN_FLOOR)
CASE_BUILTIN_F (BUILT_IN_FMOD)
+ CASE_BUILTIN_F (BUILT_IN_FREXP)
CASE_BUILTIN_F (BUILT_IN_LCEIL)
CASE_BUILTIN_F (BUILT_IN_LDEXP)
CASE_BUILTIN_F (BUILT_IN_LFLOOR)
@@ -11733,10 +11764,10 @@ ptr_difference_const (tree e1, tree e2, HOST_WIDE_INT *diff)
toffset2 = fold_convert (type, toffset2);
tdiff = fold_build2 (MINUS_EXPR, type, toffset1, toffset2);
- if (!host_integerp (tdiff, 0))
+ if (!cst_and_fits_in_hwi (tdiff))
return false;
- *diff = tree_low_cst (tdiff, 0);
+ *diff = int_cst_value (tdiff);
}
else if (toffset1 || toffset2)
{
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index cf77df83cc1..a03d3dff6fc 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,246 @@
+2005-08-31 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR fortran/20592
+ * gfortran.h (gfc_option_t): Add flag_automatic.
+ * invoke.texi: Document the -fno-automatic option.
+ * lang.opt: Add a -fautomatic option.
+ * options.c (gfc_init_options): Default for -fautomatic is on.
+ (gfc_handle_option): Add handling of -fautomatic option.
+ * resolve.c (gfc_resolve): When -fno-automatic is used, mark
+ needed variables as SAVE.
+
+2005-08-27 Erik Edelmann <erik.edelmann@iki.fi>
+
+ * trans-array.c (gfc_trans_deferred_array): Fix comments.
+
+2005-08-27 Erik Schnetter <schnetter@aei.mpg.de>
+
+ * primary.c (match_charkind_name): Fix typo in comment leading to
+ function.
+
+2005-08-25 Erik Edelmann <eedelman@acclab.helsinki.fi>
+
+ PR fortran/20363
+ * symbol.c (find_special): Remove.
+ (build_sym, add_init_expr, attr_decl1): Remove calls to
+ find_special in favor of calls to gfc_get_symbol.
+
+2005-08-24 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR fortran/17758
+ * gfortran.h (symbol_attribute): Add noreturn to the structure.
+ (gfc_intrinsic_sym): Add noreturn to the structure.
+ * intrinsic.c (make_noreturn): New function.
+ (add_subroutines): Mark subroutines abort and exit as noreturn.
+ (gfc_intrinsic_sub_interface): Copy noreturn attribute from
+ isym to the resolved symbol.
+ * trans-decl.c (gfc_get_extern_function_decl): Set function
+ as VOLATILE (== noreturn) if the noreturn attribute is set.
+
+2005-08-21 Steven G. Kargl <kargls@comcast.net>
+
+ * decl.c: Typo in comment.
+
+2005-08-21 Steven G. Kargl <kargls@comcast.net>
+
+ * array.c: Bump GFC_MAX_AC_EXPAND from 100 to 65535.
+
+2005-08-21 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * gfortran.h (gfc_option_t): Remove source field. Add
+ flag_d_lines field.
+ (gfc_new_file): Remove arguments in prototype.
+ (gfc_source_file): Make 'const char *'.
+ * f95-lang.c (gfc_init): Use gfc_source_file instead of
+ gfc_option.source. Call gfc_new_file without arguments.
+ * invoke.texi: Document new options '-fd-lines-as-code' and
+ '-fd-lines-as-comment'.
+ * lang.opt: Add new options. Alphabetize.
+ * options.c (gfc_init_options): Initialize gfc_source_file instead
+ of gfc_option.source. Initialize gfc_option.flag_d_lines.
+ (form_from_filename): Move here from scanner.c. Make
+ 'filename' argument 'const'.
+ (gfc_post_options): Set gfc_source_file. Determine source form.
+ Warn if 'd-lines*' are used in free form.
+ * scanner.c (gfc_source_file): Constify.
+ (skip_fixed_comments): Deal with d-lines.
+ (get_file): Constify argument 'name'.
+ (load_file): Constify argument 'filename'.
+ (form_from_filename): Moved to options.c.
+ (gfc_new_file): Remove arguments. Don't initialize
+ gfc_source_file, don't determine source form.
+ * trans-const.c (gfc_init_constants): Use gfc_source_file instead
+ of gfc_option.source.
+
+2005-08-19 Steven G. Kargl <kargls@comcast.net>
+
+ PR fortran/23065
+ * gfortran.h: Remove PATH_MAX definition.
+ * module.c (write_module, gfc_dump_module): Use alloca to allocate
+ buffers.
+ * scanner.c (gfc_release_include_path, form_from_filename): Ditto.
+
+2004-08-16 Huang Chun <chunhuang73@hotmail.com>
+
+ * trans-expr.c (gfc_conv_power_op): Evaluate the expression before
+ expand.
+
+2005-08-14 Asher Langton <langton2@llnl.gov>
+
+ * parse.c (match): Enclose macro in do...while(0) and braces.
+
+2005-08-14 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/21432.
+ * gfortran.texi: Document PRINT namelist.
+
+2005-08-14 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/21432.
+ * io.c (match_io): Add code to implement PRINT namelist.
+
+2005-08-14 Canqun Yang <canqun@nudt.edu.cn>
+
+ * trans-stmt.c (gfc_trans_arithmetic_if): Optimized in case of equal
+ labels.
+
+2005-08-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+ Steven Bosscher <stevenb@suse.de>
+
+ PR libfortran/20006
+ * gfortran.h: Add is_main_program member to symbol_attribute.
+ * trans-decl: Add a gfor_fndecl_set_std tree.
+ (gfc_build_builtin_function_decls): Create it.
+ (gfc_generate_function_code): Add this call at the beginning of
+ the main program.
+ * trans.c (gfc_generate_code): Move main_program and attr.
+ * trans.h: Add declaration for gfor_fndecl_set_std.
+
+2005-08-10 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/22143
+ gfortran.h: Declare new function gfc_resolve_dim_arg.
+ resolve.c: New function gfc_resolve_dim_arg.
+ iresolve.c (gfc_resolve_all): Use gfc_resolve_dim_arg.
+ (gfc_resolve_any): Likewise.
+ (gfc_resolve_count): Likewise.
+ (gfc_resolve_cshift): Likewise. If the kind of shift is less
+ gfc_default_integer_kind, convert it to default integer type.
+ (gfc_resolve_eoshift): Likewise.
+ (gfc_resolve_maxloc): Use gfc_resolve_dim_arg.
+ (gfc_resolve_maxval): Likewise.
+ (gfc_resolve_minloc): Likewise.
+ (gfc_resolve_minval): Likewise.
+ (gfc_resolve_product): Likewise.
+ (gfc_resolve_spread): Likewise.
+ (gfc_resolve_sum): Likewise.
+
+2005-08-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * check.c (gfc_check_ttynam_sub, gfc_check_isatty): Add check
+ functions for new intrinsics TTYNAM and ISATTY.
+ * intrinsic.c (add_functions, add_subroutines): Add new
+ intrinsics.
+ * intrinsic.h: Add prototypes for new check and resolve
+ functions.
+ * iresolve.c (gfc_resolve_isatty, gfc_resolve_ttynam_sub): New
+ resolve functions for intrinsics TTYNAM and ISATTY.
+ * gfortran.h (gfc_generic_isym_id): Add symbol for ISATTY.
+ * trans-intrinsic.c: Add case for GFC_ISYM_ISATTY.
+
+2005-08-09 Jakub Jelinek <jakub@redhat.com>
+
+ * scanner.c (preprocessor_line): Don't write beyond the end of flag
+ buffer.
+
+2005-08-07 Janne Blomqvist <jblomqvi@cc.hut.fi>
+
+ PR fortran/22390
+ * dump-parse-tree.c (gfc_show_code_node): Add case for FLUSH.
+ * gfortran.h: Add enums for FLUSH.
+ * io.c (gfc_free_filepos,match_file_element,match_filepos): Modify
+ comment appropriately. (gfc_match_flush): New function.
+ * match.c (gfc_match_if): Add match for flush.
+ * match.h: Add prototype.
+ * parse.c (decode_statement): Add flush to 'f' case.
+ (next_statement): Add case for flush. (gfc_ascii_statement): Likewise.
+ * resolve.c (resolve_code): Add flush case.
+ * st.c (gfc_free_statement): Add flush case.
+ * trans-io.c: Add prototype for flush.
+ (gfc_build_io_library_fndecls): Build fndecl for flush.
+ (gfc_trans_flush): New function.
+ * trans-stmt.h: Add prototype.
+ * trans.c (gfc_trans_code): Add case for flush.
+
+2005-08-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * primary.c (match_hollerith_constant): Fix typo.
+
+2005-08-06 Kazu Hirata <kazu@codesourcery.com>
+
+ * decl.c, dump-parse-tree.c, gfortran.texi, intrinsic.texi,
+ invoke.texi, resolve.c, trans-array.c, trans-array.h,
+ trans-common.c, trans-expr.c, trans-io.c, trans.h: Fix
+ comment/doc typos. Follow spelling conventions.
+
+2005-08-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/18833
+ PR fortran/20850
+ * primary.c (match_varspec): If equiv_flag, don't look at sym's
+ attributes, call gfc_match_array_ref up to twice and don't do any
+ substring or component processing.
+ * resolve.c (resolve_equivalence): Transform REF_ARRAY into
+ REF_SUBSTRING or nothing if needed. Check that substrings
+ don't have zero length.
+
+2005-08-05 Thomas Koenig <Thomas.Koenig@online.de>
+
+ * trans-expr.c (gfc_build_builtin_function_decls): Mark
+ stop_numeric and stop_string as non-returning.
+
+2005-08-04 Paul Brook <paul@codesourcery.com>
+
+ * trans-expr.c (gfc_conv_expr, gfc_conv_expr_type): Update comments.
+ (gfc_conv_expr_lhs): Fix assertion.
+ (gfc_conv_expr_val): Merge post block. Set se.expr to new value.
+
+2005-08-02 David Edelsohn <edelsohn@gnu.org>
+
+ PR fortran/22491
+ * expr.c (simplify_parameter_variable): Do not copy the subobject
+ references if the expression value is a constant.
+
+ * expr.c (gfc_simplify_expr): Evaluate constant substrings.
+
+2005-07-31 Jerry DeLisle <jvdelisle@verizon.net>
+
+ * intrinsic.texi: Add documentation for exponent, floor, and fnum and
+ fix description of ceiling in index.
+
+2005-07-31 Steven Bosscher <stevenb@suse.de>
+
+ * trans-decl.c (gfc_build_builtin_function_decls): Give the internal
+ malloc functions the 'malloc' attribute. Give runtime_error the
+ 'noreturn' attribute.
+
+2005-07-31 Steven Bosscher <stevenb@suse.de>
+
+ * trans-stmt.c (gfc_trans_goto): Jump to the known label instead
+ of the assigned goto variable.
+
+2005-07-29 Steven Bosscher <stevenb@suse.de>
+
+ * trans-types.h (gfc_array_range_type): Add missing GTY decl for this.
+
+2005-07-28 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * fortran/f95-lang.c (language_function): Remove
+ named_labels, shadowed_labels, returns_value, returns_abnormally,
+ warn_about_return_type, and extern_inline fields.
+ (named_labels): Remove variable.
+ (gfc_init_decl_processing): Remove setting of named_labels.
+
2005-07-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
PR fortran/22503
@@ -26,7 +269,7 @@
* trans-stmt.c (gfc_trans_character_select): Use
build_constructor_from_list instead of build_constructor.
-2005-07-19 Paul Thomas <pault@gcc.gnu.org>
+2005-07-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/16940
* resolve.c (resolve_symbol): A symbol with FL_UNKNOWN
@@ -766,7 +1009,7 @@
* resolve.c (resolve_variable): If e->symtree is not set, this
ought to be a FAILURE, and not a segfault.
-2005-04-17 Paul Thomas <pault@gcc.gnu.org>
+2005-04-17 Paul Thomas <pault@gcc.gnu.org>
PR fortran/17472
PR fortran/18209
diff --git a/gcc/fortran/array.c b/gcc/fortran/array.c
index 72b92a8368b..3e44e8577df 100644
--- a/gcc/fortran/array.c
+++ b/gcc/fortran/array.c
@@ -28,7 +28,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
will expand to an array constructor without iterators.
Constructors larger than this will remain in the iterator form. */
-#define GFC_MAX_AC_EXPAND 100
+#define GFC_MAX_AC_EXPAND 65535
/**************** Array reference matching subroutines *****************/
diff --git a/gcc/fortran/check.c b/gcc/fortran/check.c
index 57b906855b5..fbbc96bf29d 100644
--- a/gcc/fortran/check.c
+++ b/gcc/fortran/check.c
@@ -2574,6 +2574,38 @@ gfc_check_hostnm_sub (gfc_expr * name, gfc_expr * status)
try
+gfc_check_ttynam_sub (gfc_expr * unit, gfc_expr * name)
+{
+ if (scalar_check (unit, 0) == FAILURE)
+ return FAILURE;
+
+ if (type_check (unit, 0, BT_INTEGER) == FAILURE)
+ return FAILURE;
+
+ if (type_check (name, 1, BT_CHARACTER) == FAILURE)
+ return FAILURE;
+
+ return SUCCESS;
+}
+
+
+try
+gfc_check_isatty (gfc_expr * unit)
+{
+ if (unit == NULL)
+ return FAILURE;
+
+ if (type_check (unit, 0, BT_INTEGER) == FAILURE)
+ return FAILURE;
+
+ if (scalar_check (unit, 0) == FAILURE)
+ return FAILURE;
+
+ return SUCCESS;
+}
+
+
+try
gfc_check_perror (gfc_expr * string)
{
if (type_check (string, 0, BT_CHARACTER) == FAILURE)
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c
index 9288ab9d4ef..8c4ce585e43 100644
--- a/gcc/fortran/decl.c
+++ b/gcc/fortran/decl.c
@@ -32,7 +32,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
static int old_char_selector;
-/* When variables aquire types and attributes from a declaration
+/* When variables acquire types and attributes from a declaration
statement, they get them from the following static variables. The
first part of a declaration sets these variables and the second
part copies these into symbol structures. */
@@ -530,29 +530,34 @@ syntax:
}
-/* Special subroutine for finding a symbol. If we're compiling a
- function or subroutine and the parent compilation unit is an
- interface, then check to see if the name we've been given is the
- name of the interface (located in another namespace). If so,
- return that symbol. If not, use gfc_get_symbol(). */
+/* Special subroutine for finding a symbol. Check if the name is found
+ in the current name space. If not, and we're compiling a function or
+ subroutine and the parent compilation unit is an interface, then check
+ to see if the name we've been given is the name of the interface
+ (located in another namespace). */
static int
find_special (const char *name, gfc_symbol ** result)
{
gfc_state_data *s;
+ int i;
+ i = gfc_get_symbol (name, NULL, result);
+ if (i==0)
+ goto end;
+
if (gfc_current_state () != COMP_SUBROUTINE
&& gfc_current_state () != COMP_FUNCTION)
- goto normal;
+ goto end;
s = gfc_state_stack->previous;
if (s == NULL)
- goto normal;
+ goto end;
if (s->state != COMP_INTERFACE)
- goto normal;
+ goto end;
if (s->sym == NULL)
- goto normal; /* Nameless interface */
+ goto end; /* Nameless interface */
if (strcmp (name, s->sym->name) == 0)
{
@@ -560,8 +565,8 @@ find_special (const char *name, gfc_symbol ** result)
return 0;
}
-normal:
- return gfc_get_symbol (name, NULL, result);
+end:
+ return i;
}
@@ -616,7 +621,8 @@ build_sym (const char *name, gfc_charlen * cl,
symbol_attribute attr;
gfc_symbol *sym;
- if (find_special (name, &sym))
+ /* if (find_special (name, &sym)) */
+ if (gfc_get_symbol (name, NULL, &sym))
return FAILURE;
/* Start updating the symbol table. Add basic type attribute
@@ -3229,7 +3235,7 @@ syntax:
/* Match a module procedure statement. Note that we have to modify
symbols in the parent's namespace because the current one was there
- to receive symbols that are in a interface's formal argument list. */
+ to receive symbols that are in an interface's formal argument list. */
match
gfc_match_modproc (void)
diff --git a/gcc/fortran/dump-parse-tree.c b/gcc/fortran/dump-parse-tree.c
index 21fe5c4b184..8f039d2f364 100644
--- a/gcc/fortran/dump-parse-tree.c
+++ b/gcc/fortran/dump-parse-tree.c
@@ -122,7 +122,7 @@ gfc_show_actual_arglist (gfc_actual_arglist * a)
}
-/* Show an gfc_array_spec array specification structure. */
+/* Show a gfc_array_spec array specification structure. */
static void
gfc_show_array_spec (gfc_array_spec * as)
@@ -165,7 +165,7 @@ gfc_show_array_spec (gfc_array_spec * as)
}
-/* Show an gfc_array_ref array reference structure. */
+/* Show a gfc_array_ref array reference structure. */
static void
gfc_show_array_ref (gfc_array_ref * ar)
@@ -1177,6 +1177,10 @@ gfc_show_code_node (int level, gfc_code * c)
case EXEC_REWIND:
gfc_status ("REWIND");
+ goto show_filepos;
+
+ case EXEC_FLUSH:
+ gfc_status ("FLUSH");
show_filepos:
fp = c->ext.filepos;
diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c
index a3a24b59f40..e3613711062 100644
--- a/gcc/fortran/expr.c
+++ b/gcc/fortran/expr.c
@@ -1068,7 +1068,8 @@ simplify_parameter_variable (gfc_expr * p, int type)
try t;
e = gfc_copy_expr (p->symtree->n.sym->value);
- if (p->ref)
+ /* Do not copy subobject refs for constant. */
+ if (e->expr_type != EXPR_CONSTANT && p->ref != NULL)
e->ref = copy_ref (p->ref);
t = gfc_simplify_expr (e, type);
@@ -1130,7 +1131,28 @@ gfc_simplify_expr (gfc_expr * p, int type)
if (simplify_ref_chain (p->ref, type) == FAILURE)
return FAILURE;
- /* TODO: evaluate constant substrings. */
+ if (gfc_is_constant_expr (p))
+ {
+ char *s;
+ int start, end;
+
+ gfc_extract_int (p->ref->u.ss.start, &start);
+ start--; /* Convert from one-based to zero-based. */
+ gfc_extract_int (p->ref->u.ss.end, &end);
+ s = gfc_getmem (end - start + 1);
+ memcpy (s, p->value.character.string + start, end - start);
+ s[end] = '\0'; /* TODO: C-style string for debugging. */
+ gfc_free (p->value.character.string);
+ p->value.character.string = s;
+ p->value.character.length = end - start;
+ p->ts.cl = gfc_get_charlen ();
+ p->ts.cl->next = gfc_current_ns->cl_list;
+ gfc_current_ns->cl_list = p->ts.cl;
+ p->ts.cl->length = gfc_int_expr (p->value.character.length);
+ gfc_free_ref_list (p->ref);
+ p->ref = NULL;
+ p->expr_type = EXPR_CONSTANT;
+ }
break;
case EXPR_OP:
diff --git a/gcc/fortran/f95-lang.c b/gcc/fortran/f95-lang.c
index de6444da63d..6e607e9fa8e 100644
--- a/gcc/fortran/f95-lang.c
+++ b/gcc/fortran/f95-lang.c
@@ -77,12 +77,6 @@ struct language_function
GTY(())
{
/* struct gfc_language_function base; */
- tree named_labels;
- tree shadowed_labels;
- int returns_value;
- int returns_abnormally;
- int warn_about_return_type;
- int extern_inline;
struct binding_level *binding_level;
};
@@ -176,7 +170,6 @@ const char *const tree_code_name[] = {
};
#undef DEFTREECODE
-static tree named_labels;
#define NULL_BINDING_LEVEL (struct binding_level *) NULL
@@ -278,7 +271,7 @@ static bool
gfc_init (void)
{
#ifdef USE_MAPPED_LOCATION
- linemap_add (&line_table, LC_ENTER, false, gfc_option.source, 1);
+ linemap_add (&line_table, LC_ENTER, false, gfc_source_file, 1);
linemap_add (&line_table, LC_RENAME, false, "<built-in>", 0);
#endif
@@ -289,8 +282,8 @@ gfc_init (void)
/* Then the frontend. */
gfc_init_1 ();
- if (gfc_new_file (gfc_option.source, gfc_option.source_form) != SUCCESS)
- fatal_error ("can't open input file: %s", gfc_option.source);
+ if (gfc_new_file () != SUCCESS)
+ fatal_error ("can't open input file: %s", gfc_source_file);
return true;
}
@@ -561,7 +554,6 @@ static void
gfc_init_decl_processing (void)
{
current_function_decl = NULL;
- named_labels = NULL;
current_binding_level = NULL_BINDING_LEVEL;
free_binding_level = NULL_BINDING_LEVEL;
diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h
index dea08c3e20d..ed9fcba819f 100644
--- a/gcc/fortran/gfortran.h
+++ b/gcc/fortran/gfortran.h
@@ -192,17 +192,17 @@ typedef enum
ST_CALL, ST_CASE, ST_CLOSE, ST_COMMON, ST_CONTINUE, ST_CONTAINS, ST_CYCLE,
ST_DATA, ST_DATA_DECL, ST_DEALLOCATE, ST_DO, ST_ELSE, ST_ELSEIF,
ST_ELSEWHERE, ST_END_BLOCK_DATA, ST_ENDDO, ST_IMPLIED_ENDDO,
- ST_END_FILE, ST_END_FORALL, ST_END_FUNCTION, ST_ENDIF, ST_END_INTERFACE,
- ST_END_MODULE, ST_END_PROGRAM, ST_END_SELECT, ST_END_SUBROUTINE,
- ST_END_WHERE, ST_END_TYPE, ST_ENTRY, ST_EQUIVALENCE, ST_EXIT, ST_FORALL,
- ST_FORALL_BLOCK, ST_FORMAT, ST_FUNCTION, ST_GOTO, ST_IF_BLOCK, ST_IMPLICIT,
- ST_IMPLICIT_NONE, ST_INQUIRE, ST_INTERFACE, ST_PARAMETER, ST_MODULE,
- ST_MODULE_PROC, ST_NAMELIST, ST_NULLIFY, ST_OPEN, ST_PAUSE, ST_PRIVATE,
- ST_PROGRAM, ST_PUBLIC, ST_READ, ST_RETURN, ST_REWIND, ST_STOP,
- ST_SUBROUTINE,
- ST_TYPE, ST_USE, ST_WHERE_BLOCK, ST_WHERE, ST_WRITE, ST_ASSIGNMENT,
- ST_POINTER_ASSIGNMENT, ST_SELECT_CASE, ST_SEQUENCE, ST_SIMPLE_IF,
- ST_STATEMENT_FUNCTION, ST_DERIVED_DECL, ST_LABEL_ASSIGNMENT, ST_NONE
+ ST_END_FILE, ST_FLUSH, ST_END_FORALL, ST_END_FUNCTION, ST_ENDIF,
+ ST_END_INTERFACE, ST_END_MODULE, ST_END_PROGRAM, ST_END_SELECT,
+ ST_END_SUBROUTINE, ST_END_WHERE, ST_END_TYPE, ST_ENTRY, ST_EQUIVALENCE,
+ ST_EXIT, ST_FORALL, ST_FORALL_BLOCK, ST_FORMAT, ST_FUNCTION, ST_GOTO,
+ ST_IF_BLOCK, ST_IMPLICIT, ST_IMPLICIT_NONE, ST_INQUIRE, ST_INTERFACE,
+ ST_PARAMETER, ST_MODULE, ST_MODULE_PROC, ST_NAMELIST, ST_NULLIFY, ST_OPEN,
+ ST_PAUSE, ST_PRIVATE, ST_PROGRAM, ST_PUBLIC, ST_READ, ST_RETURN, ST_REWIND,
+ ST_STOP, ST_SUBROUTINE, ST_TYPE, ST_USE, ST_WHERE_BLOCK, ST_WHERE, ST_WRITE,
+ ST_ASSIGNMENT, ST_POINTER_ASSIGNMENT, ST_SELECT_CASE, ST_SEQUENCE,
+ ST_SIMPLE_IF, ST_STATEMENT_FUNCTION, ST_DERIVED_DECL, ST_LABEL_ASSIGNMENT,
+ ST_NONE
}
gfc_statement;
@@ -335,6 +335,7 @@ enum gfc_generic_isym_id
GFC_ISYM_INT,
GFC_ISYM_IOR,
GFC_ISYM_IRAND,
+ GFC_ISYM_ISATTY,
GFC_ISYM_ISHFT,
GFC_ISYM_ISHFTC,
GFC_ISYM_KILL,
@@ -427,13 +428,19 @@ typedef struct
unsigned sequence:1, elemental:1, pure:1, recursive:1;
unsigned unmaskable:1, masked:1, contained:1;
+ /* This is set if the subroutine doesn't return. Currently, this
+ is only possible for intrinsic subroutines. */
+ unsigned noreturn:1;
+
/* Set if this procedure is an alternate entry point. These procedures
don't have any code associated, and the backend will turn them into
thunks to the master function. */
unsigned entry:1;
+
/* Set if this is the master function for a procedure with multiple
entry points. */
unsigned entry_master:1;
+
/* Set if this is the master function for a function with multiple
entry points where characteristics of the entry points differ. */
unsigned mixed_entry_master:1;
@@ -445,6 +452,11 @@ typedef struct
modification of type or type parameters is permitted. */
unsigned referenced:1;
+ /* Set if the is the symbol for the main program. This is the least
+ cumbersome way to communicate this function property without
+ strcmp'ing with __MAIN everywhere. */
+ unsigned is_main_program:1;
+
/* Mutually exclusive multibit attributes. */
ENUM_BITFIELD (gfc_access) access:2;
ENUM_BITFIELD (sym_intent) intent:2;
@@ -509,13 +521,6 @@ typedef struct
#endif
-#include <limits.h>
-#ifndef PATH_MAX
-# include <sys/param.h>
-# define PATH_MAX MAXPATHLEN
-#endif
-
-
extern int gfc_suppress_error;
@@ -1031,7 +1036,7 @@ typedef struct gfc_intrinsic_sym
const char *name, *lib_name;
gfc_intrinsic_arg *formal;
gfc_typespec ts;
- int elemental, pure, generic, specific, actual_ok, standard;
+ int elemental, pure, generic, specific, actual_ok, standard, noreturn;
gfc_simplify_f simplify;
gfc_check_f check;
@@ -1325,7 +1330,7 @@ typedef enum
EXEC_ALLOCATE, EXEC_DEALLOCATE,
EXEC_OPEN, EXEC_CLOSE,
EXEC_READ, EXEC_WRITE, EXEC_IOLENGTH, EXEC_TRANSFER, EXEC_DT_END,
- EXEC_BACKSPACE, EXEC_ENDFILE, EXEC_INQUIRE, EXEC_REWIND
+ EXEC_BACKSPACE, EXEC_ENDFILE, EXEC_INQUIRE, EXEC_REWIND, EXEC_FLUSH
}
gfc_exec_op;
@@ -1406,7 +1411,6 @@ gfc_data;
/* Structure for holding compile options */
typedef struct
{
- const char *source;
char *module_dir;
gfc_source_form source_form;
int fixed_line_length;
@@ -1434,7 +1438,9 @@ typedef struct
int flag_pack_derived;
int flag_repack_arrays;
int flag_f2c;
+ int flag_automatic;
int flag_backslash;
+ int flag_d_lines;
int q_kind;
@@ -1506,10 +1512,10 @@ int gfc_next_char (void);
int gfc_peek_char (void);
void gfc_error_recovery (void);
void gfc_gobble_whitespace (void);
-try gfc_new_file (const char *, gfc_source_form);
+try gfc_new_file (void);
extern gfc_source_form gfc_current_form;
-extern char *gfc_source_file;
+extern const char *gfc_source_file;
extern locus gfc_current_locus;
/* misc.c */
@@ -1778,6 +1784,7 @@ int gfc_pure (gfc_symbol *);
int gfc_elemental (gfc_symbol *);
try gfc_resolve_iterator (gfc_iterator *, bool);
try gfc_resolve_index (gfc_expr *, int);
+try gfc_resolve_dim_arg (gfc_expr *);
/* array.c */
void gfc_free_array_spec (gfc_array_spec *);
diff --git a/gcc/fortran/gfortran.texi b/gcc/fortran/gfortran.texi
index fcd2b0b6a3e..7d26d5fba09 100644
--- a/gcc/fortran/gfortran.texi
+++ b/gcc/fortran/gfortran.texi
@@ -729,6 +729,15 @@ had been called:
To aid this dialog, when input is from stdin, errors send their
messages to stderr and execution continues, even if IOSTAT is set.
+PRINT namelist is permitted. This causes an error if -std=f95 is used.
+@smallexample
+PROGRAM test_print
+ REAL, dimension (4) :: x = (/1.0, 2.0, 3.0, 4.0/)
+ NAMELIST /mynml/ x
+ PRINT mynml
+END PROGRAM test_print
+@end smallexample
+
@node X format descriptor
@section X format descriptor
@cindex X format descriptor
@@ -798,7 +807,7 @@ As a GNU extension for backwards compatibility with other compilers,
and vice versa. When converting from a LOGICAL to an INTEGER, the numeric
value of @code{.FALSE.} is zero, and that of @code{.TRUE.} is one. When
converting from INTEGER to LOGICAL, the value zero is interpreted as
-@code{.FALSE.} and any non-zero value is interpreted as @code{.TRUE.}.
+@code{.FALSE.} and any nonzero value is interpreted as @code{.TRUE.}.
@smallexample
INTEGER*4 i
diff --git a/gcc/fortran/intrinsic.c b/gcc/fortran/intrinsic.c
index 67d95df2f3a..180e7ae36f6 100644
--- a/gcc/fortran/intrinsic.c
+++ b/gcc/fortran/intrinsic.c
@@ -843,6 +843,14 @@ make_alias (const char *name, int standard)
}
}
+/* Make the current subroutine noreturn. */
+
+static void
+make_noreturn(void)
+{
+ if (sizing == SZ_NOTHING)
+ next_sym[-1].noreturn = 1;
+}
/* Add intrinsic functions. */
@@ -1468,6 +1476,12 @@ add_functions (void)
make_generic ("irand", GFC_ISYM_IRAND, GFC_STD_GNU);
+ add_sym_1 ("isatty", 0, 0, BT_LOGICAL, dl, GFC_STD_GNU,
+ gfc_check_isatty, NULL, gfc_resolve_isatty,
+ ut, BT_INTEGER, di, REQUIRED);
+
+ make_generic ("isatty", GFC_ISYM_ISATTY, GFC_STD_GNU);
+
add_sym_2 ("ishft", 1, 1, BT_INTEGER, di, GFC_STD_F95,
gfc_check_ishft, gfc_simplify_ishft, gfc_resolve_ishft,
i, BT_INTEGER, di, REQUIRED, sh, BT_INTEGER, di, REQUIRED);
@@ -2102,6 +2116,8 @@ add_subroutines (void)
add_sym_0s ("abort", 1, GFC_STD_GNU, NULL);
+ make_noreturn();
+
add_sym_1s ("cpu_time", 0, 1, BT_UNKNOWN, 0, GFC_STD_F95,
gfc_check_cpu_time, NULL, gfc_resolve_cpu_time,
tm, BT_REAL, dr, REQUIRED);
@@ -2193,6 +2209,8 @@ add_subroutines (void)
gfc_check_exit, NULL, gfc_resolve_exit,
c, BT_INTEGER, di, OPTIONAL);
+ make_noreturn();
+
add_sym_1s ("flush", 0, 1, BT_UNKNOWN, 0, GFC_STD_GNU,
gfc_check_flush, NULL, gfc_resolve_flush,
c, BT_INTEGER, di, OPTIONAL);
@@ -2247,6 +2265,10 @@ add_subroutines (void)
c, BT_INTEGER, di, OPTIONAL, cr, BT_INTEGER, di, OPTIONAL,
cm, BT_INTEGER, di, OPTIONAL);
+ add_sym_2s ("ttynam", 0, 1, BT_UNKNOWN, 0, GFC_STD_GNU,
+ gfc_check_ttynam_sub, NULL, gfc_resolve_ttynam_sub,
+ ut, BT_INTEGER, di, REQUIRED, c, BT_CHARACTER, dc, REQUIRED);
+
add_sym_2s ("umask", 0, 1, BT_UNKNOWN, 0, GFC_STD_GNU,
gfc_check_umask_sub, NULL, gfc_resolve_umask_sub,
val, BT_INTEGER, di, REQUIRED, num, BT_INTEGER, di, OPTIONAL);
@@ -3151,6 +3173,7 @@ gfc_intrinsic_sub_interface (gfc_code * c, int error_flag)
return MATCH_ERROR;
}
+ c->resolved_sym->attr.noreturn = isym->noreturn;
check_intrinsic_standard (name, isym->standard, &c->loc);
return MATCH_YES;
diff --git a/gcc/fortran/intrinsic.h b/gcc/fortran/intrinsic.h
index 9c7a844845c..a10e84465ad 100644
--- a/gcc/fortran/intrinsic.h
+++ b/gcc/fortran/intrinsic.h
@@ -70,6 +70,7 @@ try gfc_check_index (gfc_expr *, gfc_expr *, gfc_expr *);
try gfc_check_int (gfc_expr *, gfc_expr *);
try gfc_check_ior (gfc_expr *, gfc_expr *);
try gfc_check_irand (gfc_expr *);
+try gfc_check_isatty (gfc_expr *);
try gfc_check_ishft (gfc_expr *, gfc_expr *);
try gfc_check_ishftc (gfc_expr *, gfc_expr *, gfc_expr *);
try gfc_check_kill (gfc_expr *, gfc_expr *);
@@ -148,6 +149,7 @@ try gfc_check_symlnk_sub (gfc_expr *, gfc_expr *, gfc_expr *);
try gfc_check_sleep_sub (gfc_expr *);
try gfc_check_stat_sub (gfc_expr *, gfc_expr *, gfc_expr *);
try gfc_check_system_sub (gfc_expr *, gfc_expr *);
+try gfc_check_ttynam_sub (gfc_expr *, gfc_expr *);
try gfc_check_umask_sub (gfc_expr *, gfc_expr *);
try gfc_check_unlink_sub (gfc_expr *, gfc_expr *);
@@ -316,6 +318,7 @@ void gfc_resolve_ichar (gfc_expr *, gfc_expr *);
void gfc_resolve_idnint (gfc_expr *, gfc_expr *);
void gfc_resolve_int (gfc_expr *, gfc_expr *, gfc_expr *);
void gfc_resolve_ior (gfc_expr *, gfc_expr *, gfc_expr *);
+void gfc_resolve_isatty (gfc_expr *, gfc_expr *);
void gfc_resolve_ishft (gfc_expr *, gfc_expr *, gfc_expr *);
void gfc_resolve_ishftc (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
void gfc_resolve_kill (gfc_expr *, gfc_expr *, gfc_expr *);
@@ -402,6 +405,7 @@ void gfc_resolve_sleep_sub (gfc_code *);
void gfc_resolve_stat_sub (gfc_code *);
void gfc_resolve_system_clock (gfc_code *);
void gfc_resolve_system_sub (gfc_code *);
+void gfc_resolve_ttynam_sub (gfc_code *);
void gfc_resolve_umask_sub (gfc_code *);
void gfc_resolve_unlink_sub (gfc_code *);
diff --git a/gcc/fortran/intrinsic.texi b/gcc/fortran/intrinsic.texi
index 3c65474ba89..0ac6a54b481 100644
--- a/gcc/fortran/intrinsic.texi
+++ b/gcc/fortran/intrinsic.texi
@@ -83,7 +83,10 @@ and editing. All contributions and corrections are strongly encouraged.
* @code{ERFC}: ERFC, Complementary error function
* @code{ETIME}: ETIME, Execution time subroutine (or function)
* @code{EXIT}: EXIT, Exit the program with status.
-* @code{EXP}: EXP, Cosine function
+* @code{EXP}: EXP, Exponential function
+* @code{EXPONENT}: EXPONENT, Exponent function
+* @code{FLOOR}: FLOOR, Integer floor function
+* @code{FNUM}: FNUM, File number function
* @code{LOG}: LOG, Logarithm function
* @code{LOG10}: LOG10, Base 10 logarithm function
* @code{SQRT}: SQRT, Square-root function
@@ -1322,7 +1325,7 @@ f95, gnu
elemental function
@item @emph{Syntax}:
-@code{X = CEILING(X[,KIND])}
+@code{I = CEILING(X[,KIND])}
@item @emph{Arguments}:
@multitable @columnfractions .15 .80
@@ -2593,6 +2596,128 @@ end program test_exp
+@node EXPONENT
+@section @code{EXPONENT} --- Exponent function
+@findex @code{EXPONENT} intrinsic
+@cindex exponent function
+
+@table @asis
+@item @emph{Description}:
+@code{EXPONENT(X)} returns the value of the exponent part of @var{X}. If @var{X}
+is zero the value returned is zero.
+
+@item @emph{Option}:
+f95, gnu
+
+@item @emph{Class}:
+elemental function
+
+@item @emph{Syntax}:
+@code{I = EXPONENT(X)}
+
+@item @emph{Arguments}:
+@multitable @columnfractions .15 .80
+@item @var{X} @tab The type shall be @code{REAL(*)}.
+@end multitable
+
+@item @emph{Return value}:
+The return value is of type default @code{INTEGER}.
+
+@item @emph{Example}:
+@smallexample
+program test_exponent
+ real :: x = 1.0
+ integer :: i
+ i = exponent(x)
+ print *, i
+ print *, exponent(0.0)
+end program test_exponent
+@end smallexample
+@end table
+
+
+
+@node FLOOR
+@section @code{FLOOR} --- Integer floor function
+@findex @code{FLOOR} intrinsic
+@cindex floor
+
+@table @asis
+@item @emph{Description}:
+@code{FLOOR(X)} returns the greatest integer less than or equal to @var{X}.
+
+@item @emph{Option}:
+f95, gnu
+
+@item @emph{Class}:
+elemental function
+
+@item @emph{Syntax}:
+@code{I = FLOOR(X[,KIND])}
+
+@item @emph{Arguments}:
+@multitable @columnfractions .15 .80
+@item @var{X} @tab The type shall be @code{REAL(*)}.
+@item @var{KIND} @tab Optional scaler integer initialization expression.
+@end multitable
+
+@item @emph{Return value}:
+The return value is of type @code{INTEGER(KIND)}
+
+@item @emph{Example}:
+@smallexample
+program test_floor
+ real :: x = 63.29
+ real :: y = -63.59
+ print *, floor(x) ! returns 63
+ print *, floor(y) ! returns -64
+end program test_floor
+@end smallexample
+@end table
+
+
+
+@node FNUM
+@section @code{FNUM} --- File number function
+@findex @code{FNUM} intrinsic
+@cindex fnum
+
+@table @asis
+@item @emph{Description}:
+@code{FNUM(UNIT)} returns the Posix file descriptor number corresponding to the
+open Fortran I/O unit @code{UNIT}.
+
+@item @emph{Option}:
+gnu
+
+@item @emph{Class}:
+non-elemental function
+
+@item @emph{Syntax}:
+@code{I = FNUM(UNIT)}
+
+@item @emph{Arguments}:
+@multitable @columnfractions .15 .80
+@item @var{UNIT} @tab The type shall be @code{INTEGER}.
+@end multitable
+
+@item @emph{Return value}:
+The return value is of type @code{INTEGER}
+
+@item @emph{Example}:
+@smallexample
+program test_fnum
+ integer :: i
+ open (unit=10, status = "scratch")
+ i = fnum(10)
+ print *, i
+ close (10)
+end program test_fnum
+@end smallexample
+@end table
+
+
+
@node LOG
@section @code{LOG} --- Logarithm function
@findex @code{LOG} intrinsic
@@ -2935,16 +3060,8 @@ end program test_tanh
-@comment sub exit
-@comment
-@comment gen exponent
-@comment
-@comment gen floor
-@comment
@comment sub flush
@comment
-@comment gen fnum
-@comment
@comment gen fraction
@comment
@comment gen fstat
diff --git a/gcc/fortran/invoke.texi b/gcc/fortran/invoke.texi
index bef98a59183..847ab29f701 100644
--- a/gcc/fortran/invoke.texi
+++ b/gcc/fortran/invoke.texi
@@ -117,7 +117,7 @@ by type. Explanations are in the following sections.
@gccoptlist{
-ffree-form -fno-fixed-form @gol
-fdollar-ok -fimplicit-none -fmax-identifier-length @gol
--std=@var{std}
+-std=@var{std} -fd-lines-as-code -fd-lines-as-comments @gol
-ffixed-line-length-@var{n} -ffixed-line-length-none @gol
-fdefault-double-8 -fdefault-integer-8 -fdefault-real-8 }
@@ -143,7 +143,7 @@ by type. Explanations are in the following sections.
@item Code Generation Options
@xref{Code Gen Options,,Options for Code Generation Conventions}.
@gccoptlist{
--ff2c -fno-underscoring -fsecond-underscore @gol
+-fno-automatic -ff2c -fno-underscoring -fsecond-underscore @gol
-fbounds-check -fmax-stack-var-size=@var{n} @gol
-fpackderived -frepack-arrays}
@end table
@@ -179,10 +179,22 @@ that the compiler accepts:
@cindex Fortran 90, features
@item -ffree-form
@item -ffixed-form
-Specify the layout used by the the source file. The free form layout
+Specify the layout used by the source file. The free form layout
was introduced in Fortran 90. Fixed form was traditionally used in
older Fortran programs.
+@cindex option, -fd-lines-as-code
+@cindex -fd-lines-as-code, option
+@cindex option, -fd-lines-as-comments
+@cindex -fd-lines-as-comments, option
+@item -fd-lines-as-code
+@item -fd-lines-as-comment
+Enables special treating for lines with @samp{d} or @samp{D} in fixed
+form sources. If the @option{-fd-lines-as-code} option is given
+they are treated as if the first column contained a blank. If the
+@option{-fd-lines-as-comments} option is given, they are treated as
+comment lines.
+
@cindex option, -fdefault-double-8
@cindex -fdefault-double-8, option
@item -fdefault-double-8
@@ -525,8 +537,17 @@ one of the forms is listed---the one which is not the default. You
can figure out the other form by either removing @option{no-} or adding
it.
-
@table @gcctabopt
+@cindex @option{-fno-automatic} option
+@cindex options, @option{-fno-automatic}
+@item -fno-automatic
+@cindex SAVE statement
+@cindex statements, SAVE
+Treat each program unit as if the @code{SAVE} statement was specified for
+every local variable and array referenced in it. Does not affect common
+blocks. (Some Fortran compilers provide this option under the name
+@option{-static}.)
+
@cindex @option{-ff2c} option
@cindex options, @option{-ff2c}
@item -ff2c
diff --git a/gcc/fortran/io.c b/gcc/fortran/io.c
index abfeead2f50..5b27eadc544 100644
--- a/gcc/fortran/io.c
+++ b/gcc/fortran/io.c
@@ -1340,7 +1340,7 @@ gfc_free_filepos (gfc_filepos * fp)
}
-/* Match elements of a REWIND, BACKSPACE or ENDFILE statement. */
+/* Match elements of a REWIND, BACKSPACE, ENDFILE, or FLUSH statement. */
static match
match_file_element (gfc_filepos * fp)
@@ -1362,7 +1362,7 @@ match_file_element (gfc_filepos * fp)
/* Match the second half of the file-positioning statements, REWIND,
- BACKSPACE or ENDFILE. */
+ BACKSPACE, ENDFILE, or the FLUSH statement. */
static match
match_filepos (gfc_statement st, gfc_exec_op op)
@@ -1446,8 +1446,8 @@ gfc_resolve_filepos (gfc_filepos * fp)
}
-/* Match the file positioning statements: ENDFILE, BACKSPACE or
- REWIND. */
+/* Match the file positioning statements: ENDFILE, BACKSPACE, REWIND,
+ and the FLUSH statement. */
match
gfc_match_endfile (void)
@@ -1470,6 +1470,14 @@ gfc_match_rewind (void)
return match_filepos (ST_REWIND, EXEC_REWIND);
}
+match
+gfc_match_flush (void)
+{
+ if (gfc_notify_std (GFC_STD_F2003, "Fortran 2003: FLUSH statement at %C") == FAILURE)
+ return MATCH_ERROR;
+
+ return match_filepos (ST_FLUSH, EXEC_FLUSH);
+}
/******************** Data Transfer Statements *********************/
@@ -2125,6 +2133,30 @@ match_io (io_kind k)
if (gfc_match_char ('(') == MATCH_NO)
{
+ /* Treat the non-standard case of PRINT namelist. */
+ if (k == M_PRINT && (gfc_match_name (name) == MATCH_YES)
+ && !gfc_find_symbol (name, NULL, 1, &sym)
+ && (sym->attr.flavor == FL_NAMELIST))
+ {
+ if (gfc_notify_std (GFC_STD_GNU, "PRINT namelist at "
+ "%C is an extension") == FAILURE)
+ {
+ m = MATCH_ERROR;
+ goto cleanup;
+ }
+ if (gfc_match_eos () == MATCH_NO)
+ {
+ gfc_error ("Namelist followed by I/O list at %C");
+ m = MATCH_ERROR;
+ goto cleanup;
+ }
+
+ dt->io_unit = default_unit (k);
+ dt->namelist = sym;
+ goto get_io_list;
+ }
+
+
if (k == M_WRITE)
goto syntax;
diff --git a/gcc/fortran/iresolve.c b/gcc/fortran/iresolve.c
index 1b14515350d..ef43946a55b 100644
--- a/gcc/fortran/iresolve.c
+++ b/gcc/fortran/iresolve.c
@@ -129,7 +129,7 @@ gfc_resolve_all (gfc_expr * f, gfc_expr * mask, gfc_expr * dim)
if (dim != NULL)
{
- gfc_resolve_index (dim, 1);
+ gfc_resolve_dim_arg (dim);
f->rank = mask->rank - 1;
f->shape = gfc_copy_shape_excluding (mask->shape, mask->rank, dim);
}
@@ -167,7 +167,7 @@ gfc_resolve_any (gfc_expr * f, gfc_expr * mask, gfc_expr * dim)
if (dim != NULL)
{
- gfc_resolve_index (dim, 1);
+ gfc_resolve_dim_arg (dim);
f->rank = mask->rank - 1;
f->shape = gfc_copy_shape_excluding (mask->shape, mask->rank, dim);
}
@@ -359,7 +359,7 @@ gfc_resolve_count (gfc_expr * f, gfc_expr * mask, gfc_expr * dim)
if (dim != NULL)
{
f->rank = mask->rank - 1;
- gfc_resolve_index (dim, 1);
+ gfc_resolve_dim_arg (dim);
f->shape = gfc_copy_shape_excluding (mask->shape, mask->rank, dim);
}
@@ -385,9 +385,19 @@ gfc_resolve_cshift (gfc_expr * f, gfc_expr * array,
else
n = 0;
+ /* Convert shift to at least gfc_default_integer_kind, so we don't need
+ kind=1 and kind=2 versions of the library functions. */
+ if (shift->ts.kind < gfc_default_integer_kind)
+ {
+ gfc_typespec ts;
+ ts.type = BT_INTEGER;
+ ts.kind = gfc_default_integer_kind;
+ gfc_convert_type_warn (shift, &ts, 2, 0);
+ }
+
if (dim != NULL)
{
- gfc_resolve_index (dim, 1);
+ gfc_resolve_dim_arg (dim);
/* Convert dim to shift's kind, so we don't need so many variations. */
if (dim->ts.kind != shift->ts.kind)
gfc_convert_type_warn (dim, &shift->ts, 2, 0);
@@ -474,10 +484,23 @@ gfc_resolve_eoshift (gfc_expr * f, gfc_expr * array,
if (boundary && boundary->rank > 0)
n = n | 2;
- /* Convert dim to the same type as shift, so we don't need quite so many
- variations. */
- if (dim != NULL && dim->ts.kind != shift->ts.kind)
- gfc_convert_type_warn (dim, &shift->ts, 2, 0);
+ /* Convert shift to at least gfc_default_integer_kind, so we don't need
+ kind=1 and kind=2 versions of the library functions. */
+ if (shift->ts.kind < gfc_default_integer_kind)
+ {
+ gfc_typespec ts;
+ ts.type = BT_INTEGER;
+ ts.kind = gfc_default_integer_kind;
+ gfc_convert_type_warn (shift, &ts, 2, 0);
+ }
+
+ if (dim != NULL)
+ {
+ gfc_resolve_dim_arg (dim);
+ /* Convert dim to shift's kind, so we don't need so many variations. */
+ if (dim->ts.kind != shift->ts.kind)
+ gfc_convert_type_warn (dim, &shift->ts, 2, 0);
+ }
f->value.function.name =
gfc_get_string (PREFIX("eoshift%d_%d"), n, shift->ts.kind);
@@ -712,6 +735,26 @@ gfc_resolve_int (gfc_expr * f, gfc_expr * a, gfc_expr * kind)
void
+gfc_resolve_isatty (gfc_expr * f, gfc_expr * u)
+{
+ gfc_typespec ts;
+
+ f->ts.type = BT_LOGICAL;
+ f->ts.kind = gfc_default_integer_kind;
+ if (u->ts.kind != gfc_c_int_kind)
+ {
+ ts.type = BT_INTEGER;
+ ts.kind = gfc_c_int_kind;
+ ts.derived = NULL;
+ ts.cl = NULL;
+ gfc_convert_type (u, &ts, 2);
+ }
+
+ f->value.function.name = gfc_get_string (PREFIX("isatty_l%d"), f->ts.kind);
+}
+
+
+void
gfc_resolve_ishft (gfc_expr * f, gfc_expr * i, gfc_expr * shift)
{
f->ts = i->ts;
@@ -901,7 +944,7 @@ gfc_resolve_maxloc (gfc_expr * f, gfc_expr * array, gfc_expr * dim,
else
{
f->rank = array->rank - 1;
- gfc_resolve_index (dim, 1);
+ gfc_resolve_dim_arg (dim);
}
name = mask ? "mmaxloc" : "maxloc";
@@ -920,7 +963,7 @@ gfc_resolve_maxval (gfc_expr * f, gfc_expr * array, gfc_expr * dim,
if (dim != NULL)
{
f->rank = array->rank - 1;
- gfc_resolve_index (dim, 1);
+ gfc_resolve_dim_arg (dim);
}
f->value.function.name =
@@ -962,7 +1005,7 @@ gfc_resolve_minloc (gfc_expr * f, gfc_expr * array, gfc_expr * dim,
else
{
f->rank = array->rank - 1;
- gfc_resolve_index (dim, 1);
+ gfc_resolve_dim_arg (dim);
}
name = mask ? "mminloc" : "minloc";
@@ -981,7 +1024,7 @@ gfc_resolve_minval (gfc_expr * f, gfc_expr * array, gfc_expr * dim,
if (dim != NULL)
{
f->rank = array->rank - 1;
- gfc_resolve_index (dim, 1);
+ gfc_resolve_dim_arg (dim);
}
f->value.function.name =
@@ -1078,7 +1121,7 @@ gfc_resolve_product (gfc_expr * f, gfc_expr * array, gfc_expr * dim,
if (dim != NULL)
{
f->rank = array->rank - 1;
- gfc_resolve_index (dim, 1);
+ gfc_resolve_dim_arg (dim);
}
f->value.function.name =
@@ -1321,7 +1364,7 @@ gfc_resolve_spread (gfc_expr * f, gfc_expr * source,
f->rank = source->rank + 1;
f->value.function.name = PREFIX("spread");
- gfc_resolve_index (dim, 1);
+ gfc_resolve_dim_arg (dim);
gfc_resolve_index (ncopies, 1);
}
@@ -1368,7 +1411,7 @@ gfc_resolve_sum (gfc_expr * f, gfc_expr * array, gfc_expr * dim,
if (dim != NULL)
{
f->rank = array->rank - 1;
- gfc_resolve_index (dim, 1);
+ gfc_resolve_dim_arg (dim);
}
f->value.function.name =
@@ -1939,6 +1982,25 @@ gfc_resolve_fstat_sub (gfc_code * c)
c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);
}
+
+void
+gfc_resolve_ttynam_sub (gfc_code * c)
+{
+ gfc_typespec ts;
+
+ if (c->ext.actual->expr->ts.kind != gfc_c_int_kind)
+ {
+ ts.type = BT_INTEGER;
+ ts.kind = gfc_c_int_kind;
+ ts.derived = NULL;
+ ts.cl = NULL;
+ gfc_convert_type (c->ext.actual->expr, &ts, 2);
+ }
+
+ c->resolved_sym = gfc_get_intrinsic_sub_symbol (PREFIX("ttynam_sub"));
+}
+
+
/* Resolve the UMASK intrinsic subroutine. */
void
diff --git a/gcc/fortran/lang.opt b/gcc/fortran/lang.opt
index edc8a754c56..8cad2349b61 100644
--- a/gcc/fortran/lang.opt
+++ b/gcc/fortran/lang.opt
@@ -69,6 +69,14 @@ Wunused-labels
F95
Warn when a label is unused
+fautomatic
+F95
+Do not treat local variables and COMMON blocks as if they were named in SAVE statements
+
+fbackslash
+F95
+Specify that backslash in string introduces an escape character
+
fdefault-double-8
F95
Set the default double precision kind to an 8 byte wide type
@@ -81,14 +89,18 @@ fdefault-real-8
F95
Set the default real kind to an 8 byte wide type
+fd-lines-as-code
+F95 RejectNegative
+Ignore 'D' in column one in fixed form
+
+fd-lines-as-comments
+F95 RejectNegative
+Treat lines with 'D' in column one as comments
+
fdollar-ok
F95
Allow dollar signs in entity names
-fbackslash
-F95
-Specify that backslash in string introduces an escape character
-
fdump-parse-tree
F95
Display the code tree after parsing
diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c
index 22a0263736a..87737fcced5 100644
--- a/gcc/fortran/match.c
+++ b/gcc/fortran/match.c
@@ -1074,6 +1074,7 @@ gfc_match_if (gfc_statement * if_type)
match ("deallocate", gfc_match_deallocate, ST_DEALLOCATE)
match ("end file", gfc_match_endfile, ST_END_FILE)
match ("exit", gfc_match_exit, ST_EXIT)
+ match ("flush", gfc_match_flush, ST_FLUSH)
match ("forall", match_simple_forall, ST_FORALL)
match ("go to", gfc_match_goto, ST_GOTO)
match ("if", match_arithmetic_if, ST_ARITHMETIC_IF)
diff --git a/gcc/fortran/match.h b/gcc/fortran/match.h
index 58d08283502..e8f8b8be1e7 100644
--- a/gcc/fortran/match.h
+++ b/gcc/fortran/match.h
@@ -154,6 +154,7 @@ match gfc_match_close (void);
match gfc_match_endfile (void);
match gfc_match_backspace (void);
match gfc_match_rewind (void);
+match gfc_match_flush (void);
match gfc_match_inquire (void);
match gfc_match_read (void);
match gfc_match_write (void);
diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c
index 58af479b90a..db510fdbc36 100644
--- a/gcc/fortran/module.c
+++ b/gcc/fortran/module.c
@@ -3479,14 +3479,22 @@ write_module (void)
void
gfc_dump_module (const char *name, int dump_flag)
{
- char filename[PATH_MAX], *p;
+ int n;
+ char *filename, *p;
time_t now;
- filename[0] = '\0';
+ n = strlen (name) + strlen (MODULE_EXTENSION) + 1;
if (gfc_option.module_dir != NULL)
- strcpy (filename, gfc_option.module_dir);
-
- strcat (filename, name);
+ {
+ filename = (char *) alloca (n + strlen (gfc_option.module_dir));
+ strcpy (filename, gfc_option.module_dir);
+ strcat (filename, name);
+ }
+ else
+ {
+ filename = (char *) alloca (n);
+ strcpy (filename, name);
+ }
strcat (filename, MODULE_EXTENSION);
if (!dump_flag)
@@ -3532,10 +3540,12 @@ gfc_dump_module (const char *name, int dump_flag)
void
gfc_use_module (void)
{
- char filename[GFC_MAX_SYMBOL_LEN + 5];
+ char *filename;
gfc_state_data *p;
int c, line;
+ filename = (char *) alloca(strlen(module_name) + strlen(MODULE_EXTENSION)
+ + 1);
strcpy (filename, module_name);
strcat (filename, MODULE_EXTENSION);
diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c
index b6121db79ab..8e8d6a889e0 100644
--- a/gcc/fortran/options.c
+++ b/gcc/fortran/options.c
@@ -42,7 +42,7 @@ unsigned int
gfc_init_options (unsigned int argc ATTRIBUTE_UNUSED,
const char **argv ATTRIBUTE_UNUSED)
{
- gfc_option.source = NULL;
+ gfc_source_file = NULL;
gfc_option.module_dir = NULL;
gfc_option.source_form = FORM_UNKNOWN;
gfc_option.fixed_line_length = 72;
@@ -70,7 +70,9 @@ gfc_init_options (unsigned int argc ATTRIBUTE_UNUSED,
gfc_option.flag_no_backend = 0;
gfc_option.flag_pack_derived = 0;
gfc_option.flag_repack_arrays = 0;
+ gfc_option.flag_automatic = 1;
gfc_option.flag_backslash = 1;
+ gfc_option.flag_d_lines = -1;
gfc_option.q_kind = gfc_default_double_kind;
@@ -89,6 +91,74 @@ gfc_init_options (unsigned int argc ATTRIBUTE_UNUSED,
}
+/* Determine the source form from the filename extension. We assume
+ case insensitivity. */
+
+static gfc_source_form
+form_from_filename (const char *filename)
+{
+
+ static const struct
+ {
+ const char *extension;
+ gfc_source_form form;
+ }
+ exttype[] =
+ {
+ {
+ ".f90", FORM_FREE}
+ ,
+ {
+ ".f95", FORM_FREE}
+ ,
+ {
+ ".f", FORM_FIXED}
+ ,
+ {
+ ".for", FORM_FIXED}
+ ,
+ {
+ "", FORM_UNKNOWN}
+ }; /* sentinel value */
+
+ gfc_source_form f_form;
+ const char *fileext;
+ int i;
+
+ /* Find end of file name. Note, filename is either a NULL pointer or
+ a NUL terminated string. */
+ i = 0;
+ while (filename[i] != '\0')
+ i++;
+
+ /* Find last period. */
+ while (i >= 0 && (filename[i] != '.'))
+ i--;
+
+ /* Did we see a file extension? */
+ if (i < 0)
+ return FORM_UNKNOWN; /* Nope */
+
+ /* Get file extension and compare it to others. */
+ fileext = &(filename[i]);
+
+ i = -1;
+ f_form = FORM_UNKNOWN;
+ do
+ {
+ i++;
+ if (strcasecmp (fileext, exttype[i].extension) == 0)
+ {
+ f_form = exttype[i].form;
+ break;
+ }
+ }
+ while (exttype[i].form != FORM_UNKNOWN);
+
+ return f_form;
+}
+
+
/* Finalize commandline options. */
bool
@@ -102,7 +172,35 @@ gfc_post_options (const char **pfilename)
filename = "";
}
- gfc_option.source = filename;
+ gfc_source_file = filename;
+
+ /* Decide which form the file will be read in as. */
+
+ if (gfc_option.source_form != FORM_UNKNOWN)
+ gfc_current_form = gfc_option.source_form;
+ else
+ {
+ gfc_current_form = form_from_filename (filename);
+
+ if (gfc_current_form == FORM_UNKNOWN)
+ {
+ gfc_current_form = FORM_FREE;
+ gfc_warning_now ("Reading file '%s' as free form.",
+ (filename[0] == '\0') ? "<stdin>" : filename);
+ }
+ }
+
+ /* If the user specified -fd-lines-as-{code|comments} verify that we're
+ in fixed form. */
+ if (gfc_current_form == FORM_FREE)
+ {
+ if (gfc_option.flag_d_lines == 0)
+ gfc_warning_now ("'-fd-lines-as-comments' has no effect "
+ "in free form.");
+ else if (gfc_option.flag_d_lines == 1)
+ gfc_warning_now ("'-fd-lines-as-code' has no effect "
+ "in free form.");
+ }
flag_inline_trees = 1;
@@ -234,10 +332,22 @@ gfc_handle_option (size_t scode, const char *arg, int value)
gfc_option.flag_dollar_ok = value;
break;
+ case OPT_fautomatic:
+ gfc_option.flag_automatic = value;
+ break;
+
case OPT_fbackslash:
gfc_option.flag_backslash = value;
break;
+ case OPT_fd_lines_as_code:
+ gfc_option.flag_d_lines = 1;
+ break;
+
+ case OPT_fd_lines_as_comments:
+ gfc_option.flag_d_lines = 0;
+ break;
+
case OPT_fdump_parse_tree:
gfc_option.verbose = value;
break;
diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c
index 24e5c993a77..9c404d5bebe 100644
--- a/gcc/fortran/parse.c
+++ b/gcc/fortran/parse.c
@@ -75,13 +75,16 @@ match_word (const char *str, match (*subr) (void), locus * old_locus)
/* Figure out what the next statement is, (mostly) regardless of
- proper ordering. */
+ proper ordering. The do...while(0) is there to prevent if/else
+ ambiguity. */
#define match(keyword, subr, st) \
- if (match_word(keyword, subr, &old_locus) == MATCH_YES) \
- return st; \
- else \
- undo_new_statement ();
+ do { \
+ if (match_word(keyword, subr, &old_locus) == MATCH_YES) \
+ return st; \
+ else \
+ undo_new_statement (); \
+ } while (0);
static gfc_statement
decode_statement (void)
@@ -212,6 +215,7 @@ decode_statement (void)
break;
case 'f':
+ match ("flush", gfc_match_flush, ST_FLUSH);
match ("format", gfc_match_format, ST_FORMAT);
break;
@@ -526,7 +530,8 @@ next_statement (void)
case ST_READ: case ST_RETURN: case ST_REWIND: case ST_SIMPLE_IF: \
case ST_PAUSE: case ST_STOP: case ST_WRITE: case ST_ASSIGNMENT: \
case ST_POINTER_ASSIGNMENT: case ST_EXIT: case ST_CYCLE: \
- case ST_ARITHMETIC_IF: case ST_WHERE: case ST_FORALL: case ST_LABEL_ASSIGNMENT
+ case ST_ARITHMETIC_IF: case ST_WHERE: case ST_FORALL: \
+ case ST_LABEL_ASSIGNMENT: case ST_FLUSH
/* Statements that mark other executable statements. */
@@ -833,6 +838,9 @@ gfc_ascii_statement (gfc_statement st)
case ST_EXIT:
p = "EXIT";
break;
+ case ST_FLUSH:
+ p = "FLUSH";
+ break;
case ST_FORALL_BLOCK: /* Fall through */
case ST_FORALL:
p = "FORALL";
diff --git a/gcc/fortran/primary.c b/gcc/fortran/primary.c
index 888caffa5c2..560b5facfff 100644
--- a/gcc/fortran/primary.c
+++ b/gcc/fortran/primary.c
@@ -247,7 +247,7 @@ match_hollerith_constant (gfc_expr ** result)
&& gfc_match_char ('h') == MATCH_YES)
{
if (gfc_notify_std (GFC_STD_LEGACY,
- "Extention: Hollerith constant at %C")
+ "Extension: Hollerith constant at %C")
== FAILURE)
goto cleanup;
@@ -760,7 +760,7 @@ next_string_char (char delimiter)
/* Special case of gfc_match_name() that matches a parameter kind name
before a string constant. This takes case of the weird but legal
- case of: weird case of:
+ case of:
kind_____'string'
@@ -1517,28 +1517,42 @@ match_varspec (gfc_expr * primary, int equiv_flag)
char name[GFC_MAX_SYMBOL_LEN + 1];
gfc_ref *substring, *tail;
gfc_component *component;
- gfc_symbol *sym;
+ gfc_symbol *sym = primary->symtree->n.sym;
match m;
tail = NULL;
- if (primary->symtree->n.sym->attr.dimension
- || (equiv_flag
- && gfc_peek_char () == '('))
+ if ((equiv_flag && gfc_peek_char () == '(')
+ || sym->attr.dimension)
{
-
+ /* In EQUIVALENCE, we don't know yet whether we are seeing
+ an array, character variable or array of character
+ variables. We'll leave the decision till resolve
+ time. */
tail = extend_ref (primary, tail);
tail->type = REF_ARRAY;
- m = gfc_match_array_ref (&tail->u.ar, primary->symtree->n.sym->as,
- equiv_flag);
+ m = gfc_match_array_ref (&tail->u.ar, equiv_flag ? NULL : sym->as,
+ equiv_flag);
if (m != MATCH_YES)
return m;
+
+ if (equiv_flag && gfc_peek_char () == '(')
+ {
+ tail = extend_ref (primary, tail);
+ tail->type = REF_ARRAY;
+
+ m = gfc_match_array_ref (&tail->u.ar, NULL, equiv_flag);
+ if (m != MATCH_YES)
+ return m;
+ }
}
- sym = primary->symtree->n.sym;
primary->ts = sym->ts;
+ if (equiv_flag)
+ return MATCH_YES;
+
if (sym->ts.type != BT_DERIVED || gfc_match_char ('%') != MATCH_YES)
goto check_substring;
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 8718f4d4529..968d137c440 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -404,7 +404,7 @@ resolve_entries (gfc_namespace * ns)
}
else
{
- /* Otherwise the result will be passed through an union by
+ /* Otherwise the result will be passed through a union by
reference. */
proc->attr.mixed_entry_master = 1;
for (el = ns->entries; el; el = el->next)
@@ -1828,6 +1828,40 @@ gfc_resolve_index (gfc_expr * index, int check_scalar)
return SUCCESS;
}
+/* Resolve a dim argument to an intrinsic function. */
+
+try
+gfc_resolve_dim_arg (gfc_expr *dim)
+{
+ if (dim == NULL)
+ return SUCCESS;
+
+ if (gfc_resolve_expr (dim) == FAILURE)
+ return FAILURE;
+
+ if (dim->rank != 0)
+ {
+ gfc_error ("Argument dim at %L must be scalar", &dim->where);
+ return FAILURE;
+
+ }
+ if (dim->ts.type != BT_INTEGER)
+ {
+ gfc_error ("Argument dim at %L must be of INTEGER type", &dim->where);
+ return FAILURE;
+ }
+ if (dim->ts.kind != gfc_index_integer_kind)
+ {
+ gfc_typespec ts;
+
+ ts.type = BT_INTEGER;
+ ts.kind = gfc_index_integer_kind;
+
+ gfc_convert_type_warn (dim, &ts, 2, 0);
+ }
+
+ return SUCCESS;
+}
/* Given an expression that contains array references, update those array
references to point to the right array specifications. While this is
@@ -3953,6 +3987,7 @@ resolve_code (gfc_code * code, gfc_namespace * ns)
case EXEC_BACKSPACE:
case EXEC_ENDFILE:
case EXEC_REWIND:
+ case EXEC_FLUSH:
if (gfc_resolve_filepos (code->ext.filepos) == FAILURE)
break;
@@ -4757,7 +4792,7 @@ resolve_equivalence_derived (gfc_symbol *derived, gfc_symbol *sym, gfc_expr *e)
sequence derived type containing a pointer at any level of component
selection, an automatic object, a function name, an entry name, a result
name, a named constant, a structure component, or a subobject of any of
- the preceding objects. */
+ the preceding objects. A substring shall not have length zero. */
static void
resolve_equivalence (gfc_equiv *eq)
@@ -4770,6 +4805,69 @@ resolve_equivalence (gfc_equiv *eq)
for (; eq; eq = eq->eq)
{
e = eq->expr;
+
+ e->ts = e->symtree->n.sym->ts;
+ /* match_varspec might not know yet if it is seeing
+ array reference or substring reference, as it doesn't
+ know the types. */
+ if (e->ref && e->ref->type == REF_ARRAY)
+ {
+ gfc_ref *ref = e->ref;
+ sym = e->symtree->n.sym;
+
+ if (sym->attr.dimension)
+ {
+ ref->u.ar.as = sym->as;
+ ref = ref->next;
+ }
+
+ /* For substrings, convert REF_ARRAY into REF_SUBSTRING. */
+ if (e->ts.type == BT_CHARACTER
+ && ref
+ && ref->type == REF_ARRAY
+ && ref->u.ar.dimen == 1
+ && ref->u.ar.dimen_type[0] == DIMEN_RANGE
+ && ref->u.ar.stride[0] == NULL)
+ {
+ gfc_expr *start = ref->u.ar.start[0];
+ gfc_expr *end = ref->u.ar.end[0];
+ void *mem = NULL;
+
+ /* Optimize away the (:) reference. */
+ if (start == NULL && end == NULL)
+ {
+ if (e->ref == ref)
+ e->ref = ref->next;
+ else
+ e->ref->next = ref->next;
+ mem = ref;
+ }
+ else
+ {
+ ref->type = REF_SUBSTRING;
+ if (start == NULL)
+ start = gfc_int_expr (1);
+ ref->u.ss.start = start;
+ if (end == NULL && e->ts.cl)
+ end = gfc_copy_expr (e->ts.cl->length);
+ ref->u.ss.end = end;
+ ref->u.ss.length = e->ts.cl;
+ e->ts.cl = NULL;
+ }
+ ref = ref->next;
+ gfc_free (mem);
+ }
+
+ /* Any further ref is an error. */
+ if (ref)
+ {
+ gcc_assert (ref->type == REF_ARRAY);
+ gfc_error ("Syntax error in EQUIVALENCE statement at %L",
+ &ref->u.ar.where);
+ continue;
+ }
+ }
+
if (gfc_resolve_expr (e) == FAILURE)
continue;
@@ -4832,19 +4930,30 @@ resolve_equivalence (gfc_equiv *eq)
continue;
}
- /* Shall not be a structure component. */
r = e->ref;
while (r)
{
- if (r->type == REF_COMPONENT)
- {
- gfc_error ("Structure component '%s' at %L cannot be an "
- "EQUIVALENCE object",
- r->u.c.component->name, &e->where);
- break;
- }
- r = r->next;
- }
+ /* Shall not be a structure component. */
+ if (r->type == REF_COMPONENT)
+ {
+ gfc_error ("Structure component '%s' at %L cannot be an "
+ "EQUIVALENCE object",
+ r->u.c.component->name, &e->where);
+ break;
+ }
+
+ /* A substring shall not have length zero. */
+ if (r->type == REF_SUBSTRING)
+ {
+ if (compare_bound (r->u.ss.start, r->u.ss.end) == CMP_GT)
+ {
+ gfc_error ("Substring at %L has length zero",
+ &r->u.ss.start->where);
+ break;
+ }
+ }
+ r = r->next;
+ }
}
}
@@ -4944,7 +5053,7 @@ gfc_resolve (gfc_namespace * ns)
gfc_traverse_ns (ns, resolve_values);
- if (ns->save_all)
+ if (!gfc_option.flag_automatic || ns->save_all)
gfc_save_all (ns);
iter_stack = NULL;
diff --git a/gcc/fortran/scanner.c b/gcc/fortran/scanner.c
index eee3a684fc3..738e17280a0 100644
--- a/gcc/fortran/scanner.c
+++ b/gcc/fortran/scanner.c
@@ -65,7 +65,7 @@ gfc_source_form gfc_current_form;
static gfc_linebuf *line_head, *line_tail;
locus gfc_current_locus;
-char *gfc_source_file;
+const char *gfc_source_file;
/* Main scanner initialization. */
@@ -164,7 +164,7 @@ gfc_release_include_path (void)
FILE *
gfc_open_included_file (const char *name)
{
- char fullname[PATH_MAX];
+ char *fullname;
gfc_directorylist *p;
FILE *f;
@@ -174,9 +174,7 @@ gfc_open_included_file (const char *name)
for (p = include_dirs; p; p = p->next)
{
- if (strlen (p->path) + strlen (name) + 1 > PATH_MAX)
- continue;
-
+ fullname = (char *) alloca(strlen (p->path) + strlen (name) + 1);
strcpy (fullname, p->path);
strcat (fullname, name);
@@ -357,7 +355,8 @@ skip_free_comments (void)
/* Skip comment lines in fixed source mode. We have the same rules as
in skip_free_comment(), except that we can have a 'c', 'C' or '*'
- in column 1, and a '!' cannot be in column 6. */
+ in column 1, and a '!' cannot be in column 6. Also, we deal with
+ lines with 'd' or 'D' in column 1, if the user requested this. */
static void
skip_fixed_comments (void)
@@ -385,13 +384,24 @@ skip_fixed_comments (void)
continue;
}
+ if (gfc_option.flag_d_lines != -1 && (c == 'd' || c == 'D'))
+ {
+ if (gfc_option.flag_d_lines == 0)
+ {
+ skip_comment_line ();
+ continue;
+ }
+ else
+ *start.nextc = c = ' ';
+ }
+
col = 1;
- do
+
+ while (gfc_is_whitespace (c))
{
c = next_char ();
col++;
}
- while (gfc_is_whitespace (c));
if (c == '\n')
{
@@ -798,7 +808,7 @@ load_line (FILE * input, char **pbuf, int *pbuflen)
the file stack. */
static gfc_file *
-get_file (char *name, enum lc_reason reason ATTRIBUTE_UNUSED)
+get_file (const char *name, enum lc_reason reason ATTRIBUTE_UNUSED)
{
gfc_file *f;
@@ -882,7 +892,7 @@ preprocessor_line (char *c)
/* Get flags. */
- flag[1] = flag[2] = flag[3] = flag[4] = flag[5] = false;
+ flag[1] = flag[2] = flag[3] = flag[4] = false;
for (;;)
{
@@ -940,7 +950,7 @@ preprocessor_line (char *c)
}
-static try load_file (char *, bool);
+static try load_file (const char *, bool);
/* include_line()-- Checks a line buffer to see if it is an include
line. If so, we call load_file() recursively to load the included
@@ -998,7 +1008,7 @@ include_line (char *line)
/* Load a file into memory by calling load_line until the file ends. */
static try
-load_file (char *filename, bool initial)
+load_file (const char *filename, bool initial)
{
char *line;
gfc_linebuf *b;
@@ -1099,111 +1109,16 @@ load_file (char *filename, bool initial)
}
-/* Determine the source form from the filename extension. We assume
- case insensitivity. */
-
-static gfc_source_form
-form_from_filename (const char *filename)
-{
-
- static const struct
- {
- const char *extension;
- gfc_source_form form;
- }
- exttype[] =
- {
- {
- ".f90", FORM_FREE}
- ,
- {
- ".f95", FORM_FREE}
- ,
- {
- ".f", FORM_FIXED}
- ,
- {
- ".for", FORM_FIXED}
- ,
- {
- "", FORM_UNKNOWN}
- }; /* sentinel value */
-
- gfc_source_form f_form;
- const char *fileext;
- int i;
-
- /* Find end of file name. */
- i = 0;
- while ((i < PATH_MAX) && (filename[i] != '\0'))
- i++;
-
- /* Improperly terminated or too-long filename. */
- if (i == PATH_MAX)
- return FORM_UNKNOWN;
-
- /* Find last period. */
- while (i >= 0 && (filename[i] != '.'))
- i--;
-
- /* Did we see a file extension? */
- if (i < 0)
- return FORM_UNKNOWN; /* Nope */
-
- /* Get file extension and compare it to others. */
- fileext = &(filename[i]);
-
- i = -1;
- f_form = FORM_UNKNOWN;
- do
- {
- i++;
- if (strcasecmp (fileext, exttype[i].extension) == 0)
- {
- f_form = exttype[i].form;
- break;
- }
- }
- while (exttype[i].form != FORM_UNKNOWN);
-
- return f_form;
-}
-
-
/* Open a new file and start scanning from that file. Returns SUCCESS
if everything went OK, FAILURE otherwise. If form == FORM_UKNOWN
it tries to determine the source form from the filename, defaulting
to free form. */
try
-gfc_new_file (const char *filename, gfc_source_form form)
+gfc_new_file (void)
{
try result;
- if (filename != NULL)
- {
- gfc_source_file = gfc_getmem (strlen (filename) + 1);
- strcpy (gfc_source_file, filename);
- }
- else
- gfc_source_file = NULL;
-
- /* Decide which form the file will be read in as. */
-
- if (form != FORM_UNKNOWN)
- gfc_current_form = form;
- else
- {
- gfc_current_form = form_from_filename (filename);
-
- if (gfc_current_form == FORM_UNKNOWN)
- {
- gfc_current_form = FORM_FREE;
- gfc_warning_now ("Reading file '%s' as free form.",
- (filename[0] == '\0') ? "<stdin>" : filename);
- }
- }
-
result = load_file (gfc_source_file, true);
gfc_current_locus.lb = line_head;
diff --git a/gcc/fortran/st.c b/gcc/fortran/st.c
index 8b2476ada14..dc0a01e01a3 100644
--- a/gcc/fortran/st.c
+++ b/gcc/fortran/st.c
@@ -139,6 +139,7 @@ gfc_free_statement (gfc_code * p)
case EXEC_BACKSPACE:
case EXEC_ENDFILE:
case EXEC_REWIND:
+ case EXEC_FLUSH:
gfc_free_filepos (p->ext.filepos);
break;
diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c
index e634154cc72..3e7b8691dd4 100644
--- a/gcc/fortran/trans-array.c
+++ b/gcc/fortran/trans-array.c
@@ -286,7 +286,7 @@ gfc_conv_descriptor_ubound (tree desc, tree dim)
}
-/* Build an null array descriptor constructor. */
+/* Build a null array descriptor constructor. */
tree
gfc_build_null_descriptor (tree type)
@@ -3982,7 +3982,7 @@ gfc_conv_array_parameter (gfc_se * se, gfc_expr * expr, gfc_ss * ss, int g77)
}
-/* NULLIFY an allocated/pointer array on function entry, free it on exit. */
+/* NULLIFY an allocatable/pointer array on function entry, free it on exit. */
tree
gfc_trans_deferred_array (gfc_symbol * sym, tree body)
@@ -4007,7 +4007,7 @@ gfc_trans_deferred_array (gfc_symbol * sym, tree body)
&& !INTEGER_CST_P (sym->ts.cl->backend_decl))
gfc_trans_init_string_length (sym->ts.cl, &fnblock);
- /* Parameter and use associated variables don't need anything special. */
+ /* Dummy and use associated variables don't need anything special. */
if (sym->attr.dummy || sym->attr.use_assoc)
{
gfc_add_expr_to_block (&fnblock, body);
diff --git a/gcc/fortran/trans-array.h b/gcc/fortran/trans-array.h
index 67c98b79719..403b42fd01f 100644
--- a/gcc/fortran/trans-array.h
+++ b/gcc/fortran/trans-array.h
@@ -72,7 +72,7 @@ void gfc_trans_scalarized_loop_boundary (gfc_loopinfo *, stmtblock_t *);
void gfc_conv_loop_setup (gfc_loopinfo *);
/* Resolve array assignment dependencies. */
void gfc_conv_resolve_dependencies (gfc_loopinfo *, gfc_ss *, gfc_ss *);
-/* Build an null array descriptor constructor. */
+/* Build a null array descriptor constructor. */
tree gfc_build_null_descriptor (tree);
/* Get a single array element. */
diff --git a/gcc/fortran/trans-common.c b/gcc/fortran/trans-common.c
index 4defe0f6af3..ecdfd2c53ed 100644
--- a/gcc/fortran/trans-common.c
+++ b/gcc/fortran/trans-common.c
@@ -105,7 +105,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
#include "trans-const.h"
-/* Holds a single variable in a equivalence set. */
+/* Holds a single variable in an equivalence set. */
typedef struct segment_info
{
gfc_symbol *sym;
diff --git a/gcc/fortran/trans-const.c b/gcc/fortran/trans-const.c
index ae7c271d7e0..bab18699758 100644
--- a/gcc/fortran/trans-const.c
+++ b/gcc/fortran/trans-const.c
@@ -163,7 +163,7 @@ gfc_init_constants (void)
gfc_build_cstring_const ("Incorrect function return value");
gfc_strconst_current_filename =
- gfc_build_cstring_const (gfc_option.source);
+ gfc_build_cstring_const (gfc_source_file);
}
/* Converts a GMP integer into a backend tree node. */
diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c
index ad53cbdc5a7..aaa4006da63 100644
--- a/gcc/fortran/trans-decl.c
+++ b/gcc/fortran/trans-decl.c
@@ -83,6 +83,7 @@ tree gfor_fndecl_stop_numeric;
tree gfor_fndecl_stop_string;
tree gfor_fndecl_select_string;
tree gfor_fndecl_runtime_error;
+tree gfor_fndecl_set_std;
tree gfor_fndecl_in_pack;
tree gfor_fndecl_in_unpack;
tree gfor_fndecl_associated;
@@ -1000,6 +1001,10 @@ gfc_get_extern_function_decl (gfc_symbol * sym)
TREE_SIDE_EFFECTS (fndecl) = 0;
}
+ /* Mark non-returning functions. */
+ if (sym->attr.noreturn)
+ TREE_THIS_VOLATILE(fndecl) = 1;
+
sym->backend_decl = fndecl;
if (DECL_CONTEXT (fndecl) == NULL_TREE)
@@ -1874,14 +1879,17 @@ gfc_build_builtin_function_decls (void)
tree gfc_logical4_type_node = gfc_get_logical_type (4);
tree gfc_pint4_type_node = build_pointer_type (gfc_int4_type_node);
+ /* Treat these two internal malloc wrappers as malloc. */
gfor_fndecl_internal_malloc =
gfc_build_library_function_decl (get_identifier (PREFIX("internal_malloc")),
pvoid_type_node, 1, gfc_int4_type_node);
+ DECL_IS_MALLOC (gfor_fndecl_internal_malloc) = 1;
gfor_fndecl_internal_malloc64 =
gfc_build_library_function_decl (get_identifier
(PREFIX("internal_malloc64")),
pvoid_type_node, 1, gfc_int8_type_node);
+ DECL_IS_MALLOC (gfor_fndecl_internal_malloc64) = 1;
gfor_fndecl_internal_free =
gfc_build_library_function_decl (get_identifier (PREFIX("internal_free")),
@@ -1906,10 +1914,15 @@ gfc_build_builtin_function_decls (void)
gfc_build_library_function_decl (get_identifier (PREFIX("stop_numeric")),
void_type_node, 1, gfc_int4_type_node);
+ /* Stop doesn't return. */
+ TREE_THIS_VOLATILE (gfor_fndecl_stop_numeric) = 1;
+
gfor_fndecl_stop_string =
gfc_build_library_function_decl (get_identifier (PREFIX("stop_string")),
void_type_node, 2, pchar_type_node,
gfc_int4_type_node);
+ /* Stop doesn't return. */
+ TREE_THIS_VOLATILE (gfor_fndecl_stop_string) = 1;
gfor_fndecl_pause_numeric =
gfc_build_library_function_decl (get_identifier (PREFIX("pause_numeric")),
@@ -1930,6 +1943,15 @@ gfc_build_builtin_function_decls (void)
3,
pchar_type_node, pchar_type_node,
gfc_int4_type_node);
+ /* The runtime_error function does not return. */
+ TREE_THIS_VOLATILE (gfor_fndecl_runtime_error) = 1;
+
+ gfor_fndecl_set_std =
+ gfc_build_library_function_decl (get_identifier (PREFIX("set_std")),
+ void_type_node,
+ 2,
+ gfc_int4_type_node,
+ gfc_int4_type_node);
gfor_fndecl_in_pack = gfc_build_library_function_decl (
get_identifier (PREFIX("internal_pack")),
@@ -2339,6 +2361,24 @@ gfc_generate_function_code (gfc_namespace * ns)
/* Now generate the code for the body of this function. */
gfc_init_block (&body);
+ /* If this is the main program and we compile with -pedantic, add a call
+ to set_std to set up the runtime library Fortran language standard
+ parameters. */
+ if (sym->attr.is_main_program && pedantic)
+ {
+ tree arglist, gfc_int4_type_node;
+
+ gfc_int4_type_node = gfc_get_int_type (4);
+ arglist = gfc_chainon_list (NULL_TREE,
+ build_int_cst (gfc_int4_type_node,
+ gfc_option.warn_std));
+ arglist = gfc_chainon_list (arglist,
+ build_int_cst (gfc_int4_type_node,
+ gfc_option.allow_std));
+ tmp = gfc_build_function_call (gfor_fndecl_set_std, arglist);
+ gfc_add_expr_to_block (&body, tmp);
+ }
+
if (TREE_TYPE (DECL_RESULT (fndecl)) != void_type_node
&& sym->attr.subroutine)
{
diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c
index 0cd8741758c..69b24109443 100644
--- a/gcc/fortran/trans-expr.c
+++ b/gcc/fortran/trans-expr.c
@@ -654,6 +654,7 @@ gfc_conv_power_op (gfc_se * se, gfc_expr * expr)
gfc_init_se (&lse, se);
gfc_conv_expr_val (&lse, expr->value.op.op1);
+ lse.expr = gfc_evaluate_now (lse.expr, &lse.pre);
gfc_add_block_to_block (&se->pre, &lse.pre);
gfc_init_se (&rse, se);
@@ -1074,7 +1075,7 @@ gfc_conv_function_val (gfc_se * se, gfc_symbol * sym)
/* Generate code for a procedure call. Note can return se->post != NULL.
If se->direct_byref is set then se->expr contains the return parameter.
- Return non-zero, if the call has alternate specifiers. */
+ Return nonzero, if the call has alternate specifiers. */
int
gfc_conv_function_call (gfc_se * se, gfc_symbol * sym,
@@ -1867,7 +1868,9 @@ gfc_conv_substring_expr (gfc_se * se, gfc_expr * expr)
}
-/* Entry point for expression translation. */
+/* Entry point for expression translation. Evaluates a scalar quantity.
+ EXPR is the expression to be translated, and SE is the state structure if
+ called from within the scalarized. */
void
gfc_conv_expr (gfc_se * se, gfc_expr * expr)
@@ -1923,15 +1926,20 @@ gfc_conv_expr (gfc_se * se, gfc_expr * expr)
}
}
+/* Like gfc_conv_expr_val, but the value is also suitable for use in the lhs
+ of an assignment. */
void
gfc_conv_expr_lhs (gfc_se * se, gfc_expr * expr)
{
gfc_conv_expr (se, expr);
- /* AFAICS all numeric lvalues have empty post chains. If not we need to
+ /* All numeric lvalues should have empty post chains. If not we need to
figure out a way of rewriting an lvalue so that it has no post chain. */
- gcc_assert (expr->ts.type != BT_CHARACTER || !se->post.head);
+ gcc_assert (expr->ts.type == BT_CHARACTER || !se->post.head);
}
+/* Like gfc_conv_expr, but the POST block is guaranteed to be empty for
+ numeric expressions. Used for scalar values whee inserting cleanup code
+ is inconvenient. */
void
gfc_conv_expr_val (gfc_se * se, gfc_expr * expr)
{
@@ -1943,9 +1951,12 @@ gfc_conv_expr_val (gfc_se * se, gfc_expr * expr)
{
val = gfc_create_var (TREE_TYPE (se->expr), NULL);
gfc_add_modify_expr (&se->pre, val, se->expr);
+ se->expr = val;
+ gfc_add_block_to_block (&se->pre, &se->post);
}
}
+/* Helper to translate and expression and convert it to a particular type. */
void
gfc_conv_expr_type (gfc_se * se, gfc_expr * expr, tree type)
{
diff --git a/gcc/fortran/trans-intrinsic.c b/gcc/fortran/trans-intrinsic.c
index 4e3443088d5..f7907ecd92d 100644
--- a/gcc/fortran/trans-intrinsic.c
+++ b/gcc/fortran/trans-intrinsic.c
@@ -2996,6 +2996,7 @@ gfc_conv_intrinsic_function (gfc_se * se, gfc_expr * expr)
case GFC_ISYM_KILL:
case GFC_ISYM_IERRNO:
case GFC_ISYM_IRAND:
+ case GFC_ISYM_ISATTY:
case GFC_ISYM_LINK:
case GFC_ISYM_MATMUL:
case GFC_ISYM_RAND:
diff --git a/gcc/fortran/trans-io.c b/gcc/fortran/trans-io.c
index 4b6caa6f9c8..b25e80a98f5 100644
--- a/gcc/fortran/trans-io.c
+++ b/gcc/fortran/trans-io.c
@@ -125,6 +125,7 @@ static GTY(()) tree iocall_iolength_done;
static GTY(()) tree iocall_rewind;
static GTY(()) tree iocall_backspace;
static GTY(()) tree iocall_endfile;
+static GTY(()) tree iocall_flush;
static GTY(()) tree iocall_set_nml_val;
static GTY(()) tree iocall_set_nml_val_dim;
@@ -297,6 +298,11 @@ gfc_build_io_library_fndecls (void)
iocall_endfile =
gfc_build_library_function_decl (get_identifier (PREFIX("st_endfile")),
gfc_int4_type_node, 0);
+
+ iocall_flush =
+ gfc_build_library_function_decl (get_identifier (PREFIX("st_flush")),
+ gfc_int4_type_node, 0);
+
/* Library helpers */
iocall_read_done =
@@ -327,7 +333,7 @@ gfc_build_io_library_fndecls (void)
}
-/* Generate code to store an non-string I/O parameter into the
+/* Generate code to store a non-string I/O parameter into the
ioparm structure. This is a pass by value. */
static void
@@ -345,7 +351,7 @@ set_parameter_value (stmtblock_t * block, tree var, gfc_expr * e)
}
-/* Generate code to store an non-string I/O parameter into the
+/* Generate code to store a non-string I/O parameter into the
ioparm structure. This is pass by reference. */
static void
@@ -755,6 +761,16 @@ gfc_trans_rewind (gfc_code * code)
}
+/* Translate a FLUSH statement. */
+
+tree
+gfc_trans_flush (gfc_code * code)
+{
+
+ return build_filepos (iocall_flush, code);
+}
+
+
/* Translate the non-IOLENGTH form of an INQUIRE statement. */
tree
@@ -770,6 +786,10 @@ gfc_trans_inquire (gfc_code * code)
set_error_locus (&block, &code->loc);
p = code->ext.inquire;
+ /* Sanity check. */
+ if (p->unit && p->file)
+ gfc_error ("INQUIRE statement at %L cannot contain both FILE and UNIT specifiers.", &code->loc);
+
if (p->unit)
set_parameter_value (&block, ioparm_unit, p->unit);
diff --git a/gcc/fortran/trans-stmt.c b/gcc/fortran/trans-stmt.c
index 99467b4945f..040214ed27f 100644
--- a/gcc/fortran/trans-stmt.c
+++ b/gcc/fortran/trans-stmt.c
@@ -163,11 +163,11 @@ gfc_trans_goto (gfc_code * code)
gfc_trans_runtime_check (tmp, assign_error, &se.pre);
assigned_goto = GFC_DECL_ASSIGN_ADDR (se.expr);
- target = build1 (GOTO_EXPR, void_type_node, assigned_goto);
code = code->block;
if (code == NULL)
{
+ target = build1 (GOTO_EXPR, void_type_node, assigned_goto);
gfc_add_expr_to_block (&se.pre, target);
return gfc_finish_block (&se.pre);
}
@@ -177,10 +177,12 @@ gfc_trans_goto (gfc_code * code)
do
{
- tmp = gfc_get_label_decl (code->label);
- tmp = gfc_build_addr_expr (pvoid_type_node, tmp);
+ target = gfc_get_label_decl (code->label);
+ tmp = gfc_build_addr_expr (pvoid_type_node, target);
tmp = build2 (EQ_EXPR, boolean_type_node, tmp, assigned_goto);
- tmp = build3_v (COND_EXPR, tmp, target, build_empty_stmt ());
+ tmp = build3_v (COND_EXPR, tmp,
+ build1 (GOTO_EXPR, void_type_node, target),
+ build_empty_stmt ());
gfc_add_expr_to_block (&se.pre, tmp);
code = code->block;
}
@@ -459,6 +461,14 @@ gfc_trans_if (gfc_code * code)
}
else // cond > 0
goto label3;
+
+ An optimized version can be generated in case of equal labels.
+ E.g., if label1 is equal to label2, we can translate it to
+
+ if (cond <= 0)
+ goto label1;
+ else
+ goto label3;
*/
tree
@@ -480,18 +490,31 @@ gfc_trans_arithmetic_if (gfc_code * code)
/* Build something to compare with. */
zero = gfc_build_const (TREE_TYPE (se.expr), integer_zero_node);
- /* If (cond < 0) take branch1 else take branch2.
- First build jumps to the COND .LT. 0 and the COND .EQ. 0 cases. */
- branch1 = build1_v (GOTO_EXPR, gfc_get_label_decl (code->label));
- branch2 = build1_v (GOTO_EXPR, gfc_get_label_decl (code->label2));
+ if (code->label->value != code->label2->value)
+ {
+ /* If (cond < 0) take branch1 else take branch2.
+ First build jumps to the COND .LT. 0 and the COND .EQ. 0 cases. */
+ branch1 = build1_v (GOTO_EXPR, gfc_get_label_decl (code->label));
+ branch2 = build1_v (GOTO_EXPR, gfc_get_label_decl (code->label2));
- tmp = build2 (LT_EXPR, boolean_type_node, se.expr, zero);
- branch1 = build3_v (COND_EXPR, tmp, branch1, branch2);
+ if (code->label->value != code->label3->value)
+ tmp = build2 (LT_EXPR, boolean_type_node, se.expr, zero);
+ else
+ tmp = build2 (NE_EXPR, boolean_type_node, se.expr, zero);
- /* if (cond <= 0) take branch1 else take branch2. */
- branch2 = build1_v (GOTO_EXPR, gfc_get_label_decl (code->label3));
- tmp = build2 (LE_EXPR, boolean_type_node, se.expr, zero);
- branch1 = build3_v (COND_EXPR, tmp, branch1, branch2);
+ branch1 = build3_v (COND_EXPR, tmp, branch1, branch2);
+ }
+ else
+ branch1 = build1_v (GOTO_EXPR, gfc_get_label_decl (code->label));
+
+ if (code->label->value != code->label3->value
+ && code->label2->value != code->label3->value)
+ {
+ /* if (cond <= 0) take branch1 else take branch2. */
+ branch2 = build1_v (GOTO_EXPR, gfc_get_label_decl (code->label3));
+ tmp = build2 (LE_EXPR, boolean_type_node, se.expr, zero);
+ branch1 = build3_v (COND_EXPR, tmp, branch1, branch2);
+ }
/* Append the COND_EXPR to the evaluation of COND, and return. */
gfc_add_expr_to_block (&se.pre, branch1);
diff --git a/gcc/fortran/trans-stmt.h b/gcc/fortran/trans-stmt.h
index 520ddee7ae2..c1e55138392 100644
--- a/gcc/fortran/trans-stmt.h
+++ b/gcc/fortran/trans-stmt.h
@@ -61,6 +61,7 @@ tree gfc_trans_backspace (gfc_code *);
tree gfc_trans_endfile (gfc_code *);
tree gfc_trans_inquire (gfc_code *);
tree gfc_trans_rewind (gfc_code *);
+tree gfc_trans_flush (gfc_code *);
tree gfc_trans_transfer (gfc_code *);
tree gfc_trans_dt_end (gfc_code *);
diff --git a/gcc/fortran/trans-types.c b/gcc/fortran/trans-types.c
index 0c0634b5ef0..e89e63eff9b 100644
--- a/gcc/fortran/trans-types.c
+++ b/gcc/fortran/trans-types.c
@@ -51,10 +51,11 @@ static tree gfc_get_derived_type (gfc_symbol * derived);
tree gfc_array_index_type;
tree gfc_array_range_type;
+tree gfc_character1_type_node;
tree pvoid_type_node;
tree ppvoid_type_node;
tree pchar_type_node;
-tree gfc_character1_type_node;
+
tree gfc_charlen_type_node;
static GTY(()) tree gfc_desc_dim_type;
diff --git a/gcc/fortran/trans-types.h b/gcc/fortran/trans-types.h
index e6c4506f180..af77c1de788 100644
--- a/gcc/fortran/trans-types.h
+++ b/gcc/fortran/trans-types.h
@@ -41,10 +41,12 @@ enum
};
extern GTY(()) tree gfc_array_index_type;
+extern GTY(()) tree gfc_array_range_type;
extern GTY(()) tree gfc_character1_type_node;
extern GTY(()) tree ppvoid_type_node;
extern GTY(()) tree pvoid_type_node;
extern GTY(()) tree pchar_type_node;
+
/* This is the type used to hold the lengths of character variables.
It must be the same as the corresponding definition in gfortran.h. */
/* TODO: This is still hardcoded as kind=4 in some bits of the compiler
diff --git a/gcc/fortran/trans.c b/gcc/fortran/trans.c
index 1ff4ef2af4b..a3c3ddc48fb 100644
--- a/gcc/fortran/trans.c
+++ b/gcc/fortran/trans.c
@@ -557,6 +557,10 @@ gfc_trans_code (gfc_code * code)
res = gfc_trans_select (code);
break;
+ case EXEC_FLUSH:
+ res = gfc_trans_flush (code);
+ break;
+
case EXEC_FORALL:
res = gfc_trans_forall (code);
break;
@@ -646,9 +650,6 @@ gfc_trans_code (gfc_code * code)
void
gfc_generate_code (gfc_namespace * ns)
{
- gfc_symbol *main_program = NULL;
- symbol_attribute attr;
-
if (ns->is_block_data)
{
gfc_generate_block_data (ns);
@@ -658,6 +659,9 @@ gfc_generate_code (gfc_namespace * ns)
/* Main program subroutine. */
if (!ns->proc_name)
{
+ gfc_symbol *main_program;
+ symbol_attribute attr;
+
/* Lots of things get upset if a subroutine doesn't have a symbol, so we
make one now. Hopefully we've set all the required fields. */
gfc_get_symbol ("MAIN__", ns, &main_program);
@@ -666,7 +670,9 @@ gfc_generate_code (gfc_namespace * ns)
attr.proc = PROC_UNKNOWN;
attr.subroutine = 1;
attr.access = ACCESS_PUBLIC;
+ attr.is_main_program = 1;
main_program->attr = attr;
+
/* Set the location to the first line of code. */
if (ns->code)
main_program->declared_at = ns->code->loc;
diff --git a/gcc/fortran/trans.h b/gcc/fortran/trans.h
index c4099a982b2..3c5734d816c 100644
--- a/gcc/fortran/trans.h
+++ b/gcc/fortran/trans.h
@@ -275,20 +275,15 @@ tree gfc_chainon_list (tree, tree);
when a POST chain may be created, and what the returned expression may be
used for. Note that character strings have special handling. This
should not be a problem as most statements/operations only deal with
- numeric/logical types. */
+ numeric/logical types. See the implementations in trans-expr.c
+ for details of the individual functions. */
-/* Entry point for expression translation. */
void gfc_conv_expr (gfc_se * se, gfc_expr * expr);
-/* Like gfc_conv_expr, but the POST block is guaranteed to be empty for
- numeric expressions. */
void gfc_conv_expr_val (gfc_se * se, gfc_expr * expr);
-/* Like gfc_conv_expr_val, but the value is also suitable for use in the lhs of
- an assignment. */
void gfc_conv_expr_lhs (gfc_se * se, gfc_expr * expr);
-/* Converts an expression so that it can be passed be reference. */
void gfc_conv_expr_reference (gfc_se * se, gfc_expr *);
-/* Equivalent to convert(type, gfc_conv_expr_val(se, expr)). */
void gfc_conv_expr_type (gfc_se * se, gfc_expr *, tree);
+
/* Find the decl containing the auxiliary variables for assigned variables. */
void gfc_conv_label_variable (gfc_se * se, gfc_expr * expr);
/* If the value is not constant, Create a temporary and copy the value. */
@@ -362,7 +357,7 @@ tree gfc_build_indirect_ref (tree);
/* Build an ARRAY_REF. */
tree gfc_build_array_ref (tree, tree);
-/* Creates an label. Decl is artificial if label_id == NULL_TREE. */
+/* Creates a label. Decl is artificial if label_id == NULL_TREE. */
tree gfc_build_label_decl (tree);
/* Return the decl used to hold the function return value.
@@ -425,7 +420,7 @@ void gfc_trans_runtime_check (tree, tree, stmtblock_t *);
/* Generate code for an assignment, includes scalarization. */
tree gfc_trans_assignment (gfc_expr *, gfc_expr *);
-/* Generate code for an pointer assignment. */
+/* Generate code for a pointer assignment. */
tree gfc_trans_pointer_assignment (gfc_expr *, gfc_expr *);
/* Initialize function decls for library functions. */
@@ -458,6 +453,7 @@ extern GTY(()) tree gfor_fndecl_stop_numeric;
extern GTY(()) tree gfor_fndecl_stop_string;
extern GTY(()) tree gfor_fndecl_select_string;
extern GTY(()) tree gfor_fndecl_runtime_error;
+extern GTY(()) tree gfor_fndecl_set_std;
extern GTY(()) tree gfor_fndecl_in_pack;
extern GTY(()) tree gfor_fndecl_in_unpack;
extern GTY(()) tree gfor_fndecl_associated;
diff --git a/gcc/function.c b/gcc/function.c
index 56e342edc68..3ee5e8b8892 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -454,7 +454,7 @@ assign_stack_local_1 (enum machine_mode mode, HOST_WIDE_INT size, int align,
/* On a big-endian machine, if we are allocating more space than we will use,
use the least significant bytes of those that are allocated. */
- if (BYTES_BIG_ENDIAN && mode != BLKmode)
+ if (BYTES_BIG_ENDIAN && mode != BLKmode && GET_MODE_SIZE (mode) < size)
bigend_correction = size - GET_MODE_SIZE (mode);
/* If we have already instantiated virtual registers, return the actual
@@ -474,6 +474,7 @@ assign_stack_local_1 (enum machine_mode mode, HOST_WIDE_INT size, int align,
function->x_frame_offset += size;
x = gen_rtx_MEM (mode, addr);
+ MEM_NOTRAP_P (x) = 1;
function->x_stack_slot_list
= gen_rtx_EXPR_LIST (VOIDmode, x, function->x_stack_slot_list);
@@ -649,9 +650,7 @@ assign_stack_temp_for_type (enum machine_mode mode, HOST_WIDE_INT size,
p->size = best_p->size - rounded_size;
p->base_offset = best_p->base_offset + rounded_size;
p->full_size = best_p->full_size - rounded_size;
- p->slot = gen_rtx_MEM (BLKmode,
- plus_constant (XEXP (best_p->slot, 0),
- rounded_size));
+ p->slot = adjust_address_nv (best_p->slot, BLKmode, rounded_size);
p->align = best_p->align;
p->address = 0;
p->type = best_p->type;
@@ -743,6 +742,7 @@ assign_stack_temp_for_type (enum machine_mode mode, HOST_WIDE_INT size,
MEM_VOLATILE_P (slot) = TYPE_VOLATILE (type);
MEM_SET_IN_STRUCT_P (slot, AGGREGATE_TYPE_P (type));
}
+ MEM_NOTRAP_P (slot) = 1;
return slot;
}
@@ -1665,7 +1665,7 @@ instantiate_virtual_regs (void)
struct tree_opt_pass pass_instantiate_virtual_regs =
{
- NULL, /* name */
+ "vregs", /* name */
NULL, /* gate */
instantiate_virtual_regs, /* execute */
NULL, /* sub */
@@ -1676,7 +1676,7 @@ struct tree_opt_pass pass_instantiate_virtual_regs =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- 0, /* todo_flags_finish */
+ TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};
@@ -3007,9 +3007,8 @@ assign_parms (tree fndecl)
REG_PARM_STACK_SPACE (fndecl));
#endif
- current_function_args_size
- = ((current_function_args_size + STACK_BYTES - 1)
- / STACK_BYTES) * STACK_BYTES;
+ current_function_args_size = CEIL_ROUND (current_function_args_size,
+ PARM_BOUNDARY / BITS_PER_UNIT);
#ifdef ARGS_GROW_DOWNWARD
current_function_arg_offset_rtx
@@ -4014,7 +4013,7 @@ stack_protect_prologue (void)
# define gen_stack_protect_test(x, y, z) (gcc_unreachable (), NULL_RTX)
#endif
-static void
+void
stack_protect_epilogue (void)
{
tree guard_decl = targetm.stack_protect_guard ();
@@ -4823,6 +4822,7 @@ keep_stack_depressed (rtx insns)
info.sp_offset));
retaddr = gen_rtx_MEM (Pmode, retaddr);
+ MEM_NOTRAP_P (retaddr) = 1;
/* If there is a pending load to the equivalent register for SP
and we reference that register, we must load our address into
diff --git a/gcc/function.h b/gcc/function.h
index 11b97c1fc2b..c1482ac328e 100644
--- a/gcc/function.h
+++ b/gcc/function.h
@@ -394,6 +394,10 @@ struct function GTY(())
either as a subroutine or builtin. */
unsigned int calls_alloca : 1;
+ /* Nonzero if function being compiled called builtin_return_addr or
+ builtin_frame_address with non-zero count. */
+ unsigned int accesses_prior_frames : 1;
+
/* Nonzero if the function calls __builtin_eh_return. */
unsigned int calls_eh_return : 1;
@@ -483,6 +487,7 @@ extern int trampolines_created;
#define current_function_returns_pointer (cfun->returns_pointer)
#define current_function_calls_setjmp (cfun->calls_setjmp)
#define current_function_calls_alloca (cfun->calls_alloca)
+#define current_function_accesses_prior_frames (cfun->accesses_prior_frames)
#define current_function_calls_eh_return (cfun->calls_eh_return)
#define current_function_is_thunk (cfun->is_thunk)
#define current_function_args_info (cfun->args_info)
diff --git a/gcc/gcc.c b/gcc/gcc.c
index c62dbbbe53c..9522611773f 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -602,7 +602,7 @@ proper position among the other output files. */
}} %{fmudflap|fmudflapth: --wrap=main}"
#endif
#ifndef MFLIB_SPEC
-#define MFLIB_SPEC "%{fmudflap|fmudflapth: -export-dynamic}"
+#define MFLIB_SPEC "%{fmudflap|fmudflapth: -export-dynamic}"
#endif
/* config.h can define LIBGCC_SPEC to override how and when libgcc.a is
@@ -674,7 +674,7 @@ proper position among the other output files. */
#ifdef TARGET_LIBC_PROVIDES_SSP
#define LINK_SSP_SPEC "%{fstack-protector:}"
#else
-#define LINK_SSP_SPEC "%{fstack-protector:-lssp_nonshared -lssp }"
+#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all:-lssp_nonshared -lssp}"
#endif
#endif
@@ -699,7 +699,7 @@ proper position among the other output files. */
%{s} %{t} %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}}\
%{static:} %{L*} %(mfwrap) %(link_libgcc) %o %(mflib)\
%{fprofile-arcs|fprofile-generate|coverage:-lgcov}\
- %{!nostdlib:%{!nodefaultlibs:%(link_ssp)%(link_gcc_c_sequence)}}\
+ %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}\
%{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} }}}}}}"
#endif
@@ -920,16 +920,16 @@ static const struct compiler default_compilers[] =
{".m", "#Objective-C", 0, 0, 0}, {".mi", "#Objective-C", 0, 0, 0},
{".mm", "#Objective-C++", 0, 0, 0}, {".M", "#Objective-C++", 0, 0, 0},
{".mii", "#Objective-C++", 0, 0, 0},
- {".cc", "#C++", 0, 0, 0}, {".cxx", "#C++", 0, 0, 0},
- {".cpp", "#C++", 0, 0, 0}, {".cp", "#C++", 0, 0, 0},
+ {".cc", "#C++", 0, 0, 0}, {".cxx", "#C++", 0, 0, 0},
+ {".cpp", "#C++", 0, 0, 0}, {".cp", "#C++", 0, 0, 0},
{".c++", "#C++", 0, 0, 0}, {".C", "#C++", 0, 0, 0},
{".CPP", "#C++", 0, 0, 0}, {".ii", "#C++", 0, 0, 0},
{".ads", "#Ada", 0, 0, 0}, {".adb", "#Ada", 0, 0, 0},
- {".f", "#Fortran", 0, 0, 0}, {".for", "#Fortran", 0, 0, 0},
+ {".f", "#Fortran", 0, 0, 0}, {".for", "#Fortran", 0, 0, 0},
{".F", "#Fortran", 0, 0, 0}, {".FOR", "#Fortran", 0, 0, 0},
{".FPP", "#Fortran", 0, 0, 0},
{".f90", "#Fortran 95", 0, 0, 0}, {".f95", "#Fortran 95", 0, 0, 0},
- {".fpp", "#Fortran", 0, 0, 0}, {".F", "#Fortran", 0, 0, 0},
+ {".fpp", "#Fortran", 0, 0, 0}, {".F", "#Fortran", 0, 0, 0},
{".FOR", "#Fortran", 0, 0, 0}, {".FPP", "#Fortran", 0, 0, 0},
{".r", "#Ratfor", 0, 0, 0},
{".p", "#Pascal", 0, 0, 0}, {".pas", "#Pascal", 0, 0, 0},
@@ -1120,7 +1120,7 @@ static const struct option_map option_map[] =
{"--static", "-static", 0},
{"--std", "-std=", "aj"},
{"--symbolic", "-symbolic", 0},
- {"--sysroot", "--sysroot=", "aj"},
+ {"--sysroot", "--sysroot=", "aj"},
{"--time", "-time", 0},
{"--trace-includes", "-H", 0},
{"--traditional", "-traditional", 0},
@@ -1441,7 +1441,7 @@ static const char *gcc_libexec_prefix;
#ifndef STANDARD_STARTFILE_PREFIX_2
#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
#endif
-
+
#ifdef CROSS_COMPILE /* Don't use these prefixes for a cross compiler. */
#undef MD_EXEC_PREFIX
#undef MD_STARTFILE_PREFIX
@@ -3175,9 +3175,12 @@ process_command (int argc, const char **argv)
}
/* If there is a -V or -b option (or both), process it now, before
- trying to interpret the rest of the command line. */
+ trying to interpret the rest of the command line.
+ Use heuristic that all configuration names must have at least
+ one dash '-'. This allows us to pass options starting with -b. */
if (argc > 1 && argv[1][0] == '-'
- && (argv[1][1] == 'V' || argv[1][1] == 'b'))
+ && (argv[1][1] == 'V' ||
+ ((argv[1][1] == 'b') && (NULL != strchr(argv[1] + 2,'-')))))
{
const char *new_version = DEFAULT_TARGET_VERSION;
const char *new_machine = DEFAULT_TARGET_MACHINE;
@@ -3187,7 +3190,8 @@ process_command (int argc, const char **argv)
int baselen;
while (argc > 1 && argv[1][0] == '-'
- && (argv[1][1] == 'V' || argv[1][1] == 'b'))
+ && (argv[1][1] == 'V' ||
+ ((argv[1][1] == 'b') && ( NULL != strchr(argv[1] + 2,'-')))))
{
char opt = argv[1][1];
const char *arg;
@@ -3239,7 +3243,7 @@ process_command (int argc, const char **argv)
{
gcc_exec_prefix = make_relative_prefix (argv[0], standard_bindir_prefix,
standard_exec_prefix);
- gcc_libexec_prefix = make_relative_prefix (argv[0],
+ gcc_libexec_prefix = make_relative_prefix (argv[0],
standard_bindir_prefix,
standard_libexec_prefix);
if (gcc_exec_prefix)
@@ -3608,6 +3612,7 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n"
switch (c)
{
case 'b':
+ if (NULL == strchr(argv[i] + 2, '-')) break;
case 'V':
fatal ("'-%c' must come at the start of the command line", c);
break;
@@ -4797,7 +4802,7 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
bool files_differ = strcmp (input_realname, temp_realname);
free (input_realname);
free (temp_realname);
- if (files_differ)
+ if (files_differ)
#endif
{
temp_filename = save_string (temp_filename,
@@ -5656,10 +5661,10 @@ handle_braces (const char *p)
while (*p++ != '}');
return p;
-
+
invalid:
fatal ("braced spec '%s' is invalid at '%c'", orig, *p);
-
+
#undef SKIP_WHITE
}
@@ -6425,13 +6430,13 @@ main (int argc, const char **argv)
for (i = 0; (int) i < n_infiles; i++)
{
const char *name = infiles[i].name;
- struct compiler *compiler = lookup_compiler (name,
- strlen (name),
+ struct compiler *compiler = lookup_compiler (name,
+ strlen (name),
infiles[i].language);
-
+
if (compiler && !(compiler->combinable))
combine_inputs = false;
-
+
if (lang_n_infiles > 0 && compiler != input_file_compiler
&& infiles[i].language && infiles[i].language[0] != '*')
infiles[i].incompiler = compiler;
@@ -6451,7 +6456,7 @@ main (int argc, const char **argv)
infiles[i].compiled = false;
infiles[i].preprocessed = false;
}
-
+
if (combine_flag && save_temps_flag)
{
bool save_combine_inputs = combine_inputs;
@@ -6462,7 +6467,7 @@ main (int argc, const char **argv)
for (i = 0; (int) i < n_infiles; i++)
{
int this_file_error = 0;
-
+
input_file_number = i;
set_input (infiles[i].name);
if (infiles[i].incompiler
@@ -6571,7 +6576,7 @@ main (int argc, const char **argv)
/* Reset the input file name to the first compile/object file name, for use
with %b in LINK_SPEC. We use the first input file that we can find
- a compiler to compile it instead of using infiles.language since for
+ a compiler to compile it instead of using infiles.language since for
languages other than C we use aliases that we then lookup later. */
if (n_infiles > 0)
{
@@ -7342,7 +7347,7 @@ print_multilib_info (void)
invalid_select:
fatal ("multilib select '%s' is invalid", multilib_select);
}
-
+
++p;
}
@@ -7613,7 +7618,7 @@ replace_outfile_spec_function (int argc, const char **argv)
/* Must have exactly two arguments. */
if (argc != 2)
abort ();
-
+
for (i = 0; i < n_infiles; i++)
{
if (outfiles[i] && !strcmp (outfiles[i], argv[0]))
@@ -7622,7 +7627,7 @@ replace_outfile_spec_function (int argc, const char **argv)
return NULL;
}
-/* Given two version numbers, compares the two numbers.
+/* Given two version numbers, compares the two numbers.
A version number must match the regular expression
([1-9][0-9]*|0)(\.([1-9][0-9]*|0))*
*/
@@ -7631,7 +7636,7 @@ compare_version_strings (const char *v1, const char *v2)
{
int rresult;
regex_t r;
-
+
if (regcomp (&r, "^([1-9][0-9]*|0)(\\.([1-9][0-9]*|0))*$",
REG_EXTENDED | REG_NOSUB) != 0)
abort ();
@@ -7660,7 +7665,7 @@ compare_version_strings (const char *v1, const char *v2)
and nothing if it doesn't.
The supported <comparison-op> values are:
-
+
>= true if switch is a later (or same) version than arg1
!> opposite of >=
< true if switch is an earlier version than arg1
@@ -7730,7 +7735,7 @@ version_compare_spec_function (int argc, const char **argv)
case '<' << 8 | '>':
result = comp1 < 0 || comp2 >= 0;
break;
-
+
default:
abort ();
}
diff --git a/gcc/genattrtab.c b/gcc/genattrtab.c
index c284f86c1c2..78a61e86981 100644
--- a/gcc/genattrtab.c
+++ b/gcc/genattrtab.c
@@ -228,19 +228,13 @@ static int *insn_n_alternatives;
static int *insn_alternatives;
-/* If nonzero, assume that the `alternative' attr has this value.
- This is the hashed, unique string for the numeral
- whose value is chosen alternative. */
-
-static const char *current_alternative_string;
-
/* Used to simplify expressions. */
static rtx true_rtx, false_rtx;
/* Used to reduce calls to `strcmp' */
-static char *alternative_name;
+static const char *alternative_name;
static const char *length_str;
static const char *delay_type_str;
static const char *delay_1_0_str;
@@ -262,15 +256,6 @@ int optimize = 0;
(ATTR_IND_SIMPLIFIED_P (EXP) || ATTR_CURR_SIMPLIFIED_P (EXP) ? (EXP) \
: simplify_test_exp (EXP, INSN_CODE, INSN_INDEX))
-/* Simplify (eq_attr ("alternative") ...)
- when we are working with a particular alternative. */
-#define SIMPLIFY_ALTERNATIVE(EXP) \
- if (current_alternative_string \
- && GET_CODE ((EXP)) == EQ_ATTR \
- && XSTR ((EXP), 0) == alternative_name) \
- (EXP) = (XSTR ((EXP), 1) == current_alternative_string \
- ? true_rtx : false_rtx);
-
#define DEF_ATTR_STRING(S) (attr_string ((S), strlen (S)))
/* These are referenced by rtlanal.c and hence need to be defined somewhere.
@@ -352,7 +337,6 @@ static bool attr_alt_subset_of_compl_p (rtx, rtx);
static rtx attr_alt_intersection (rtx, rtx);
static rtx attr_alt_union (rtx, rtx);
static rtx attr_alt_complement (rtx);
-static bool attr_alt_bit_p (rtx, int);
static rtx mk_attr_alt (int);
#define oballoc(size) obstack_alloc (hash_obstack, size)
@@ -1106,7 +1090,7 @@ check_attr_value (rtx exp, struct attr_desc *attr)
}
/* Given an SET_ATTR_ALTERNATIVE expression, convert to the canonical SET.
- It becomes a COND with each test being (eq_attr "alternative "n") */
+ It becomes a COND with each test being (eq_attr "alternative" "n") */
static rtx
convert_set_attr_alternative (rtx exp, struct insn_def *id)
@@ -2035,16 +2019,11 @@ evaluate_eq_attr (rtx exp, rtx value, int insn_code, int insn_index)
orexp = false_rtx;
andexp = true_rtx;
- if (current_alternative_string)
- clear_struct_flag (value);
-
for (i = 0; i < XVECLEN (value, 0); i += 2)
{
rtx this = simplify_test_exp_in_temp (XVECEXP (value, 0, i),
insn_code, insn_index);
- SIMPLIFY_ALTERNATIVE (this);
-
right = insert_right_side (AND, andexp, this,
insn_code, insn_index);
right = insert_right_side (AND, right,
@@ -2082,7 +2061,6 @@ evaluate_eq_attr (rtx exp, rtx value, int insn_code, int insn_index)
if (address_used)
{
- /* This had `&& current_alternative_string', which seems to be wrong. */
if (! ATTR_IND_SIMPLIFIED_P (exp))
return copy_rtx_unchanging (exp);
return exp;
@@ -2490,14 +2468,6 @@ attr_alt_complement (rtx s)
return result;
}
-/* Tests whether a bit B belongs to the set represented by S. */
-
-static bool
-attr_alt_bit_p (rtx s, int b)
-{
- return XINT (s, 1) ^ ((XINT (s, 0) >> b) & 1);
-}
-
/* Return EQ_ATTR_ALT expression representing set containing elements set
in E. */
@@ -2540,12 +2510,10 @@ simplify_test_exp (rtx exp, int insn_code, int insn_index)
{
case AND:
left = SIMPLIFY_TEST_EXP (XEXP (exp, 0), insn_code, insn_index);
- SIMPLIFY_ALTERNATIVE (left);
if (left == false_rtx)
return false_rtx;
right = SIMPLIFY_TEST_EXP (XEXP (exp, 1), insn_code, insn_index);
- SIMPLIFY_ALTERNATIVE (right);
- if (left == false_rtx)
+ if (right == false_rtx)
return false_rtx;
if (GET_CODE (left) == EQ_ATTR_ALT
@@ -2646,11 +2614,9 @@ simplify_test_exp (rtx exp, int insn_code, int insn_index)
case IOR:
left = SIMPLIFY_TEST_EXP (XEXP (exp, 0), insn_code, insn_index);
- SIMPLIFY_ALTERNATIVE (left);
if (left == true_rtx)
return true_rtx;
right = SIMPLIFY_TEST_EXP (XEXP (exp, 1), insn_code, insn_index);
- SIMPLIFY_ALTERNATIVE (right);
if (right == true_rtx)
return true_rtx;
@@ -2744,12 +2710,10 @@ simplify_test_exp (rtx exp, int insn_code, int insn_index)
{
left = SIMPLIFY_TEST_EXP (XEXP (XEXP (exp, 0), 0),
insn_code, insn_index);
- SIMPLIFY_ALTERNATIVE (left);
return left;
}
left = SIMPLIFY_TEST_EXP (XEXP (exp, 0), insn_code, insn_index);
- SIMPLIFY_ALTERNATIVE (left);
if (GET_CODE (left) == NOT)
return XEXP (left, 0);
@@ -2788,18 +2752,11 @@ simplify_test_exp (rtx exp, int insn_code, int insn_index)
break;
case EQ_ATTR_ALT:
- if (current_alternative_string)
- return attr_alt_bit_p (exp, atoi (current_alternative_string)) ? true_rtx : false_rtx;
-
if (!XINT (exp, 0))
return XINT (exp, 1) ? true_rtx : false_rtx;
break;
case EQ_ATTR:
- if (current_alternative_string && XSTR (exp, 0) == alternative_name)
- return (XSTR (exp, 1) == current_alternative_string
- ? true_rtx : false_rtx);
-
if (XSTR (exp, 0) == alternative_name)
{
newexp = mk_attr_alt (1 << atoi (XSTR (exp, 1)));
@@ -2809,7 +2766,7 @@ simplify_test_exp (rtx exp, int insn_code, int insn_index)
/* Look at the value for this insn code in the specified attribute.
We normally can replace this comparison with the condition that
would give this insn the values being tested for. */
- if (XSTR (exp, 0) != alternative_name
+ if (insn_code >= 0
&& (attr = find_attr (&XSTR (exp, 0), 0)) != NULL)
for (av = attr->first_value; av; av = av->next)
for (ie = av->first_insn; ie; ie = ie->next)
@@ -2830,7 +2787,7 @@ simplify_test_exp (rtx exp, int insn_code, int insn_index)
/* We have already simplified this expression. Simplifying it again
won't buy anything unless we weren't given a valid insn code
to process (i.e., we are canonicalizing something.). */
- if (insn_code != -2 /* Seems wrong: && current_alternative_string. */
+ if (insn_code != -2
&& ! ATTR_IND_SIMPLIFIED_P (newexp))
return copy_rtx_unchanging (newexp);
@@ -3720,10 +3677,13 @@ write_attr_get (struct attr_desc *attr)
printf ("{\n");
for (av = attr->first_value; av; av = av->next)
- if (av->num_insns != 0)
+ if (av->num_insns == 1)
write_attr_set (attr, 2, av->value, "return", ";",
true_rtx, av->first_insn->def->insn_code,
av->first_insn->def->insn_index);
+ else if (av->num_insns != 0)
+ write_attr_set (attr, 2, av->value, "return", ";",
+ true_rtx, -2, 0);
printf ("}\n\n");
return;
@@ -3925,9 +3885,13 @@ write_attr_case (struct attr_desc *attr, struct attr_value *av,
printf ("extract_insn_cached (insn);\n");
}
- write_attr_set (attr, indent + 2, av->value, prefix, suffix,
- known_true, av->first_insn->def->insn_code,
- av->first_insn->def->insn_index);
+ if (av->num_insns == 1)
+ write_attr_set (attr, indent + 2, av->value, prefix, suffix,
+ known_true, av->first_insn->def->insn_code,
+ av->first_insn->def->insn_index);
+ else
+ write_attr_set (attr, indent + 2, av->value, prefix, suffix,
+ known_true, -2, 0);
if (strncmp (prefix, "return", 6))
{
diff --git a/gcc/genautomata.c b/gcc/genautomata.c
index 3748564083b..e39d32727a9 100644
--- a/gcc/genautomata.c
+++ b/gcc/genautomata.c
@@ -7632,7 +7632,7 @@ output_state_ainsn_table (state_ainsn_table_t tab, char *table_name,
}
/* The following function adds vector with length VECT_LENGTH and
- elements pointed by VECT to table TAB as its line with number
+ elements pointed to by VECT to table TAB as its line with number
VECT_NUM. */
static void
add_vect (state_ainsn_table_t tab, int vect_num, vect_el_t *vect,
diff --git a/gcc/genrecog.c b/gcc/genrecog.c
index 5aa4bda5fbf..82248482de0 100644
--- a/gcc/genrecog.c
+++ b/gcc/genrecog.c
@@ -87,6 +87,7 @@ struct decision_test
/* These types are roughly in the order in which we'd like to test them. */
enum decision_type
{
+ DT_num_insns,
DT_mode, DT_code, DT_veclen,
DT_elt_zero_int, DT_elt_one_int, DT_elt_zero_wide, DT_elt_zero_wide_safe,
DT_const_int,
@@ -96,6 +97,7 @@ struct decision_test
union
{
+ int num_insns; /* Number if insn in a define_peephole2. */
enum machine_mode mode; /* Machine mode of node. */
RTX_CODE code; /* Code to test. */
@@ -439,7 +441,7 @@ static void find_afterward
(struct decision_head *, struct decision *);
static void change_state
- (const char *, const char *, struct decision *, const char *);
+ (const char *, const char *, const char *);
static void print_code
(enum rtx_code);
static void write_afterward
@@ -923,8 +925,22 @@ add_to_sequence (rtx pattern, struct decision_head *last, const char *position,
/* Toplevel peephole pattern. */
if (insn_type == PEEPHOLE2 && top)
{
- /* We don't need the node we just created -- unlink it. */
- last->first = last->last = NULL;
+ int num_insns;
+
+ /* Check we have sufficient insns. This avoids complications
+ because we then know peep2_next_insn never fails. */
+ num_insns = XVECLEN (pattern, 0);
+ if (num_insns > 1)
+ {
+ test = new_decision_test (DT_num_insns, &place);
+ test->u.num_insns = num_insns;
+ last = &sub->success;
+ }
+ else
+ {
+ /* We don't need the node we just created -- unlink it. */
+ last->first = last->last = NULL;
+ }
for (i = 0; i < (size_t) XVECLEN (pattern, 0); i++)
{
@@ -1174,6 +1190,12 @@ maybe_both_true_2 (struct decision_test *d1, struct decision_test *d2)
{
switch (d1->type)
{
+ case DT_num_insns:
+ if (d1->u.num_insns == d2->u.num_insns)
+ return 1;
+ else
+ return -1;
+
case DT_mode:
return d1->u.mode == d2->u.mode;
@@ -1372,6 +1394,9 @@ nodes_identical_1 (struct decision_test *d1, struct decision_test *d2)
{
switch (d1->type)
{
+ case DT_num_insns:
+ return d1->u.num_insns == d2->u.num_insns;
+
case DT_mode:
return d1->u.mode == d2->u.mode;
@@ -1767,8 +1792,7 @@ find_afterward (struct decision_head *head, struct decision *real_afterward)
match multiple insns and we try to step past the end of the stream. */
static void
-change_state (const char *oldpos, const char *newpos,
- struct decision *afterward, const char *indent)
+change_state (const char *oldpos, const char *newpos, const char *indent)
{
int odepth = strlen (oldpos);
int ndepth = strlen (newpos);
@@ -1793,22 +1817,8 @@ change_state (const char *oldpos, const char *newpos,
/* It's a different insn from the first one. */
if (ISUPPER (newpos[depth]))
{
- /* We can only fail if we're moving down the tree. */
- if (old_has_insn >= 0 && oldpos[old_has_insn] >= newpos[depth])
- {
- printf ("%stem = peep2_next_insn (%d);\n",
- indent, newpos[depth] - 'A');
- }
- else
- {
- printf ("%stem = peep2_next_insn (%d);\n",
- indent, newpos[depth] - 'A');
- printf ("%sif (tem == NULL_RTX)\n", indent);
- if (afterward)
- printf ("%s goto L%d;\n", indent, afterward->number);
- else
- printf ("%s goto ret0;\n", indent);
- }
+ printf ("%stem = peep2_next_insn (%d);\n",
+ indent, newpos[depth] - 'A');
printf ("%sx%d = PATTERN (tem);\n", indent, depth + 1);
}
else if (ISLOWER (newpos[depth]))
@@ -1842,7 +1852,7 @@ write_afterward (struct decision *start, struct decision *afterward,
printf("%sgoto ret0;\n", indent);
else
{
- change_state (start->position, afterward->position, NULL, indent);
+ change_state (start->position, afterward->position, indent);
printf ("%sgoto L%d;\n", indent, afterward->number);
}
}
@@ -2067,6 +2077,10 @@ write_cond (struct decision_test *p, int depth,
{
switch (p->type)
{
+ case DT_num_insns:
+ printf ("peep2_current_count >= %d", p->u.num_insns);
+ break;
+
case DT_mode:
printf ("GET_MODE (x%d) == %smode", depth, GET_MODE_NAME (p->u.mode));
break;
@@ -2363,7 +2377,7 @@ write_tree (struct decision_head *head, const char *prevpos,
else
printf (" if (tem >= 0)\n return tem;\n");
- change_state (p->position, p->afterward->position, NULL, " ");
+ change_state (p->position, p->afterward->position, " ");
printf (" goto L%d;\n", p->afterward->number);
}
else
@@ -2376,7 +2390,7 @@ write_tree (struct decision_head *head, const char *prevpos,
{
int depth = strlen (p->position);
- change_state (prevpos, p->position, head->last->afterward, " ");
+ change_state (prevpos, p->position, " ");
write_tree_1 (head, depth, type);
for (p = head->first; p; p = p->next)
@@ -2830,6 +2844,9 @@ debug_decision_2 (struct decision_test *test)
{
switch (test->type)
{
+ case DT_num_insns:
+ fprintf (stderr, "num_insns=%d", test->u.num_insns);
+ break;
case DT_mode:
fprintf (stderr, "mode=%s", GET_MODE_NAME (test->u.mode));
break;
diff --git a/gcc/gimple-low.c b/gcc/gimple-low.c
index 3bece1ac0d2..5c7c27f7e13 100644
--- a/gcc/gimple-low.c
+++ b/gcc/gimple-low.c
@@ -368,6 +368,9 @@ block_may_fallthru (tree block)
case CALL_EXPR:
/* Functions that do not return do not fall through. */
return (call_expr_flags (stmt) & ECF_NORETURN) == 0;
+
+ case CLEANUP_POINT_EXPR:
+ return block_may_fallthru (TREE_OPERAND (stmt, 0));
default:
return true;
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index bb08c2b140f..7d76d66c507 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -236,7 +236,7 @@ append_to_statement_list_1 (tree t, tree *list_p)
tsi_link_after (&i, t, TSI_CONTINUE_LINKING);
}
-/* Add T to the end of the list container pointed by LIST_P.
+/* Add T to the end of the list container pointed to by LIST_P.
If T is an expression with no effects, it is ignored. */
void
@@ -1409,7 +1409,7 @@ gimplify_conversion (tree *expr_p)
}
/* Gimplify the COMPONENT_REF, ARRAY_REF, REALPART_EXPR or IMAGPART_EXPR
- node pointed by EXPR_P.
+ node pointed to by EXPR_P.
compound_lval
: min_lval '[' val ']'
@@ -1593,7 +1593,8 @@ gimplify_compound_lval (tree *expr_p, tree *pre_p,
return ret;
}
-/* Gimplify the self modifying expression pointed by EXPR_P (++, --, +=, -=).
+/* Gimplify the self modifying expression pointed to by EXPR_P
+ (++, --, +=, -=).
PRE_P points to the list where side effects that must happen before
*EXPR_P should be stored.
@@ -1721,7 +1722,7 @@ gimplify_arg (tree *expr_p, tree *pre_p)
return gimplify_expr (expr_p, pre_p, NULL, test, fb);
}
-/* Gimplify the CALL_EXPR node pointed by EXPR_P. PRE_P points to the
+/* Gimplify the CALL_EXPR node pointed to by EXPR_P. PRE_P points to the
list where side effects that must happen before *EXPR_P should be stored.
WANT_VALUE is true if the result of the call is desired. */
@@ -2111,7 +2112,7 @@ gimple_boolify (tree expr)
}
}
-/* Convert the conditional expression pointed by EXPR_P '(p) ? a : b;'
+/* Convert the conditional expression pointed to by EXPR_P '(p) ? a : b;'
into
if (p) if (p)
@@ -2532,6 +2533,17 @@ zero_sized_field_decl (tree fdecl)
return false;
}
+/* Return true if TYPE is zero sized. */
+
+static bool
+zero_sized_type (tree type)
+{
+ if (AGGREGATE_TYPE_P (type) && TYPE_SIZE (type)
+ && integer_zerop (TYPE_SIZE (type)))
+ return true;
+ return false;
+}
+
/* A subroutine of gimplify_init_constructor. Generate individual
MODIFY_EXPRs for a CONSTRUCTOR. OBJECT is the LHS against which the
assignments should happen. ELTS is the CONSTRUCTOR_ELTS of the
@@ -2592,10 +2604,14 @@ gimplify_init_ctor_eval (tree object, VEC(constructor_elt,gc) *elts,
purpose, NULL_TREE, NULL_TREE);
}
else
- cref = build (COMPONENT_REF, TREE_TYPE (purpose),
- unshare_expr (object), purpose, NULL_TREE);
+ {
+ gcc_assert (TREE_CODE (purpose) == FIELD_DECL);
+ cref = build (COMPONENT_REF, TREE_TYPE (purpose),
+ unshare_expr (object), purpose, NULL_TREE);
+ }
- if (TREE_CODE (value) == CONSTRUCTOR)
+ if (TREE_CODE (value) == CONSTRUCTOR
+ && TREE_CODE (TREE_TYPE (value)) != VECTOR_TYPE)
gimplify_init_ctor_eval (cref, CONSTRUCTOR_ELTS (value),
pre_p, cleared);
else
@@ -2690,13 +2706,18 @@ gimplify_init_constructor (tree *expr_p, tree *pre_p,
parts in, then generate code for the non-constant parts. */
/* TODO. There's code in cp/typeck.c to do this. */
- num_type_elements = count_type_elements (TREE_TYPE (ctor));
+ num_type_elements = count_type_elements (type, true);
+ /* If count_type_elements could not determine number of type elements
+ for a constant-sized object, assume clearing is needed.
+ Don't do this for variable-sized objects, as store_constructor
+ will ignore the clearing of variable-sized objects. */
+ if (num_type_elements < 0 && int_size_in_bytes (type) >= 0)
+ cleared = true;
/* If there are "lots" of zeros, then block clear the object first. */
- if (num_type_elements - num_nonzero_elements > CLEAR_RATIO
- && num_nonzero_elements < num_type_elements/4)
+ else if (num_type_elements - num_nonzero_elements > CLEAR_RATIO
+ && num_nonzero_elements < num_type_elements/4)
cleared = true;
-
/* ??? This bit ought not be needed. For any element not present
in the initializer, we should simply set them to zero. Except
we'd need to *find* the elements that are not present, and that
@@ -3109,7 +3130,7 @@ gimplify_modify_expr_complex_part (tree *expr_p, tree *pre_p, bool want_value)
return GS_ALL_DONE;
}
-/* Gimplify the MODIFY_EXPR node pointed by EXPR_P.
+/* Gimplify the MODIFY_EXPR node pointed to by EXPR_P.
modify_expr
: varname '=' rhs
@@ -3137,6 +3158,18 @@ gimplify_modify_expr (tree *expr_p, tree *pre_p, tree *post_p, bool want_value)
/* The distinction between MODIFY_EXPR and INIT_EXPR is no longer useful. */
if (TREE_CODE (*expr_p) == INIT_EXPR)
TREE_SET_CODE (*expr_p, MODIFY_EXPR);
+
+ /* For zero sized types only gimplify the left hand side and right hand side
+ as statements and throw away the assignment. */
+ if (zero_sized_type (TREE_TYPE (*from_p)))
+ {
+ gimplify_stmt (from_p);
+ gimplify_stmt (to_p);
+ append_to_statement_list (*from_p, pre_p);
+ append_to_statement_list (*to_p, pre_p);
+ *expr_p = NULL_TREE;
+ return GS_ALL_DONE;
+ }
/* See if any simplifications can be done based on what the RHS is. */
ret = gimplify_modify_expr_rhs (expr_p, from_p, to_p, pre_p, post_p,
@@ -3372,7 +3405,7 @@ gimplify_save_expr (tree *expr_p, tree *pre_p, tree *post_p)
return ret;
}
-/* Re-write the ADDR_EXPR node pointed by EXPR_P
+/* Re-write the ADDR_EXPR node pointed to by EXPR_P
unary_expr
: ...
@@ -3868,7 +3901,7 @@ gimplify_to_stmt_list (tree *stmt_p)
}
-/* Gimplifies the expression tree pointed by EXPR_P. Return 0 if
+/* Gimplifies the expression tree pointed to by EXPR_P. Return 0 if
gimplification failed.
PRE_P points to the list where side effects that must happen before
@@ -4609,18 +4642,46 @@ gimplify_type_sizes (tree type, tree *list_p)
void
gimplify_one_sizepos (tree *expr_p, tree *stmt_p)
{
+ tree type, expr = *expr_p;
+
/* We don't do anything if the value isn't there, is constant, or contains
A PLACEHOLDER_EXPR. We also don't want to do anything if it's already
a VAR_DECL. If it's a VAR_DECL from another function, the gimplifier
will want to replace it with a new variable, but that will cause problems
if this type is from outside the function. It's OK to have that here. */
- if (*expr_p == NULL_TREE || TREE_CONSTANT (*expr_p)
- || TREE_CODE (*expr_p) == VAR_DECL
- || CONTAINS_PLACEHOLDER_P (*expr_p))
+ if (expr == NULL_TREE || TREE_CONSTANT (expr)
+ || TREE_CODE (expr) == VAR_DECL
+ || CONTAINS_PLACEHOLDER_P (expr))
return;
- *expr_p = unshare_expr (*expr_p);
+ type = TREE_TYPE (expr);
+ *expr_p = unshare_expr (expr);
+
gimplify_expr (expr_p, stmt_p, NULL, is_gimple_val, fb_rvalue);
+ expr = *expr_p;
+
+ /* Verify that we've an exact type match with the original expression.
+ In particular, we do not wish to drop a "sizetype" in favour of a
+ type of similar dimensions. We don't want to pollute the generic
+ type-stripping code with this knowledge because it doesn't matter
+ for the bulk of GENERIC/GIMPLE. It only matters that TYPE_SIZE_UNIT
+ and friends retain their "sizetype-ness". */
+ if (TREE_TYPE (expr) != type
+ && TREE_CODE (type) == INTEGER_TYPE
+ && TYPE_IS_SIZETYPE (type))
+ {
+ tree tmp;
+
+ *expr_p = create_tmp_var (type, NULL);
+ tmp = build1 (NOP_EXPR, type, expr);
+ tmp = build2 (MODIFY_EXPR, type, *expr_p, expr);
+ if (EXPR_HAS_LOCATION (expr))
+ SET_EXPR_LOCUS (tmp, EXPR_LOCUS (expr));
+ else
+ SET_EXPR_LOCATION (tmp, input_location);
+
+ gimplify_and_add (tmp, stmt_p);
+ }
}
#ifdef ENABLE_CHECKING
@@ -4702,7 +4763,7 @@ check_pointer_types_r (tree *tp, int *walk_subtrees ATTRIBUTE_UNUSED,
}
#endif
-/* Gimplify the body of statements pointed by BODY_P. FNDECL is the
+/* Gimplify the body of statements pointed to by BODY_P. FNDECL is the
function decl containing BODY. */
void
diff --git a/gcc/global.c b/gcc/global.c
index 13b81736859..d4e2b773559 100644
--- a/gcc/global.c
+++ b/gcc/global.c
@@ -97,6 +97,9 @@ struct allocno
/* Number of calls crossed by each allocno. */
int calls_crossed;
+ /* Number of calls that might throw crossed by each allocno. */
+ int throwing_calls_crossed;
+
/* Number of refs to each allocno. */
int n_refs;
@@ -486,6 +489,8 @@ global_alloc (FILE *file)
allocno[num].reg = i;
allocno[num].size = PSEUDO_REGNO_SIZE (i);
allocno[num].calls_crossed += REG_N_CALLS_CROSSED (i);
+ allocno[num].throwing_calls_crossed
+ += REG_N_THROWING_CALLS_CROSSED (i);
allocno[num].n_refs += REG_N_REFS (i);
allocno[num].freq += REG_FREQ (i);
if (allocno[num].live_length < REG_LIVE_LENGTH (i))
@@ -1205,9 +1210,11 @@ find_reg (int num, HARD_REG_SET losers, int alt_regs_p, int accept_call_clobbere
{
/* Did not find a register. If it would be profitable to
allocate a call-clobbered register and save and restore it
- around calls, do that. */
+ around calls, do that. Don't do this if it crosses any calls
+ that might throw. */
if (! accept_call_clobbered
&& allocno[num].calls_crossed != 0
+ && allocno[num].throwing_calls_crossed == 0
&& CALLER_SAVE_PROFITABLE (allocno[num].n_refs,
allocno[num].calls_crossed))
{
diff --git a/gcc/hwint.h b/gcc/hwint.h
index 84ca84281d6..9b28a3ada07 100644
--- a/gcc/hwint.h
+++ b/gcc/hwint.h
@@ -80,7 +80,7 @@ extern char sizeof_long_long_must_be_8[sizeof(long long) == 8 ? 1 : -1];
# define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%lx%08lx"
# endif
#else
-# define HOST_WIDE_INT_PRINT "ll"
+# define HOST_WIDE_INT_PRINT HOST_LONG_LONG_FORMAT
# define HOST_WIDE_INT_PRINT_C "LL"
/* We can assume that 'long long' is at least 64 bits. */
# define HOST_WIDE_INT_PRINT_DOUBLE_HEX \
diff --git a/gcc/integrate.c b/gcc/integrate.c
index eadf6606830..9ac14a0d709 100644
--- a/gcc/integrate.c
+++ b/gcc/integrate.c
@@ -89,82 +89,6 @@ function_attribute_inlinable_p (tree fndecl)
return true;
}
-/* Copy NODE (which must be a DECL). The DECL originally was in the FROM_FN,
- but now it will be in the TO_FN. */
-
-tree
-copy_decl_for_inlining (tree decl, tree from_fn, tree to_fn)
-{
- tree copy;
-
- /* Copy the declaration. */
- if (TREE_CODE (decl) == PARM_DECL || TREE_CODE (decl) == RESULT_DECL)
- {
- tree type = TREE_TYPE (decl);
-
- /* For a parameter or result, we must make an equivalent VAR_DECL, not a
- new PARM_DECL. */
- copy = build_decl (VAR_DECL, DECL_NAME (decl), type);
- TREE_ADDRESSABLE (copy) = TREE_ADDRESSABLE (decl);
- TREE_READONLY (copy) = TREE_READONLY (decl);
- TREE_THIS_VOLATILE (copy) = TREE_THIS_VOLATILE (decl);
- DECL_COMPLEX_GIMPLE_REG_P (copy) = DECL_COMPLEX_GIMPLE_REG_P (decl);
- }
- else
- {
- copy = copy_node (decl);
- /* The COPY is not abstract; it will be generated in TO_FN. */
- DECL_ABSTRACT (copy) = 0;
- lang_hooks.dup_lang_specific_decl (copy);
-
- /* TREE_ADDRESSABLE isn't used to indicate that a label's
- address has been taken; it's for internal bookkeeping in
- expand_goto_internal. */
- if (TREE_CODE (copy) == LABEL_DECL)
- {
- TREE_ADDRESSABLE (copy) = 0;
- LABEL_DECL_UID (copy) = -1;
- }
- }
-
- /* Don't generate debug information for the copy if we wouldn't have
- generated it for the copy either. */
- DECL_ARTIFICIAL (copy) = DECL_ARTIFICIAL (decl);
- DECL_IGNORED_P (copy) = DECL_IGNORED_P (decl);
-
- /* Set the DECL_ABSTRACT_ORIGIN so the debugging routines know what
- declaration inspired this copy. */
- DECL_ABSTRACT_ORIGIN (copy) = DECL_ORIGIN (decl);
-
- /* The new variable/label has no RTL, yet. */
- if (CODE_CONTAINS_STRUCT (TREE_CODE (copy), TS_DECL_WRTL)
- && !TREE_STATIC (copy) && !DECL_EXTERNAL (copy))
- SET_DECL_RTL (copy, NULL_RTX);
-
- /* These args would always appear unused, if not for this. */
- TREE_USED (copy) = 1;
-
- /* Set the context for the new declaration. */
- if (!DECL_CONTEXT (decl))
- /* Globals stay global. */
- ;
- else if (DECL_CONTEXT (decl) != from_fn)
- /* Things that weren't in the scope of the function we're inlining
- from aren't in the scope we're inlining to, either. */
- ;
- else if (TREE_STATIC (decl))
- /* Function-scoped static variables should stay in the original
- function. */
- ;
- else
- /* Ordinary automatic local variables are now in the scope of the
- new function. */
- DECL_CONTEXT (copy) = to_fn;
-
- return copy;
-}
-
-
/* Given a pointer to some BLOCK node, if the BLOCK_ABSTRACT_ORIGIN for the
given BLOCK node is NULL, set the BLOCK_ABSTRACT_ORIGIN for the node so
that it points to the node itself, thus indicating that the node is its
@@ -375,7 +299,7 @@ emit_initial_value_sets (void)
struct tree_opt_pass pass_initial_value_sets =
{
- NULL, /* name */
+ "initvals", /* name */
NULL, /* gate */
emit_initial_value_sets, /* execute */
NULL, /* sub */
@@ -386,7 +310,7 @@ struct tree_opt_pass pass_initial_value_sets =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- 0, /* todo_flags_finish */
+ TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c
index df57ccce053..927813e2d74 100644
--- a/gcc/ipa-inline.c
+++ b/gcc/ipa-inline.c
@@ -131,7 +131,7 @@ cgraph_clone_inlined_nodes (struct cgraph_edge *e, bool duplicate)
}
else if (duplicate)
{
- n = cgraph_clone_node (e->callee, e->count, e->loop_nest);
+ n = cgraph_clone_node (e->callee, e->count, e->loop_nest, true);
cgraph_redirect_edge_callee (e, n);
}
@@ -277,14 +277,42 @@ cgraph_check_inline_limits (struct cgraph_node *to, struct cgraph_node *what,
/* Return true when function N is small enough to be inlined. */
bool
-cgraph_default_inline_p (struct cgraph_node *n)
+cgraph_default_inline_p (struct cgraph_node *n, const char **reason)
{
- if (!DECL_INLINE (n->decl) || !DECL_SAVED_TREE (n->decl))
- return false;
+ if (!DECL_INLINE (n->decl))
+ {
+ if (reason)
+ *reason = N_("function not inlinable");
+ return false;
+ }
+
+ if (!DECL_SAVED_TREE (n->decl))
+ {
+ if (reason)
+ *reason = N_("function body not available");
+ return false;
+ }
+
if (DECL_DECLARED_INLINE_P (n->decl))
- return n->global.insns < MAX_INLINE_INSNS_SINGLE;
+ {
+ if (n->global.insns >= MAX_INLINE_INSNS_SINGLE)
+ {
+ if (reason)
+ *reason = N_("--param max-inline-insns-single limit reached");
+ return false;
+ }
+ }
else
- return n->global.insns < MAX_INLINE_INSNS_AUTO;
+ {
+ if (n->global.insns >= MAX_INLINE_INSNS_AUTO)
+ {
+ if (reason)
+ *reason = N_("--param max-inline-insns-auto limit reached");
+ return false;
+ }
+ }
+
+ return true;
}
/* Return true when inlining WHAT would create recursive inlining.
@@ -326,15 +354,9 @@ cgraph_maybe_hot_edge_p (struct cgraph_edge *edge)
metrics may accurately depend on values such as number of inlinable callers
of the function or function body size.
- For the moment we use estimated growth caused by inlining callee into all
- it's callers for driving the inlining but once we have loop depth or
- frequency information readily available we should do better.
-
With profiling we use number of executions of each edge to drive the cost.
We also should distinguish hot and cold calls where the cold calls are
inlined into only when code size is overall improved.
-
- Value INT_MAX can be returned to prevent function from being inlined.
*/
static int
@@ -355,8 +377,12 @@ cgraph_edge_badness (struct cgraph_edge *edge)
{
int nest = MIN (edge->loop_nest, 8);
int badness = cgraph_estimate_growth (edge->callee) * 256;
-
- badness >>= nest;
+
+ /* Decrease badness if call is nested. */
+ if (badness > 0)
+ badness >>= nest;
+ else
+ badness <<= nest;
/* Make recursive inlining happen always after other inlining is done. */
if (cgraph_recursive_inlining_p (edge->caller, edge->callee, NULL))
@@ -380,6 +406,7 @@ update_caller_keys (fibheap_t heap, struct cgraph_node *node,
if (bitmap_bit_p (updated_nodes, node->uid))
return;
bitmap_set_bit (updated_nodes, node->uid);
+ node->global.estimated_growth = INT_MIN;
for (edge = node->callers; edge; edge = edge->next_caller)
if (edge->inline_failed)
@@ -429,10 +456,13 @@ lookup_recursive_calls (struct cgraph_node *node, struct cgraph_node *where,
for (e = where->callees; e; e = e->next_callee)
if (e->callee == node)
{
- /* FIXME: Once counts and frequencies are available we should drive the
- order by these. For now force the order to be simple queue since
- we get order dependent on recursion depth for free by this. */
- fibheap_insert (heap, priority++, e);
+ /* When profile feedback is available, prioritize by expected number
+ of calls. Without profile feedback we maintain simple queue
+ to order candidates via recursive depths. */
+ fibheap_insert (heap,
+ !max_count ? priority++
+ : -(e->count / ((max_count + (1<<24) - 1) / (1<<24))),
+ e);
}
for (e = where->callees; e; e = e->next_callee)
if (!e->inline_failed)
@@ -506,6 +536,7 @@ cgraph_decide_recursive_inlining (struct cgraph_node *node)
{
int limit = PARAM_VALUE (PARAM_MAX_INLINE_INSNS_RECURSIVE_AUTO);
int max_depth = PARAM_VALUE (PARAM_MAX_INLINE_RECURSIVE_DEPTH_AUTO);
+ int probability = PARAM_VALUE (PARAM_MIN_INLINE_RECURSIVE_PROBABILITY);
fibheap_t heap;
struct cgraph_edge *e;
struct cgraph_node *master_clone;
@@ -536,7 +567,7 @@ cgraph_decide_recursive_inlining (struct cgraph_node *node)
cgraph_node_name (node));
/* We need original clone to copy around. */
- master_clone = cgraph_clone_node (node, 0, 1);
+ master_clone = cgraph_clone_node (node, node->count, 1, false);
master_clone->needed = true;
for (e = master_clone->callees; e; e = e->next_callee)
if (!e->inline_failed)
@@ -544,27 +575,60 @@ cgraph_decide_recursive_inlining (struct cgraph_node *node)
/* Do the inlining and update list of recursive call during process. */
while (!fibheap_empty (heap)
- && cgraph_estimate_size_after_inlining (1, node, master_clone) <= limit)
+ && (cgraph_estimate_size_after_inlining (1, node, master_clone)
+ <= limit))
{
struct cgraph_edge *curr = fibheap_extract_min (heap);
- struct cgraph_node *node;
+ struct cgraph_node *cnode;
- depth = 0;
- for (node = curr->caller;
- node; node = node->global.inlined_to)
+ depth = 1;
+ for (cnode = curr->caller;
+ cnode->global.inlined_to; cnode = cnode->callers->caller)
if (node->decl == curr->callee->decl)
depth++;
if (depth > max_depth)
- continue;
+ {
+ if (dump_file)
+ fprintf (dump_file,
+ " maxmal depth reached\n");
+ continue;
+ }
+
+ if (max_count)
+ {
+ if (!cgraph_maybe_hot_edge_p (curr))
+ {
+ if (dump_file)
+ fprintf (dump_file, " Not inlining cold call\n");
+ continue;
+ }
+ if (curr->count * 100 / node->count < probability)
+ {
+ if (dump_file)
+ fprintf (dump_file,
+ " Probability of edge is too small\n");
+ continue;
+ }
+ }
if (dump_file)
- fprintf (dump_file,
- " Inlining call of depth %i\n", depth);
+ {
+ fprintf (dump_file,
+ " Inlining call of depth %i", depth);
+ if (node->count)
+ {
+ fprintf (dump_file, " called approx. %.2f times per call",
+ (double)curr->count / node->count);
+ }
+ fprintf (dump_file, "\n");
+ }
cgraph_redirect_edge_callee (curr, master_clone);
cgraph_mark_inline_edge (curr);
lookup_recursive_calls (node, curr->callee, heap);
n++;
}
+ if (!fibheap_empty (heap) && dump_file)
+ fprintf (dump_file, " Recursive inlining growth limit met.\n");
fibheap_delete (heap);
if (dump_file)
@@ -580,6 +644,10 @@ cgraph_decide_recursive_inlining (struct cgraph_node *node)
if (node->global.inlined_to == master_clone)
cgraph_remove_node (node);
cgraph_remove_node (master_clone);
+ /* FIXME: Recursive inlining actually reduces number of calls of the
+ function. At this place we should probably walk the function and
+ inline clones and compensate the counts accordingly. This probably
+ doesn't matter much in practice. */
return true;
}
@@ -609,6 +677,7 @@ cgraph_decide_inlining_of_small_functions (void)
{
struct cgraph_node *node;
struct cgraph_edge *edge;
+ const char *failed_reason;
fibheap_t heap = fibheap_new ();
bitmap updated_nodes = BITMAP_ALLOC (NULL);
@@ -626,10 +695,9 @@ cgraph_decide_inlining_of_small_functions (void)
fprintf (dump_file, "Considering inline candidate %s.\n", cgraph_node_name (node));
node->global.estimated_growth = INT_MIN;
- if (!cgraph_default_inline_p (node))
+ if (!cgraph_default_inline_p (node, &failed_reason))
{
- cgraph_set_inline_failed (node,
- N_("--param max-inline-insns-single limit reached"));
+ cgraph_set_inline_failed (node, failed_reason);
continue;
}
@@ -708,13 +776,11 @@ cgraph_decide_inlining_of_small_functions (void)
}
continue;
}
- if (!cgraph_default_inline_p (edge->callee))
+ if (!cgraph_default_inline_p (edge->callee, &edge->inline_failed))
{
if (!cgraph_recursive_inlining_p (edge->caller, edge->callee,
&edge->inline_failed))
{
- edge->inline_failed =
- N_("--param max-inline-insns-single limit reached after inlining into the callee");
if (dump_file)
fprintf (dump_file, " inline_failed:%s.\n", edge->inline_failed);
}
@@ -732,6 +798,7 @@ cgraph_decide_inlining_of_small_functions (void)
}
else
{
+ struct cgraph_node *callee;
if (!cgraph_check_inline_limits (edge->caller, edge->callee,
&edge->inline_failed))
{
@@ -740,8 +807,9 @@ cgraph_decide_inlining_of_small_functions (void)
cgraph_node_name (edge->caller), edge->inline_failed);
continue;
}
+ callee = edge->callee;
cgraph_mark_inline_edge (edge);
- update_callee_keys (heap, edge->callee, updated_nodes);
+ update_callee_keys (heap, callee, updated_nodes);
}
where = edge->caller;
if (where->global.inlined_to)
@@ -876,9 +944,11 @@ cgraph_decide_inlining (void)
}
if (!flag_really_no_inline)
- {
- cgraph_decide_inlining_of_small_functions ();
+ cgraph_decide_inlining_of_small_functions ();
+ if (!flag_really_no_inline
+ && flag_inline_functions_called_once)
+ {
if (dump_file)
fprintf (dump_file, "\nDeciding on functions called once:\n");
@@ -954,6 +1024,7 @@ cgraph_decide_inlining_incrementally (struct cgraph_node *node, bool early)
{
struct cgraph_edge *e;
bool inlined = false;
+ const char *failed_reason;
/* First of all look for always inline functions. */
for (e = node->callees; e; e = e->next_callee)
@@ -984,7 +1055,7 @@ cgraph_decide_inlining_incrementally (struct cgraph_node *node, bool early)
&& cgraph_check_inline_limits (node, e->callee, &e->inline_failed)
&& DECL_SAVED_TREE (e->callee->decl))
{
- if (cgraph_default_inline_p (e->callee))
+ if (cgraph_default_inline_p (e->callee, &failed_reason))
{
if (dump_file && early)
fprintf (dump_file, " Early inlining %s into %s\n",
@@ -993,8 +1064,7 @@ cgraph_decide_inlining_incrementally (struct cgraph_node *node, bool early)
inlined = true;
}
else if (!early)
- e->inline_failed
- = N_("--param max-inline-insns-single limit reached");
+ e->inline_failed = failed_reason;
}
if (early && inlined)
{
@@ -1005,7 +1075,6 @@ cgraph_decide_inlining_incrementally (struct cgraph_node *node, bool early)
node->local.self_insns = node->global.insns;
current_function_decl = NULL;
pop_cfun ();
- ggc_collect ();
}
return inlined;
}
diff --git a/gcc/ipa-pure-const.c b/gcc/ipa-pure-const.c
index 0b659a0aee6..eb7273c5992 100644
--- a/gcc/ipa-pure-const.c
+++ b/gcc/ipa-pure-const.c
@@ -182,13 +182,14 @@ check_tree (funct_state local, tree t, bool checking_write)
/* Any indirect reference that occurs on the lhs
disqualifies the function from being pure or const. Any
- indirect reference that occurs on the rhs disqualifies
- the function from being const. */
- if (checking_write)
+ indirect reference to a volatile disqualifies the
+ function from being pure or const. Any indirect
+ reference that occurs on the rhs disqualifies the
+ function from being const. */
+ if (checking_write || TREE_THIS_VOLATILE (t))
local->pure_const_state = IPA_NEITHER;
- else
- if (local->pure_const_state == IPA_CONST)
- local->pure_const_state = IPA_PURE;
+ else if (local->pure_const_state == IPA_CONST)
+ local->pure_const_state = IPA_PURE;
}
if (SSA_VAR_P (t))
@@ -711,7 +712,7 @@ gate_pure_const (void)
struct tree_opt_pass pass_ipa_pure_const =
{
- "ipa-pure-const", /* name */
+ "pure-const", /* name */
gate_pure_const, /* gate */
static_execute, /* execute */
NULL, /* sub */
diff --git a/gcc/ipa-type-escape.c b/gcc/ipa-type-escape.c
index 19a2a1e08b5..e369d313dac 100644
--- a/gcc/ipa-type-escape.c
+++ b/gcc/ipa-type-escape.c
@@ -1622,7 +1622,7 @@ close_type_full_escape (tree type)
}
/* Transitively close the addressof bitmap for the type with UID.
- This means that if we had a.b and b.c, a would have both b an c in
+ This means that if we had a.b and b.c, a would have both b and c in
its maps. */
static bitmap
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index aa23f33e33b..0ecfd8f8098 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,96 @@
+2005-08-16 Tom Tromey <tromey@redhat.com>
+
+ * class.c (make_class_data): Always emit JV_STATE_PRELOADING for
+ class' initial state.
+
+2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
+
+ PR java/22113
+ * lex.c (do_java_lex): Define MAX_TOKEN_LEN. Avoid overflowing
+ `literal_token' for large numeric input tokens.
+
+2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
+
+ PR java/19870
+ * parse.y (nested_field_access_p): Rename to nested_member_access_p
+ and expand to handle method accesses across nested classes.
+ (build_outer_method_access_method): Rename to
+ build_nested_method_access_method. Minor adjustments to comments.
+ (resolve_expression_name): Use the newly-renamed
+ nested_member_access_p method.
+ (resolve_qualified_expression_name): Likewise.
+ (patch_method_invocation): Also consider static methods for access
+ method generation. Minor adjustments to comments.
+ (maybe_use_access_method): Use the more general
+ nested_memeber_access_p to determine access across nested class
+ boundaries. Allow THIS_ARG to be NULL (for static methods).
+
+2005-08-15 Tom Tromey <tromey@redhat.com>
+
+ PR java/23300.
+ * expr.c (build_field_ref): Don't generate otable reference when
+ DECL_FIELD_OFFSET is 0.
+ * class.c (maybe_layout_super_class): Pass outer class to
+ do_resolve_class.
+
+2005-08-15 Tom Tromey <tromey@redhat.com>
+
+ * java-tree.h (LABEL_IN_SUBR): Removed.
+ (LABEL_IN_SUBR): Likewise.
+ (LABEL_IS_SUBR_START): Likewise.
+ (LABEL_SUBR_START): Likewise.
+ (LABEL_SUBR_CONTEXT): Likewise.
+ (LABEL_CHANGED): Likewise.
+ (LABEL_RETURN_LABEL): Likewise.
+ (LABEL_RETURN_TYPE_STATE): Likewise.
+ (LABEL_RETURN_LABELS): Likewise.
+ (RETURN_MAP_ADJUSTED): Likewise.
+ (LABEL_PENDING_CHAIN): Likewise.
+
+2005-08-15 Tom Tromey <tromey@redhat.com>
+
+ * Make-lang.in (JAVA_OBJS): Removed verify.o
+ (java/verify.o): Removed.
+ * verify.c: Removed.
+ * lang.c (flag_new_verifier): Removed.
+ (java_post_options): Updated.
+ * java-tree.h (flag_new_verifier): Removed.
+ (verify_jvm_instructions): Removed.
+ * expr.c (pop_type_0): Assume flag_new_verifier is true.
+ (build_java_check_indexed_type): Likewise.
+ (expand_java_arraystore): Likewise.
+ (expand_java_arrayload): Likewise.
+ (pop_arguments): Likewise.
+ (expand_byte_code): Likewise.
+ (process_jvm_instruction): Likewise.
+
+2005-08-10 Andrew Haley <aph@redhat.com>
+
+ * java-gimplify.c (java_gimplify_modify_expr): Fix any pointer
+ type mismatches to make legal GIMPLE.
+
+2005-08-10 Robin Green <greenrd@greenrd.org>
+
+ PR java/23230:
+ * parse.y (maybe_use_access_method): Generalize check from
+ java.lang.Object to any superclass of current_class
+
+2005-08-08 Nathan Sidwell <nathan@codesourcery.com>
+
+ * class.c (build_class_ref): Wrap the primary class type in a
+ NOP_EXPR.
+ * parse.y (java_complete_lhs) <COMPONENT_REF case>: Extract the
+ primary class type from the NOP_EXPR in which it was placed.
+
+2005-07-28 Diego Novillo <dnovillo@redhat.com>
+
+ * expr.c (expand_load_internal): Fix missing parens in
+ predicate.
+
+2005-07-28 Andrew Haley <aph@redhat.com>
+
+ * expr.c (expand_load_internal): Convert to destination type.
+
2005-07-22 Manfred Hollstein <mh@suse.com>
* verify-impl.c (check_class_constant): Fix uninitialised warnings.
diff --git a/gcc/java/Make-lang.in b/gcc/java/Make-lang.in
index ddeb12d8e3c..458d65b80eb 100644
--- a/gcc/java/Make-lang.in
+++ b/gcc/java/Make-lang.in
@@ -102,7 +102,7 @@ gt-java-builtins.h gtype-java.h gt-java-resource.h : s-gtype ; @true
# Executables built by this Makefile:
JAVA_OBJS = java/parse.o java/class.o java/decl.o java/expr.o \
- java/constants.o java/lang.o java/typeck.o java/except.o java/verify.o \
+ java/constants.o java/lang.o java/typeck.o java/except.o \
java/verify-glue.o java/verify-impl.o \
java/zextract.o java/jcf-io.o java/win32-host.o java/jcf-parse.o java/mangle.o \
java/mangle_name.o java/builtins.o java/resource.o \
@@ -349,9 +349,6 @@ java/resource.o: java/resource.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
java/typeck.o: java/typeck.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h \
java/convert.h toplev.h $(SYSTEM_H) coretypes.h $(TM_H) $(GGC_H) real.h
java/win32-host.o: java/win32-host.c $(CONFIG_H) $(SYSTEM_H) coretypes.h java/jcf.h
-java/verify.o: java/verify.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h \
- java/javaop.h java/java-opcodes.h java/java-except.h toplev.h $(SYSTEM_H) \
- coretypes.h $(TM_H)
java/verify-glue.o: java/verify-glue.c $(CONFIG_H) $(SYSTEM_H) $(JAVA_TREE_H) \
coretypes.h $(TM_H) java/verify.h toplev.h
java/verify-impl.o: java/verify-impl.c $(CONFIG_H) java/verify.h $(SYSTEM_H) \
diff --git a/gcc/java/class.c b/gcc/java/class.c
index c2bd62f7a73..a089112276e 100644
--- a/gcc/java/class.c
+++ b/gcc/java/class.c
@@ -1011,6 +1011,11 @@ build_class_ref (tree type)
abort ();
prim_class = lookup_class (get_identifier (prim_class_name));
+ /* We wrap the class in a NOP_EXPR, because it is a
+ type. We can't hold it in the COMPONENT_REF itself,
+ as that type must remain NULL. */
+ prim_class = build1 (NOP_EXPR, prim_class, NULL_TREE);
+
return build3 (COMPONENT_REF, NULL_TREE,
prim_class, TYPE_identifier_node, NULL_TREE);
}
@@ -1855,13 +1860,9 @@ make_class_data (tree type)
PUSH_FIELD_VALUE (cons, "loader", null_pointer_node);
PUSH_FIELD_VALUE (cons, "interface_count",
build_int_cst (NULL_TREE, interface_len));
- PUSH_FIELD_VALUE
- (cons, "state",
- convert (byte_type_node,
- build_int_cst (NULL_TREE,
- flag_indirect_dispatch
- ? JV_STATE_PRELOADING
- : JV_STATE_COMPILED)));
+ PUSH_FIELD_VALUE (cons, "state",
+ convert (byte_type_node,
+ build_int_cst (NULL_TREE, JV_STATE_PRELOADING)));
PUSH_FIELD_VALUE (cons, "thread", null_pointer_node);
PUSH_FIELD_VALUE (cons, "depth", integer_zero_node);
@@ -2088,8 +2089,9 @@ maybe_layout_super_class (tree super_class, tree this_class)
DECL_SOURCE_LINE (this_decl), 0);
#endif
}
- super_class = do_resolve_class (NULL_TREE, this_class,
- super_class, NULL_TREE, this_wrap);
+ super_class
+ = do_resolve_class (DECL_CONTEXT (TYPE_NAME (this_class)),
+ this_class, super_class, NULL_TREE, this_wrap);
if (!super_class)
return NULL_TREE; /* FIXME, NULL_TREE not checked by caller. */
super_class = TREE_TYPE (super_class);
diff --git a/gcc/java/expr.c b/gcc/java/expr.c
index f3f4c84fdb3..c29b8a30254 100644
--- a/gcc/java/expr.c
+++ b/gcc/java/expr.c
@@ -350,29 +350,12 @@ pop_type_0 (tree type, char **messagep)
return t;
if (TREE_CODE (type) == POINTER_TYPE && TREE_CODE (t) == POINTER_TYPE)
{
- if (flag_new_verifier)
- {
- /* Since the verifier has already run, we know that any
- types we see will be compatible. In BC mode, this fact
- may be checked at runtime, but if that is so then we can
- assume its truth here as well. So, we always succeed
- here, with the expected type. */
- return type;
- }
- else
- {
- if (type == ptr_type_node || type == object_ptr_type_node)
- return t;
- else if (t == ptr_type_node) /* Special case for null reference. */
- return type;
- /* This is a kludge, but matches what Sun's verifier does.
- It can be tricked, but is safe as long as type errors
- (i.e. interface method calls) are caught at run-time. */
- else if (CLASS_INTERFACE (TYPE_NAME (TREE_TYPE (type))))
- return object_ptr_type_node;
- else if (can_widen_reference_to (t, type))
- return t;
- }
+ /* Since the verifier has already run, we know that any
+ types we see will be compatible. In BC mode, this fact
+ may be checked at runtime, but if that is so then we can
+ assume its truth here as well. So, we always succeed
+ here, with the expected type. */
+ return type;
}
if (! flag_verify_invocations && flag_indirect_dispatch
@@ -1022,33 +1005,14 @@ build_java_arraystore_check (tree array, tree object)
return unchanged. */
static tree
-build_java_check_indexed_type (tree array_node, tree indexed_type)
+build_java_check_indexed_type (tree array_node ATTRIBUTE_UNUSED,
+ tree indexed_type)
{
- tree elt_type;
-
/* We used to check to see if ARRAY_NODE really had array type.
However, with the new verifier, this is not necessary, as we know
that the object will be an array of the appropriate type. */
- if (flag_new_verifier)
- return indexed_type;
-
- if (!is_array_type_p (TREE_TYPE (array_node)))
- abort ();
-
- elt_type = (TYPE_ARRAY_ELEMENT (TREE_TYPE (TREE_TYPE (array_node))));
-
- if (indexed_type == ptr_type_node)
- return promote_type (elt_type);
-
- /* BYTE/BOOLEAN store and load are used for both type */
- if (indexed_type == byte_type_node && elt_type == boolean_type_node)
- return boolean_type_node;
-
- if (indexed_type != elt_type )
- abort ();
- else
- return indexed_type;
+ return indexed_type;
}
/* newarray triggers a call to _Jv_NewPrimArray. This function should be
@@ -1155,23 +1119,18 @@ expand_java_arraystore (tree rhs_type_node)
tree index = pop_value (int_type_node);
tree array_type, array;
- if (flag_new_verifier)
+ /* If we're processing an `aaload' we might as well just pick
+ `Object'. */
+ if (TREE_CODE (rhs_type_node) == POINTER_TYPE)
{
- /* If we're processing an `aaload' we might as well just pick
- `Object'. */
- if (TREE_CODE (rhs_type_node) == POINTER_TYPE)
- {
- array_type = build_java_array_type (object_ptr_type_node, -1);
- rhs_type_node = object_ptr_type_node;
- }
- else
- array_type = build_java_array_type (rhs_type_node, -1);
+ array_type = build_java_array_type (object_ptr_type_node, -1);
+ rhs_type_node = object_ptr_type_node;
}
else
- array_type = ptr_type_node;
+ array_type = build_java_array_type (rhs_type_node, -1);
+
array = pop_value (array_type);
- if (flag_new_verifier)
- array = build1 (NOP_EXPR, promote_type (array_type), array);
+ array = build1 (NOP_EXPR, promote_type (array_type), array);
rhs_type_node = build_java_check_indexed_type (array, rhs_type_node);
@@ -1205,23 +1164,17 @@ expand_java_arrayload (tree lhs_type_node)
tree array_type;
tree array_node;
- if (flag_new_verifier)
+ /* If we're processing an `aaload' we might as well just pick
+ `Object'. */
+ if (TREE_CODE (lhs_type_node) == POINTER_TYPE)
{
- /* If we're processing an `aaload' we might as well just pick
- `Object'. */
- if (TREE_CODE (lhs_type_node) == POINTER_TYPE)
- {
- array_type = build_java_array_type (object_ptr_type_node, -1);
- lhs_type_node = object_ptr_type_node;
- }
- else
- array_type = build_java_array_type (lhs_type_node, -1);
+ array_type = build_java_array_type (object_ptr_type_node, -1);
+ lhs_type_node = object_ptr_type_node;
}
else
- array_type = ptr_type_node;
+ array_type = build_java_array_type (lhs_type_node, -1);
array_node = pop_value (array_type);
- if (flag_new_verifier)
- array_node = build1 (NOP_EXPR, promote_type (array_type), array_node);
+ array_node = build1 (NOP_EXPR, promote_type (array_type), array_node);
index_node = save_expr (index_node);
array_node = save_expr (array_node);
@@ -1321,7 +1274,7 @@ expand_load_internal (int index, tree type, int pc)
value into it. Then we push this new local on the stack.
Hopefully this all gets optimized out. */
copy = build_decl (VAR_DECL, NULL_TREE, type);
- if (INTEGRAL_TYPE_P (type)
+ if ((INTEGRAL_TYPE_P (type) || POINTER_TYPE_P (type))
&& TREE_TYPE (copy) != TREE_TYPE (var))
var = convert (type, var);
java_add_local_var (copy);
@@ -1735,13 +1688,7 @@ build_field_ref (tree self_value, tree self_class, tree name)
tree base_type = promote_type (base_class);
if (base_type != TREE_TYPE (self_value))
self_value = fold (build1 (NOP_EXPR, base_type, self_value));
- if (! flag_syntax_only
- && (flag_indirect_dispatch
- /* DECL_FIELD_OFFSET == 0 if we have no reference for
- the field, perhaps because we couldn't find the class
- in which the field is defined.
- FIXME: We should investigate this. */
- || DECL_FIELD_OFFSET (field_decl) == 0))
+ if (! flag_syntax_only && flag_indirect_dispatch)
{
tree otable_index
= build_int_cst (NULL_TREE, get_symbol_table_index
@@ -1916,12 +1863,11 @@ pop_arguments (tree arg_types)
tree type = TREE_VALUE (arg_types);
tree arg = pop_value (type);
- /* With the new verifier we simply cast each argument to its
- proper type. This is needed since we lose type information
- coming out of the verifier. We also have to do this with the
- old verifier when we pop an integer type that must be
- promoted for the function call. */
- if (flag_new_verifier && TREE_CODE (type) == POINTER_TYPE)
+ /* We simply cast each argument to its proper type. This is
+ needed since we lose type information coming out of the
+ verifier. We also have to do this when we pop an integer
+ type that must be promoted for the function call. */
+ if (TREE_CODE (type) == POINTER_TYPE)
arg = build1 (NOP_EXPR, type, arg);
else if (targetm.calls.promote_prototypes (type)
&& TYPE_PRECISION (type) < TYPE_PRECISION (integer_type_node)
@@ -2943,16 +2889,8 @@ expand_byte_code (JCF *jcf, tree method)
}
}
- if (flag_new_verifier)
- {
- if (! verify_jvm_instructions_new (jcf, byte_ops, length))
- return;
- }
- else
- {
- if (! verify_jvm_instructions (jcf, byte_ops, length))
- return;
- }
+ if (! verify_jvm_instructions_new (jcf, byte_ops, length))
+ return;
promote_arguments ();
@@ -3065,10 +3003,10 @@ process_jvm_instruction (int PC, const unsigned char* byte_ops,
replace the top of the stack with the thrown object reference */
if (instruction_bits [PC] & BCODE_EXCEPTION_TARGET)
{
- /* Note that the new verifier will not emit a type map at all
- for dead exception handlers. In this case we just ignore
- the situation. */
- if (! flag_new_verifier || (instruction_bits[PC] & BCODE_VERIFIED) != 0)
+ /* Note that the verifier will not emit a type map at all for
+ dead exception handlers. In this case we just ignore the
+ situation. */
+ if ((instruction_bits[PC] & BCODE_VERIFIED) != 0)
{
tree type = pop_type (promote_type (throwable_type_node));
push_value (build_exception_object_ref (type));
diff --git a/gcc/java/java-gimplify.c b/gcc/java/java-gimplify.c
index cbc174d8f02..a07e1bbdc96 100644
--- a/gcc/java/java-gimplify.c
+++ b/gcc/java/java-gimplify.c
@@ -208,17 +208,16 @@ java_gimplify_exit_block_expr (tree expr)
return build1 (GOTO_EXPR, void_type_node, label);
}
-/* This is specific to the bytecode compiler. If a variable has
- LOCAL_SLOT_P set, replace an assignment to it with an assignment to
- the corresponding variable that holds all its aliases. */
-
static tree
java_gimplify_modify_expr (tree modify_expr)
{
tree lhs = TREE_OPERAND (modify_expr, 0);
tree rhs = TREE_OPERAND (modify_expr, 1);
tree lhs_type = TREE_TYPE (lhs);
-
+
+ /* This is specific to the bytecode compiler. If a variable has
+ LOCAL_SLOT_P set, replace an assignment to it with an assignment
+ to the corresponding variable that holds all its aliases. */
if (TREE_CODE (lhs) == VAR_DECL
&& DECL_LANG_SPECIFIC (lhs)
&& LOCAL_SLOT_P (lhs)
@@ -230,7 +229,12 @@ java_gimplify_modify_expr (tree modify_expr)
new_lhs, new_rhs);
modify_expr = build1 (NOP_EXPR, lhs_type, modify_expr);
}
-
+ else if (lhs_type != TREE_TYPE (rhs))
+ /* Fix up type mismatches to make legal GIMPLE. These are
+ generated in several places, in particular null pointer
+ assignment and subclass assignment. */
+ TREE_OPERAND (modify_expr, 1) = convert (lhs_type, rhs);
+
return modify_expr;
}
diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h
index ab6157b7c61..d7aa8d70b61 100644
--- a/gcc/java/java-tree.h
+++ b/gcc/java/java-tree.h
@@ -52,8 +52,7 @@ struct JCF;
COMPOUND_ASSIGN_P (in EXPR (binop_*))
LOCAL_CLASS_P (in RECORD_TYPE)
BLOCK_IS_IMPLICIT (in BLOCK)
- 2: RETURN_MAP_ADJUSTED (in TREE_VEC).
- QUALIFIED_P (in IDENTIFIER_NODE)
+ 2: QUALIFIED_P (in IDENTIFIER_NODE)
PRIMARY_P (in EXPR_WITH_FILE_LOCATION)
MODIFY_EXPR_FROM_INITIALIZATION_P (in MODIFY_EXPR)
CLASS_METHOD_CHECKED_P (in RECORD_TYPE)
@@ -98,15 +97,12 @@ struct JCF;
CLASS_FINAL (in TYPE_DECL)
DECL_FINAL (in any decl)
4: METHOD_SYNCHRONIZED (in FUNCTION_DECL).
- LABEL_IN_SUBR (in LABEL_DECL)
CLASS_INTERFACE (in TYPE_DECL)
FIELD_VOLATILE (int FIELD_DECL)
5: METHOD_ABSTRACT (in FUNCTION_DECL).
- LABEL_IS_SUBR_START (in LABEL_DECL)
CLASS_ABSTRACT (in TYPE_DECL)
FIELD_TRANSIENT (in FIELD_DECL)
- 6: LABEL_CHANGED (in LABEL_DECL)
- CLASS_SUPER (in TYPE_DECL, ACC_SUPER flag)
+ 6: CLASS_SUPER (in TYPE_DECL, ACC_SUPER flag)
FIELD_LOCAL_ALIAS (in FIELD_DECL)
7: DECL_CONSTRUCTOR_P (in FUNCTION_DECL).
CLASS_STATIC (in TYPE_DECL)
@@ -219,9 +215,6 @@ extern int flag_indirect_dispatch;
/* When zero, don't generate runtime array store checks. */
extern int flag_store_check;
-/* When nonzero, use the new bytecode verifier. */
-extern int flag_new_verifier;
-
/* Encoding used for source files. */
extern const char *current_encoding;
@@ -852,52 +845,13 @@ union lang_tree_node
/* In a LABEL_DECL, a TREE_VEC that saves the type_map at that point. */
#define LABEL_TYPE_STATE(NODE) (LABEL_DECL_CHECK (NODE)->label_decl.java_field_1)
-/* In the label of a subroutine, a dummy label that records the
- state following a merge of all the ret instructions in this subroutine. */
-#define LABEL_RETURN_LABEL(DECL) (LABEL_DECL_CHECK (DECL)->label_decl.java_field_2)
-
-/* In the label of a sub-routine, records the type state at return.
- A local may be TYPE_UNUSED, which means that the local is not
- used (stored to or loaded from) in this subroutine - at least for
- code that we have verified so far. */
-#define LABEL_RETURN_TYPE_STATE(NODE) \
- LABEL_TYPE_STATE (LABEL_RETURN_LABEL (NODE))
-
-/* In a TREE_VEC for a LABEL_RETURN_TYPE_STATE, notes that
- TREE_VEC_LENGTH has been adjusted to the correct stack size. */
-#define RETURN_MAP_ADJUSTED(NODE) TREE_LANG_FLAG_2 (TREE_VEC_CHECK (NODE))
-
-/* In the label of a sub-routine, a chain of the return location labels. */
-#define LABEL_RETURN_LABELS(node) \
- (LABEL_DECL_CHECK (LABEL_RETURN_LABEL (node))->label_decl.java_field_3)
-
-/* In a LABEL_DECL, the next pending label.
- See pending_blocks in expr.c. */
-#define LABEL_PENDING_CHAIN(NODE) (LABEL_DECL_CHECK (NODE)->label_decl.java_field_3)
-
/* In a LABEL_DECL, the corresponding bytecode program counter. */
#define LABEL_PC(NODE) (LABEL_DECL_CHECK (NODE)->label_decl.java_field_4)
-/* Used during verification to mark the label has "changed". (See JVM Spec). */
-#define LABEL_CHANGED(NODE) DECL_LANG_FLAG_6 (LABEL_DECL_CHECK (NODE))
-
/* In a LABEL_DECL, true if we have verified instructions starting here. */
#define LABEL_VERIFIED(NODE) \
(instruction_bits[LABEL_PC (NODE)] & BCODE_VERIFIED)
-/* True if this code is within a subroutine (target of a jsr). */
-#define LABEL_IN_SUBR(NODE) DECL_LANG_FLAG_4 (LABEL_DECL_CHECK (NODE))
-/* True if this code is the start of a subroutine (target of a jsr). */
-#define LABEL_IS_SUBR_START(NODE) DECL_LANG_FLAG_5 (LABEL_DECL_CHECK (NODE))
-
-/* In a LABEL_DECL, if LABEL_IN_SUBR(NODE), points to start of subroutine. */
-#define LABEL_SUBR_START(NODE) DECL_ABSTRACT_ORIGIN (LABEL_DECL_CHECK (NODE))
-
-/* In a LABEL_DECL that has LABEL_IS_SUBR_START, this points to the start
- of surrounding subroutine in the case of a nested subroutine,
- and NULL_TREE otherwise. */
-#define LABEL_SUBR_CONTEXT(NODE) DECL_CONTEXT (LABEL_RETURN_LABEL (NODE))
-
/* The slot number for this local variable. */
#define DECL_LOCAL_SLOT_NUMBER(NODE) \
(DECL_LANG_SPECIFIC (NODE)->u.v.slot_number)
@@ -1328,7 +1282,6 @@ extern void init_class_processing (void);
extern void add_type_assertion (tree, int, tree, tree);
extern int can_widen_reference_to (tree, tree);
extern int class_depth (tree);
-extern int verify_jvm_instructions (struct JCF *, const unsigned char *, long);
extern int verify_jvm_instructions_new (struct JCF *, const unsigned char *,
long);
extern void maybe_pushlevels (int);
diff --git a/gcc/java/lang.c b/gcc/java/lang.c
index 053bd1b5c0c..4b7902f2825 100644
--- a/gcc/java/lang.c
+++ b/gcc/java/lang.c
@@ -133,9 +133,6 @@ int flag_deprecated = 1;
/* Don't attempt to verify invocations. */
int flag_verify_invocations = 0;
-/* True if the new bytecode verifier should be used. */
-int flag_new_verifier = 1;
-
/* When nonzero, print extra version information. */
static int v_flag = 0;
@@ -606,12 +603,6 @@ java_post_options (const char **pfilename)
must always verify everything. */
if (! flag_indirect_dispatch)
flag_verify_invocations = true;
- else
- {
- /* If we are using indirect dispatch, then we want the new
- verifier as well. */
- flag_new_verifier = 1;
- }
/* Open input file. */
diff --git a/gcc/java/lex.c b/gcc/java/lex.c
index c4c2bbf9cc9..6941c4e19d4 100644
--- a/gcc/java/lex.c
+++ b/gcc/java/lex.c
@@ -965,7 +965,9 @@ do_java_lex (YYSTYPE *java_lval)
int parts[TOTAL_PARTS];
HOST_WIDE_INT high, low;
/* End borrowed section. */
- char literal_token [256];
+
+#define MAX_TOKEN_LEN 256
+ char literal_token [MAX_TOKEN_LEN + 1];
int literal_index = 0, radix = 10, long_suffix = 0, overflow = 0, bytes;
int found_hex_digits = 0, found_non_octal_digits = -1;
int i;
@@ -1020,9 +1022,14 @@ do_java_lex (YYSTYPE *java_lval)
}
}
}
+
+ /* Terminate LITERAL_TOKEN in case we bail out on large tokens. */
+ literal_token [MAX_TOKEN_LEN] = '\0';
+
/* Parse the first part of the literal, until we find something
which is not a number. */
- while (radix == 16 ? JAVA_ASCII_HEXDIGIT (c) : JAVA_ASCII_DIGIT (c))
+ while ((radix == 16 ? JAVA_ASCII_HEXDIGIT (c) : JAVA_ASCII_DIGIT (c))
+ && literal_index < MAX_TOKEN_LEN)
{
/* We store in a string (in case it turns out to be a FP) and in
PARTS if we have to process a integer literal. */
@@ -1078,7 +1085,7 @@ do_java_lex (YYSTYPE *java_lval)
java_lex_error ("Can't express non-decimal FP literal", 0);
radix = 10;
- for (;;)
+ for (; literal_index < MAX_TOKEN_LEN;)
{
if (c == '.')
{
@@ -1095,7 +1102,7 @@ do_java_lex (YYSTYPE *java_lval)
java_lex_error ("Invalid character in FP literal", 0);
}
- if (c == 'e' || c == 'E')
+ if ((c == 'e' || c == 'E') && literal_index < MAX_TOKEN_LEN)
{
if (stage < 2)
{
@@ -1119,7 +1126,8 @@ do_java_lex (YYSTYPE *java_lval)
stage = 4; /* So we fall through. */
}
- if ((c=='-' || c =='+') && stage == 2)
+ if ((c=='-' || c =='+') && stage == 2
+ && literal_index < MAX_TOKEN_LEN)
{
stage = 3;
literal_token [literal_index++] = c;
@@ -1127,10 +1135,11 @@ do_java_lex (YYSTYPE *java_lval)
c = java_peek_unicode ();
}
- if ((stage == 0 && JAVA_ASCII_FPCHAR (c)) ||
- (stage == 1 && JAVA_ASCII_FPCHAR (c) && !(c == '.')) ||
- (stage == 2 && (JAVA_ASCII_DIGIT (c) || JAVA_FP_PM (c))) ||
- (stage == 3 && JAVA_ASCII_DIGIT (c)))
+ if (((stage == 0 && JAVA_ASCII_FPCHAR (c))
+ || (stage == 1 && JAVA_ASCII_FPCHAR (c) && !(c == '.'))
+ || (stage == 2 && (JAVA_ASCII_DIGIT (c) || JAVA_FP_PM (c)))
+ || (stage == 3 && JAVA_ASCII_DIGIT (c)))
+ && literal_index < MAX_TOKEN_LEN)
{
if (JAVA_ASCII_DIGIT (c))
seen_digit = 1;
@@ -1140,7 +1149,7 @@ do_java_lex (YYSTYPE *java_lval)
java_next_unicode ();
c = java_peek_unicode ();
}
- else
+ else if (literal_index < MAX_TOKEN_LEN)
{
if (stage == 4) /* Don't push back fF/dD. */
java_next_unicode ();
diff --git a/gcc/java/parse.y b/gcc/java/parse.y
index 10a37e0e449..b1de35fc7f0 100644
--- a/gcc/java/parse.y
+++ b/gcc/java/parse.y
@@ -326,10 +326,10 @@ static tree build_nested_field_access (tree, tree);
static tree build_nested_field_access_methods (tree);
static tree build_nested_field_access_method (tree, tree, tree, tree, tree);
static tree build_nested_field_access_expr (int, tree, tree, tree, tree);
-static tree build_outer_method_access_method (tree);
+static tree build_nested_method_access_method (tree);
static tree build_new_access_id (void);
-static int nested_field_access_p (tree, tree);
+static int nested_member_access_p (tree, tree);
static int nested_field_expanded_access_p (tree, tree *, tree *, tree *);
static tree nested_field_access_fix (tree, tree, tree);
@@ -8371,20 +8371,22 @@ build_nested_field_access (tree id, tree decl)
return resolve_expression_name (access, NULL);
}
-/* Return a nonzero value if DECL describes a field access across nested
+/* Return a nonzero value if DECL describes a member access across nested
class boundaries. That is, DECL is in a class that either encloses,
- is enclosed by or shares a common enclosing class with, the class
+ is enclosed by or shares a common enclosing class with the class
TYPE. */
static int
-nested_field_access_p (tree type, tree decl)
+nested_member_access_p (tree type, tree decl)
{
bool is_static = false;
tree decl_type = DECL_CONTEXT (decl);
tree type_root, decl_type_root;
if (decl_type == type
- || (TREE_CODE (decl) != FIELD_DECL && TREE_CODE (decl) != VAR_DECL))
+ || (TREE_CODE (decl) != FIELD_DECL
+ && TREE_CODE (decl) != VAR_DECL
+ && TREE_CODE (decl) != FUNCTION_DECL))
return 0;
if (!INNER_CLASS_TYPE_P (type)
@@ -8392,10 +8394,12 @@ nested_field_access_p (tree type, tree decl)
&& INNER_CLASS_TYPE_P (decl_type)))
return 0;
- is_static = FIELD_STATIC (decl);
+ is_static = (TREE_CODE (decl) == FUNCTION_DECL)
+ ? METHOD_STATIC (decl)
+ : FIELD_STATIC (decl);
/* If TYPE extends the declaration context of the non-static
- field we're trying to access, then this isn't a nested field
+ member we're trying to access, then this isn't a nested member
access we need to worry about. */
if (!is_static && inherits_from_p (type, decl_type))
return 0;
@@ -8672,10 +8676,10 @@ build_nested_field_access_method (tree class, tree type, tree name,
/* This section deals with building access function necessary for
- certain kinds of method invocation from inner classes. */
+ certain kinds of method invocation across nested class boundaries. */
static tree
-build_outer_method_access_method (tree decl)
+build_nested_method_access_method (tree decl)
{
tree saved_current_function_decl, mdecl;
tree args = NULL_TREE, call_args = NULL_TREE;
@@ -8724,8 +8728,7 @@ build_outer_method_access_method (tree decl)
start_artificial_method_body (mdecl);
/* The actual method invocation uses the same args. When invoking a
- static methods that way, we don't want to skip the first
- argument. */
+ static methods that way, we don't want to skip the first argument. */
carg = args;
if (!METHOD_STATIC (decl))
carg = TREE_CHAIN (carg);
@@ -8744,10 +8747,10 @@ build_outer_method_access_method (tree decl)
end_artificial_method_body (mdecl);
current_function_decl = saved_current_function_decl;
- /* Back tag the access function so it know what it accesses */
+ /* Back tag the access function so it know what it accesses. */
DECL_FUNCTION_ACCESS_DECL (decl) = mdecl;
- /* Tag the current method so it knows it has an access generated */
+ /* Tag the current method so it knows it has an access generated. */
return DECL_FUNCTION_INNER_ACCESS (decl) = mdecl;
}
@@ -9572,7 +9575,7 @@ resolve_expression_name (tree id, tree *orig)
/* If we're processing an inner class and we're trying
to access a field belonging to an outer class, build
the access to the field. */
- if (nested_field_access_p (current_class, decl))
+ if (nested_member_access_p (current_class, decl))
{
if (!fs && CLASS_STATIC (TYPE_NAME (current_class)))
{
@@ -10129,7 +10132,7 @@ resolve_qualified_expression_name (tree wfl, tree *found_decl,
if (TREE_CODE (*where_found) == POINTER_TYPE)
*where_found = TREE_TYPE (*where_found);
}
- if (nested_field_access_p (current_class, decl))
+ if (nested_member_access_p (current_class, decl))
decl = build_nested_field_access (qual_wfl, decl);
}
else
@@ -10272,7 +10275,7 @@ resolve_qualified_expression_name (tree wfl, tree *found_decl,
if (is_static
&& FIELD_PRIVATE (field_decl)
&& flag_emit_class_files
- && nested_field_access_p (current_class, field_decl))
+ && nested_member_access_p (current_class, field_decl))
field_decl = build_nested_field_access (qual_wfl, field_decl);
/* This is the decl found and eventually the next one to
@@ -10572,16 +10575,22 @@ patch_method_invocation (tree patch, tree primary, tree where, int from_super,
IDENTIFIER_POINTER (name));
PATCH_METHOD_RETURN_ERROR ();
}
- if (list && !METHOD_STATIC (list))
+ if (list)
{
- char *fct_name = xstrdup (lang_printable_name (list, 2));
- parse_error_context
- (identifier_wfl,
- "Can't make static reference to method %<%s %s%> in class %qs",
- lang_printable_name (TREE_TYPE (TREE_TYPE (list)), 0),
- fct_name, IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (type))));
- free (fct_name);
- PATCH_METHOD_RETURN_ERROR ();
+ if (METHOD_STATIC (list))
+ maybe_use_access_method (0, &list, NULL);
+ else
+ {
+ char *fct_name = xstrdup (lang_printable_name (list, 2));
+ parse_error_context
+ (identifier_wfl,
+ "Can't make static reference to method %<%s %s%> in class %qs",
+ lang_printable_name (TREE_TYPE (TREE_TYPE (list)), 0),
+ fct_name,
+ IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (type))));
+ free (fct_name);
+ PATCH_METHOD_RETURN_ERROR ();
+ }
}
}
else
@@ -10698,7 +10707,7 @@ patch_method_invocation (tree patch, tree primary, tree where, int from_super,
&& DECL_NAME (list) == get_identifier ("clone"))
is_array_clone_call = 1;
- /* Check for static reference if non static methods */
+ /* Check for static reference of non static methods. */
if (check_for_static_method_reference (wfl, patch, list,
class_to_search, primary))
PATCH_METHOD_RETURN_ERROR ();
@@ -10718,8 +10727,8 @@ patch_method_invocation (tree patch, tree primary, tree where, int from_super,
}
/* Non static methods are called with the current object extra
- argument. If patch a `new TYPE()', the argument is the value
- returned by the object allocator. If method is resolved as a
+ argument. If PATCH is a `new TYPE()', the argument is the value
+ returned by the object allocator. If method is resolved as a
primary, use the primary otherwise use the current THIS. */
args = nreverse (args);
if (TREE_CODE (patch) != NEW_CLASS_EXPR)
@@ -10731,16 +10740,16 @@ patch_method_invocation (tree patch, tree primary, tree where, int from_super,
1) We're not generating bytecodes:
- - LIST is non static. It's invocation is transformed from
+ - LIST is non-static. Its invocation is transformed from
x(a1,...,an) into this$<n>.x(a1,....an).
- - LIST is static. It's invocation is transformed from
+ - LIST is static. Its invocation is transformed from
x(a1,...,an) into TYPE_OF(this$<n>).x(a1,....an)
2) We're generating bytecodes:
- - LIST is non static. It's invocation is transformed from
+ - LIST is non-static. Its invocation is transformed from
x(a1,....,an) into access$<n>(this$<n>,a1,...,an).
- - LIST is static. It's invocation is transformed from
+ - LIST is static. Its invocation is transformed from
x(a1,....,an) into TYPE_OF(this$<n>).x(a1,....an).
Of course, this$<n> can be arbitrarily complex, ranging from
@@ -10749,10 +10758,12 @@ patch_method_invocation (tree patch, tree primary, tree where, int from_super,
maybe_use_access_method returns a nonzero value if the
this_arg has to be moved into the (then generated) stub
- argument list. In the meantime, the selected function
- might have be replaced by a generated stub. */
- if (!primary &&
- maybe_use_access_method (is_super_init, &list, &this_arg))
+ argument list. In the meantime, the selected function
+ might have been replaced by a generated stub. */
+ if (METHOD_STATIC (list))
+ maybe_use_access_method (0, &list, NULL);
+ else if (!primary &&
+ maybe_use_access_method (is_super_init, &list, &this_arg))
{
args = tree_cons (NULL_TREE, this_arg, args);
this_arg = NULL_TREE; /* So it doesn't get chained twice */
@@ -10920,8 +10931,8 @@ check_for_static_method_reference (tree wfl, tree node, tree method,
return 0;
}
-/* Fix the invocation of *MDECL if necessary in the case of a
- invocation from an inner class. *THIS_ARG might be modified
+/* Fix the invocation of *MDECL if necessary in the case of an
+ invocation across a nested class. *THIS_ARG might be modified
appropriately and an alternative access to *MDECL might be
returned. */
@@ -10929,24 +10940,26 @@ static int
maybe_use_access_method (int is_super_init, tree *mdecl, tree *this_arg)
{
tree ctx;
- tree md = *mdecl, ta = *this_arg;
+ tree md = *mdecl, ta = NULL_TREE;
int to_return = 0;
int non_static_context = !METHOD_STATIC (md);
if (is_super_init
- || DECL_CONTEXT (md) == current_class
- || !PURE_INNER_CLASS_TYPE_P (current_class)
|| DECL_FINIT_P (md)
- || DECL_INSTINIT_P (md))
+ || DECL_INSTINIT_P (md)
+ || !nested_member_access_p (current_class, md))
return 0;
/* If we're calling a method found in an enclosing class, generate
- what it takes to retrieve the right this. Don't do that if we're
- invoking a static method. Note that if MD's type is unrelated to
+ what it takes to retrieve the right `this'. Don't do that if we're
+ invoking a static method. Note that if MD's type is unrelated to
CURRENT_CLASS, then the current this can be used. */
- if (non_static_context && DECL_CONTEXT (md) != object_type_node)
+ if (non_static_context
+ && !inherits_from_p (current_class, DECL_CONTEXT (md))
+ && DECL_CONTEXT (TYPE_NAME (current_class)))
{
+ ta = *this_arg;
ctx = TREE_TYPE (DECL_CONTEXT (TYPE_NAME (current_class)));
if (inherits_from_p (ctx, DECL_CONTEXT (md)))
{
@@ -10972,16 +10985,17 @@ maybe_use_access_method (int is_super_init, tree *mdecl, tree *this_arg)
}
/* We might have to use an access method to get to MD. We can
- break the method access rule as far as we're not generating
- bytecode */
+ break the method access rule as long as we're not generating
+ bytecode. */
if (METHOD_PRIVATE (md) && flag_emit_class_files)
{
- md = build_outer_method_access_method (md);
+ md = build_nested_method_access_method (md);
to_return = 1;
}
*mdecl = md;
- *this_arg = ta;
+ if (this_arg)
+ *this_arg = ta;
/* Returning a nonzero value indicates we were doing a non static
method invocation that is now a static invocation. It will have
@@ -12382,26 +12396,30 @@ java_complete_lhs (tree node)
case COMPONENT_REF:
/* The first step in the re-write of qualified name handling. FIXME.
- So far, this is only to support PRIMTYPE.class -> PRIMCLASS.TYPE. */
- TREE_OPERAND (node, 0) = java_complete_tree (TREE_OPERAND (node, 0));
- if (TREE_CODE (TREE_OPERAND (node, 0)) == RECORD_TYPE)
- {
- tree name = TREE_OPERAND (node, 1);
- tree field = lookup_field_wrapper (TREE_OPERAND (node, 0), name);
- if (field == NULL_TREE)
- {
- error ("missing static field %qs", IDENTIFIER_POINTER (name));
- return error_mark_node;
- }
- if (! FIELD_STATIC (field))
- {
- error ("not a static field %qs", IDENTIFIER_POINTER (name));
- return error_mark_node;
- }
- return field;
- }
- else
- abort ();
+ So far, this is only to support PRIMTYPE.class ->
+ PRIMCLASS.TYPE. */
+ {
+ tree prim_class = TREE_OPERAND (node, 0);
+ tree name = TREE_OPERAND (node, 1);
+ tree field;
+
+ gcc_assert (TREE_CODE (prim_class) == NOP_EXPR);
+ prim_class = java_complete_tree (TREE_TYPE (prim_class));
+ gcc_assert (TREE_CODE (prim_class) == RECORD_TYPE);
+ field = lookup_field_wrapper (prim_class, name);
+
+ if (field == NULL_TREE)
+ {
+ error ("missing static field %qs", IDENTIFIER_POINTER (name));
+ return error_mark_node;
+ }
+ if (! FIELD_STATIC (field))
+ {
+ error ("not a static field %qs", IDENTIFIER_POINTER (name));
+ return error_mark_node;
+ }
+ return field;
+ }
break;
case THIS_EXPR:
diff --git a/gcc/java/verify.c b/gcc/java/verify.c
deleted file mode 100644
index 5b544b86f1f..00000000000
--- a/gcc/java/verify.c
+++ /dev/null
@@ -1,1574 +0,0 @@
-/* Handle verification of bytecoded methods for the GNU compiler for
- the Java(TM) language.
- Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
- 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 2, 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 COPYING. If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.
-
-Java and all Java-based marks are trademarks or registered trademarks
-of Sun Microsystems, Inc. in the United States and other countries.
-The Free Software Foundation is independent of Sun Microsystems, Inc. */
-
-/* This bytecode verifier is an implementation of the bytecode
-verification process described in section 4.9 of "The Java(TM) Virtual
-Machine Specification", Second Edition, by Tim Lindholm and Frank Yellin,
-published by Addison-Wesley in 1999. */
-
-#include "config.h"
-#include "system.h"
-#include "coretypes.h"
-#include "tm.h"
-#include "tree.h"
-#include "java-tree.h"
-#include "javaop.h"
-#include "java-opcodes.h"
-#include "jcf.h"
-#include "java-except.h"
-#include "toplev.h"
-
-static void push_pending_label (tree);
-static tree merge_types (tree, tree);
-static const char *check_pending_block (tree);
-static void type_stack_dup (int, int);
-static int start_pc_cmp (const void *, const void *);
-static char *pop_argument_types (tree);
-
-extern int stack_pointer;
-
-/* During verification, start of the current subroutine (jsr target). */
-tree current_subr;
-
-/* A list of pending blocks, chained using LABEL_PENDING_CHAIN.
- A pending block is one that has LABEL_CHANGED set, which means
- it requires (re-) verification. */
-tree pending_blocks;
-
-/* Append TARGET_LABEL to the pending_block stack unless already in it. */
-
-static void
-push_pending_label (tree target_label)
-{
- if (! LABEL_CHANGED (target_label))
- {
- LABEL_PENDING_CHAIN (target_label) = pending_blocks;
- pending_blocks = target_label;
- LABEL_CHANGED (target_label) = 1;
- }
-}
-
-/* Note that TARGET_LABEL is a possible successor instruction.
- Merge the type state etc.
- Return NULL on success, or an error message on failure. */
-
-static const char *
-check_pending_block (tree target_label)
-{
- int changed = merge_type_state (target_label);
-
- if (changed)
- {
- if (changed < 0)
- return "types could not be merged";
- push_pending_label (target_label);
- }
-
- if (current_subr == NULL_TREE)
- {
- if (LABEL_IN_SUBR (target_label))
- return "might transfer control into subroutine";
- }
- else
- {
- if (LABEL_IN_SUBR (target_label))
- {
- if (LABEL_SUBR_START (target_label) != current_subr)
- return "transfer out of subroutine";
- }
- else if (! LABEL_VERIFIED (target_label))
- {
- LABEL_IN_SUBR (target_label) = 1;
- LABEL_SUBR_START (target_label) = current_subr;
- }
- else
- return "transfer out of subroutine";
- }
- return NULL;
-}
-
-/* Count the number of nested jsr calls needed to reach LABEL. */
-
-static int
-subroutine_nesting (tree label)
-{
- int nesting = 0;
- while (label != NULL_TREE && LABEL_IN_SUBR (label))
- {
- if (! LABEL_IS_SUBR_START (label))
- label = LABEL_SUBR_START (label);
- label = LABEL_SUBR_CONTEXT (label);
- nesting++;
- }
- return nesting;
-}
-
-/* Return the "merged" types of TYPE1 and TYPE2.
- If either is primitive, the other must match (after promotion to int).
- For reference types, return the common super-class.
- Return TYPE_UNKNOWN if the types cannot be merged. */
-
-static tree
-merge_types (tree type1, tree type2)
-{
- if (type1 == type2)
- return type1;
- if (type1 == TYPE_UNKNOWN || type2 == TYPE_UNKNOWN
- || type1 == TYPE_RETURN_ADDR || type2 == TYPE_RETURN_ADDR)
- return TYPE_UNKNOWN;
- if (TREE_CODE (type1) == POINTER_TYPE && TREE_CODE (type2) == POINTER_TYPE)
- {
- int depth1, depth2;
- tree tt1, tt2;
- /* ptr_type_node is only used for a null reference,
- which is compatible with any reference type. */
- if (type1 == ptr_type_node || type2 == object_ptr_type_node)
- return type2;
- if (type2 == ptr_type_node || type1 == object_ptr_type_node)
- return type1;
-
- tt1 = TREE_TYPE (type1);
- tt2 = TREE_TYPE (type2);
-
- /* If tt{1,2} haven't been properly loaded, now is a good time
- to do it. */
- if (!TYPE_SIZE (tt1))
- {
- load_class (tt1, 1);
- safe_layout_class (tt1);
- }
-
- if (!TYPE_SIZE (tt2))
- {
- load_class (tt2, 1);
- safe_layout_class (tt2);
- }
-
- if (TYPE_ARRAY_P (tt1) || TYPE_ARRAY_P (tt2))
- {
- if (TYPE_ARRAY_P (tt1) == TYPE_ARRAY_P (tt2))
- {
- tree el_type1 = TYPE_ARRAY_ELEMENT (tt1);
- tree el_type2 = TYPE_ARRAY_ELEMENT (tt2);
- tree el_type = NULL_TREE;
- if (el_type1 == el_type2)
- el_type = el_type1;
- else if (TREE_CODE (el_type1) == POINTER_TYPE
- && TREE_CODE (el_type2) == POINTER_TYPE)
- el_type = merge_types (el_type1, el_type2);
- if (el_type != NULL_TREE)
- {
- HOST_WIDE_INT len1 = java_array_type_length (tt1);
- HOST_WIDE_INT len2 = java_array_type_length (tt2);
- if (len1 != len2)
- len1 = -1;
- else if (el_type1 == el_type2)
- return type1;
- return promote_type (build_java_array_type (el_type, len1));
- }
- }
- return object_ptr_type_node;
- }
-
- if (CLASS_INTERFACE (TYPE_NAME (tt1)))
- {
- /* FIXME: should see if two interfaces have a common
- superinterface. */
- if (CLASS_INTERFACE (TYPE_NAME (tt2)))
- {
- /* This is a kludge, but matches what Sun's verifier does.
- It can be tricked, but is safe as long as type errors
- (i.e. interface method calls) are caught at run-time. */
- return object_ptr_type_node;
- }
- else
- {
- if (can_widen_reference_to (tt2, tt1))
- return type1;
- else
- return object_ptr_type_node;
- }
- }
- else if (CLASS_INTERFACE (TYPE_NAME (tt2)))
- {
- if (can_widen_reference_to (tt1, tt2))
- return type2;
- else
- return object_ptr_type_node;
- }
-
- type1 = tt1;
- type2 = tt2;
-
- depth1 = class_depth (type1);
- depth2 = class_depth (type2);
- for ( ; depth1 > depth2; depth1--)
- type1 = BINFO_TYPE (BINFO_BASE_BINFO (TYPE_BINFO (type1), 0));
- for ( ; depth2 > depth1; depth2--)
- type2 = BINFO_TYPE (BINFO_BASE_BINFO (TYPE_BINFO (type2), 0));
- while (type1 != type2)
- {
- type1 = BINFO_TYPE (BINFO_BASE_BINFO (TYPE_BINFO (type1), 0));
- type2 = BINFO_TYPE (BINFO_BASE_BINFO (TYPE_BINFO (type2), 0));
- }
- return promote_type (type1);
- }
- if (INTEGRAL_TYPE_P (type1) && INTEGRAL_TYPE_P (type2)
- && TYPE_PRECISION (type1) <= 32 && TYPE_PRECISION (type2) <= 32)
- return int_type_node;
- return TYPE_UNKNOWN;
-}
-
-/* Merge the current type state with that at LABEL.
- Return -1 if the states are incompatible (i.e. on error),
- 0 if there was no change, and 1 if there was a change. */
-
-int
-merge_type_state (tree label)
-{
- int nlocals = DECL_MAX_LOCALS (current_function_decl);
- int cur_length = stack_pointer + nlocals;
- tree vec = LABEL_TYPE_STATE (label);
- tree return_map;
- if (vec == NULL_TREE)
- {
- vec = make_tree_vec (cur_length);
- LABEL_TYPE_STATE (label) = vec;
-
- while (--cur_length >= 0)
- TREE_VEC_ELT (vec, cur_length) = type_map[cur_length];
- return 1;
- }
- else
- {
- int i;
- int changed = 0;
- if (LABEL_IS_SUBR_START (label) && LABEL_VERIFIED (label)
- && current_subr != label)
- return_map = LABEL_RETURN_TYPE_STATE (label);
- else
- return_map = NULL_TREE;
- if (TREE_VEC_LENGTH (vec) != cur_length)
- {
- return -1;
- }
- for (i = 0; i < cur_length; i++)
- {
- tree old_type = TREE_VEC_ELT (vec, i);
- tree new_type = merge_types (old_type, type_map[i]);
- if (TREE_VEC_ELT (vec, i) != new_type)
- {
- /* If there has been a change, note that since we must re-verify.
- However, if the label is the start of a subroutine,
- we don't care about local variables that are neither
- set nor used in the subroutine. */
- if (return_map == NULL_TREE || i >= nlocals
- || TREE_VEC_ELT (return_map, i) != TYPE_UNUSED
- || (TYPE_IS_WIDE (new_type)
- && TREE_VEC_ELT (return_map, i+1) != TYPE_UNUSED))
- changed = 1;
- }
- TREE_VEC_ELT (vec, i) = new_type;
- if (new_type == TYPE_UNKNOWN)
- {
- if (i >= nlocals)
- return -1;
- }
- else if (TYPE_IS_WIDE (new_type))
- i++;
- }
- return changed;
- }
-}
-
-/* Handle dup-like operations. */
-
-static void
-type_stack_dup (int size, int offset)
-{
- tree type[4];
- int index;
- for (index = 0; index < size + offset; index++)
- {
- type[index] = stack_type_map[stack_pointer - 1];
- if (type[index] == void_type_node)
- {
- index++;
- type[index] = stack_type_map[stack_pointer - 2];
- if (! TYPE_IS_WIDE (type[index]))
- abort ();
- if (index == size || index == size + offset)
- /* Dup operation splits 64-bit number. */
- abort ();
- }
- pop_type (type[index]);
- }
- for (index = size; --index >= 0; )
- {
- if (type[index] != void_type_node)
- push_type (type[index]);
- }
-
- for (index = size + offset; --index >= 0; )
- {
- if (type[index] != void_type_node)
- push_type (type[index]);
- }
-}
-
-/* This keeps track of a start PC and corresponding initial index. */
-struct pc_index
-{
- int start_pc;
- int index;
-};
-
-/* A helper that is used when sorting exception ranges. */
-static int
-start_pc_cmp (const void *xp, const void *yp)
-{
- const struct pc_index *x = (const struct pc_index *) xp;
- const struct pc_index *y = (const struct pc_index *) yp;
- return x->start_pc - y->start_pc;
-}
-
-/* This causes the next iteration to ignore the next instruction
- and look for some other unhandled instruction. */
-#define INVALIDATE_PC (prevpc = -1, oldpc = PC, PC = INVALID_PC)
-#define INVALID_PC (-1)
-
-#define VERIFICATION_ERROR(MESSAGE) \
- do { message = MESSAGE; goto verify_error; } while (0)
-
-#define VERIFICATION_ERROR_WITH_INDEX(MESSAGE) \
- do { message = MESSAGE; goto error_with_index; } while (0)
-
-/* Recursive helper function to pop argument types during verification.
- ARG_TYPES is the list of formal parameter types.
- Return NULL on success and a freshly malloc'd error message on failure. */
-
-static char *
-pop_argument_types (tree arg_types)
-{
- if (arg_types == end_params_node)
- return NULL;
- if (TREE_CODE (arg_types) == TREE_LIST)
- {
- char *message = pop_argument_types (TREE_CHAIN (arg_types));
- if (message == NULL)
- pop_type_0 (TREE_VALUE (arg_types), &message);
- return message;
- }
- abort ();
-}
-
-#define POP_TYPE(TYPE, MESSAGE) \
- do { pmessage = NULL; pop_type_0 (TYPE, &pmessage); \
- if (pmessage != NULL) goto pop_type_error; \
- } while (0)
-
-#define POP_TYPE_CONV(TYPE, POPPED_TYPE, MESSAGE) \
- do { pmessage = NULL; POPPED_TYPE = pop_type_0 (TYPE, &pmessage); \
- if (pmessage != NULL) goto pop_type_error; \
- } while (0)
-
-#define PUSH_TYPE(TYPE) \
- do { if (! push_type_0 (TYPE)) { goto stack_overflow; }} while (0)
-
-#define PUSH_PENDING(LABEL) \
- do { tree tmplab = LABEL; \
- if ((message = check_pending_block (tmplab)) != NULL) \
- { oldpc = LABEL_PC (tmplab); goto verify_error; }} while (0)
-
-#ifdef __GNUC__
-#define CHECK_PC_IN_RANGE(PC) __extension__ \
- ({if (PC < 0 || PC > length) goto bad_pc; (void)1;})
-#else
-#define CHECK_PC_IN_RANGE(PC) (PC < 0 || PC > length ? (abort (), 0) : 1)
-#endif
-
-#define BCODE byte_ops
-
-
-/* Verify the bytecodes of the current method, with the instructions
- starting at BYTE_OPS and LENGTH in number, from the class file pointed to
- by JCF.
- Return 1 on success, 0 on failure. */
-int
-verify_jvm_instructions (JCF* jcf, const unsigned char *byte_ops, long length)
-{
- tree label;
- int wide = 0;
- int op_code;
- int PC;
- int oldpc = 0; /* PC of start of instruction. */
- int prevpc = 0; /* If >= 0, PC of previous instruction. */
- const char *message = 0;
- char *pmessage;
- int i;
- int index;
- unsigned char *p;
- struct eh_range *prev_eh_ranges = NULL_EH_RANGE;
- struct eh_range *eh_ranges;
- tree return_type = TREE_TYPE (TREE_TYPE (current_function_decl));
- struct pc_index *starts;
- int eh_count;
-
- jint int_value = -1;
-
- pending_blocks = NULL_TREE;
-
- current_subr = NULL_TREE;
-
- /* Handle the exception table. */
- method_init_exceptions ();
- JCF_SEEK (jcf, DECL_CODE_OFFSET (current_function_decl) + length);
- eh_count = JCF_readu2 (jcf);
-
- /* We read the exception handlers in order of increasing start PC.
- To do this we first read and sort the start PCs. */
- starts = xmalloc (eh_count * sizeof (struct pc_index));
- for (i = 0; i < eh_count; ++i)
- {
- starts[i].start_pc = GET_u2 (jcf->read_ptr + 8 * i);
- starts[i].index = i;
- }
- qsort (starts, eh_count, sizeof (struct pc_index), start_pc_cmp);
-
- for (i = 0; i < eh_count; ++i)
- {
- int start_pc, end_pc, handler_pc, catch_type;
-
- p = jcf->read_ptr + 8 * starts[i].index;
-
- start_pc = GET_u2 (p);
- end_pc = GET_u2 (p+2);
- handler_pc = GET_u2 (p+4);
- catch_type = GET_u2 (p+6);
-
- if (start_pc < 0 || start_pc >= length
- || end_pc < 0 || end_pc > length || start_pc >= end_pc
- || handler_pc < 0 || handler_pc >= length
- || ! (instruction_bits[start_pc] & BCODE_INSTRUCTION_START)
- || (end_pc < length &&
- ! (instruction_bits[end_pc] & BCODE_INSTRUCTION_START))
- || ! (instruction_bits[handler_pc] & BCODE_INSTRUCTION_START))
- {
- error ("bad pc in exception_table");
- free (starts);
- return 0;
- }
-
- add_handler (start_pc, end_pc,
- lookup_label (handler_pc),
- catch_type == 0 ? NULL_TREE
- : get_class_constant (jcf, catch_type));
-
- instruction_bits[handler_pc] |= BCODE_EXCEPTION_TARGET;
- }
-
- free (starts);
-
- for (PC = 0;;)
- {
- tree type, tmp;
-
- if (((PC != INVALID_PC
- && instruction_bits[PC] & BCODE_TARGET) != 0)
- || PC == 0)
- {
- PUSH_PENDING (lookup_label (PC));
- INVALIDATE_PC;
- }
-
- /* Check if there are any more pending blocks in the current
- subroutine. Because we push pending blocks in a
- last-in-first-out order, and because we don't push anything
- from our caller until we are done with this subroutine or
- anything nested in it, we are done if the top of the
- pending_blocks stack is not in a subroutine, or it is in our
- caller. */
- if (current_subr && PC == INVALID_PC)
- {
- if (pending_blocks == NULL_TREE
- || (subroutine_nesting (pending_blocks)
- < subroutine_nesting (current_subr)))
- {
- int size
- = DECL_MAX_LOCALS (current_function_decl) + stack_pointer;
-
- tree ret_map = LABEL_RETURN_TYPE_STATE (current_subr);
- tmp = LABEL_RETURN_LABELS (current_subr);
-
- /* FIXME: If we exit a subroutine via a throw, we might
- have returned to an earlier caller. Obviously a
- "ret" can only return one level, but a throw may
- return many levels. */
- current_subr = LABEL_SUBR_CONTEXT (current_subr);
-
- if (RETURN_MAP_ADJUSTED (ret_map))
- {
- /* Since we are done with this subroutine, set up
- the (so far known) return address as pending -
- with the merged type state. */
- for ( ; tmp != NULL_TREE; tmp = TREE_CHAIN (tmp))
- {
- tree return_label = TREE_VALUE (tmp);
- tree return_state = LABEL_TYPE_STATE (return_label);
- if (return_state == NULL_TREE)
- {
- /* This means we had not verified the subroutine
- earlier, so this is the first jsr to call it.
- In this case, the type_map of the return
- address is just the current type_map - and that
- is handled by the following PUSH_PENDING. */
- }
- else
- {
- /* In this case we have to do a merge. But first
- restore the type_map for unused slots to those
- that were in effect at the jsr. */
- for (index = size; --index >= 0; )
- {
- type_map[index]
- = TREE_VEC_ELT (ret_map, index);
-
- if (type_map[index] == TYPE_UNUSED)
- type_map[index]
- = TREE_VEC_ELT (return_state, index);
- }
- }
- PUSH_PENDING (return_label);
- }
- }
- }
- }
-
- if (PC == INVALID_PC)
- {
- label = pending_blocks;
-
- if (label == NULL_TREE)
- break; /* We're done! */
-
- pending_blocks = LABEL_PENDING_CHAIN (label);
- LABEL_CHANGED (label) = 0;
-
- if (LABEL_IN_SUBR (label))
- current_subr = LABEL_SUBR_START (label);
- else
- current_subr = NULL_TREE;
-
- /* Restore type_map and stack_pointer from
- LABEL_TYPE_STATE (label), and continue
- compiling from there. */
- load_type_state (label);
-
- PC = LABEL_PC (label);
- }
- else if (PC >= length)
- VERIFICATION_ERROR ("falling through the end of the method");
-
-
- oldpc = PC;
-
- if (! (instruction_bits[PC] & BCODE_INSTRUCTION_START) && ! wide)
- VERIFICATION_ERROR ("PC not at instruction start");
-
- instruction_bits[PC] |= BCODE_VERIFIED;
-
- eh_ranges = find_handler (oldpc);
-
- op_code = byte_ops[PC++];
- switch (op_code)
- {
- int is_static, is_putting;
-
- case OPCODE_nop:
- break;
-
- case OPCODE_iconst_m1:
- case OPCODE_iconst_0: case OPCODE_iconst_1: case OPCODE_iconst_2:
- case OPCODE_iconst_3: case OPCODE_iconst_4: case OPCODE_iconst_5:
- i = op_code - OPCODE_iconst_0;
- goto push_int;
- push_int:
- if (byte_ops[PC] == OPCODE_newarray
- || byte_ops[PC] == OPCODE_anewarray)
- int_value = i;
- PUSH_TYPE (int_type_node); break;
-
- case OPCODE_lconst_0: case OPCODE_lconst_1:
- PUSH_TYPE (long_type_node); break;
-
- case OPCODE_fconst_0: case OPCODE_fconst_1: case OPCODE_fconst_2:
- PUSH_TYPE (float_type_node); break;
-
- case OPCODE_dconst_0: case OPCODE_dconst_1:
- PUSH_TYPE (double_type_node); break;
-
- case OPCODE_bipush:
- i = IMMEDIATE_s1;
- goto push_int;
-
- case OPCODE_sipush:
- i = IMMEDIATE_s2;
- goto push_int;
-
- case OPCODE_iload: type = int_type_node; goto general_load;
- case OPCODE_lload: type = long_type_node; goto general_load;
- case OPCODE_fload: type = float_type_node; goto general_load;
- case OPCODE_dload: type = double_type_node; goto general_load;
- case OPCODE_aload: type = ptr_type_node; goto general_load;
- general_load:
- index = wide ? IMMEDIATE_u2 : IMMEDIATE_u1;
- wide = 0;
- goto load;
- case OPCODE_iload_0: type = int_type_node; index = 0; goto load;
- case OPCODE_iload_1: type = int_type_node; index = 1; goto load;
- case OPCODE_iload_2: type = int_type_node; index = 2; goto load;
- case OPCODE_iload_3: type = int_type_node; index = 3; goto load;
- case OPCODE_lload_0: type = long_type_node; index = 0; goto load;
- case OPCODE_lload_1: type = long_type_node; index = 1; goto load;
- case OPCODE_lload_2: type = long_type_node; index = 2; goto load;
- case OPCODE_lload_3: type = long_type_node; index = 3; goto load;
- case OPCODE_fload_0: type = float_type_node; index = 0; goto load;
- case OPCODE_fload_1: type = float_type_node; index = 1; goto load;
- case OPCODE_fload_2: type = float_type_node; index = 2; goto load;
- case OPCODE_fload_3: type = float_type_node; index = 3; goto load;
- case OPCODE_dload_0: type = double_type_node; index = 0; goto load;
- case OPCODE_dload_1: type = double_type_node; index = 1; goto load;
- case OPCODE_dload_2: type = double_type_node; index = 2; goto load;
- case OPCODE_dload_3: type = double_type_node; index = 3; goto load;
- case OPCODE_aload_0: type = ptr_type_node; index = 0; goto load;
- case OPCODE_aload_1: type = ptr_type_node; index = 1; goto load;
- case OPCODE_aload_2: type = ptr_type_node; index = 2; goto load;
- case OPCODE_aload_3: type = ptr_type_node; index = 3; goto load;
- load:
- if (index < 0
- || (index + TYPE_IS_WIDE (type)
- >= DECL_MAX_LOCALS (current_function_decl)))
- VERIFICATION_ERROR_WITH_INDEX
- ("invalid local variable index %d in load");
- tmp = type_map[index];
- if (tmp == TYPE_UNKNOWN)
- VERIFICATION_ERROR_WITH_INDEX
- ("loading local variable %d which has unknown type");
- else if (tmp == TYPE_SECOND
- || (TYPE_IS_WIDE (type)
- && type_map[index+1] != void_type_node)
- || (type == ptr_type_node
- ? TREE_CODE (tmp) != POINTER_TYPE
- : type == int_type_node
- ? (! INTEGRAL_TYPE_P (tmp) || TYPE_PRECISION (tmp) > 32)
- : type != tmp))
- VERIFICATION_ERROR_WITH_INDEX
- ("loading local variable %d which has invalid type");
- PUSH_TYPE (tmp);
- goto note_used;
- case OPCODE_istore: type = int_type_node; goto general_store;
- case OPCODE_lstore: type = long_type_node; goto general_store;
- case OPCODE_fstore: type = float_type_node; goto general_store;
- case OPCODE_dstore: type = double_type_node; goto general_store;
- case OPCODE_astore: type = object_ptr_type_node; goto general_store;
- general_store:
- index = wide ? IMMEDIATE_u2 : IMMEDIATE_u1;
- wide = 0;
- goto store;
- case OPCODE_istore_0: type = int_type_node; index = 0; goto store;
- case OPCODE_istore_1: type = int_type_node; index = 1; goto store;
- case OPCODE_istore_2: type = int_type_node; index = 2; goto store;
- case OPCODE_istore_3: type = int_type_node; index = 3; goto store;
- case OPCODE_lstore_0: type = long_type_node; index=0; goto store;
- case OPCODE_lstore_1: type = long_type_node; index=1; goto store;
- case OPCODE_lstore_2: type = long_type_node; index=2; goto store;
- case OPCODE_lstore_3: type = long_type_node; index=3; goto store;
- case OPCODE_fstore_0: type=float_type_node; index=0; goto store;
- case OPCODE_fstore_1: type=float_type_node; index=1; goto store;
- case OPCODE_fstore_2: type=float_type_node; index=2; goto store;
- case OPCODE_fstore_3: type=float_type_node; index=3; goto store;
- case OPCODE_dstore_0: type=double_type_node; index=0; goto store;
- case OPCODE_dstore_1: type=double_type_node; index=1; goto store;
- case OPCODE_dstore_2: type=double_type_node; index=2; goto store;
- case OPCODE_dstore_3: type=double_type_node; index=3; goto store;
- case OPCODE_astore_0: type = ptr_type_node; index = 0; goto store;
- case OPCODE_astore_1: type = ptr_type_node; index = 1; goto store;
- case OPCODE_astore_2: type = ptr_type_node; index = 2; goto store;
- case OPCODE_astore_3: type = ptr_type_node; index = 3; goto store;
- store:
- if (index < 0
- || (index + TYPE_IS_WIDE (type)
- >= DECL_MAX_LOCALS (current_function_decl)))
- {
- VERIFICATION_ERROR_WITH_INDEX
- ("invalid local variable index %d in store");
- return 0;
- }
- POP_TYPE_CONV (type, type, NULL);
- type_map[index] = type;
-
- /* If a local variable has changed, we need to reconsider exception
- handlers. */
- prev_eh_ranges = NULL_EH_RANGE;
-
- /* Allocate decl for this variable now, so we get a temporary
-! that survives the whole method. */
- find_local_variable (index, type, oldpc);
-
- if (TYPE_IS_WIDE (type))
- type_map[index+1] = TYPE_SECOND;
-
- /* ... fall through to note_used ... */
- note_used:
- /* For store or load, note that local variable INDEX is used.
- This is needed to verify try-finally subroutines. */
- if (current_subr)
- {
- tree vec = LABEL_RETURN_TYPE_STATE (current_subr);
- tree subr_vec = LABEL_TYPE_STATE (current_subr);
- int len = 1 + TYPE_IS_WIDE (type);
- while (--len >= 0)
- {
- if (TREE_VEC_ELT (vec, index) == TYPE_UNUSED)
- TREE_VEC_ELT (vec, index) = TREE_VEC_ELT (subr_vec, index);
- }
- }
- break;
- case OPCODE_iadd:
- case OPCODE_iand:
- case OPCODE_idiv:
- case OPCODE_imul:
- case OPCODE_ior:
- case OPCODE_irem:
- case OPCODE_ishl:
- case OPCODE_ishr:
- case OPCODE_isub:
- case OPCODE_iushr:
- case OPCODE_ixor:
- type = int_type_node; goto binop;
- case OPCODE_ineg:
- case OPCODE_i2c:
- case OPCODE_i2b:
- case OPCODE_i2s:
- type = int_type_node; goto unop;
- case OPCODE_ladd:
- case OPCODE_land:
- case OPCODE_ldiv:
- case OPCODE_lsub:
- case OPCODE_lmul:
- case OPCODE_lrem:
- case OPCODE_lor:
- case OPCODE_lxor:
- type = long_type_node; goto binop;
- case OPCODE_lneg:
- type = long_type_node; goto unop;
- case OPCODE_fadd: case OPCODE_fsub:
- case OPCODE_fmul: case OPCODE_fdiv: case OPCODE_frem:
- type = float_type_node; goto binop;
- case OPCODE_fneg:
- type = float_type_node; goto unop;
- case OPCODE_dadd: case OPCODE_dsub:
- case OPCODE_dmul: case OPCODE_ddiv: case OPCODE_drem:
- type = double_type_node; goto binop;
- case OPCODE_dneg:
- type = double_type_node; goto unop;
-
- unop:
- pop_type (type);
- PUSH_TYPE (type);
- break;
-
- binop:
- pop_type (type);
- pop_type (type);
- PUSH_TYPE (type);
- break;
-
- case OPCODE_lshl:
- case OPCODE_lshr:
- case OPCODE_lushr:
- pop_type (int_type_node);
- pop_type (long_type_node);
- PUSH_TYPE (long_type_node);
- break;
-
- case OPCODE_iinc:
- index = wide ? IMMEDIATE_u2 : IMMEDIATE_u1;
- PC += wide + 1;
- wide = 0;
- if (index < 0 || index >= DECL_MAX_LOCALS (current_function_decl))
- VERIFICATION_ERROR ("invalid local variable index in iinc");
- tmp = type_map[index];
- if (tmp == NULL_TREE
- || ! INTEGRAL_TYPE_P (tmp) || TYPE_PRECISION (tmp) > 32)
- VERIFICATION_ERROR ("invalid local variable type in iinc");
- break;
-
- case OPCODE_i2l:
- pop_type (int_type_node); PUSH_TYPE (long_type_node); break;
- case OPCODE_i2f:
- pop_type (int_type_node); PUSH_TYPE (float_type_node); break;
- case OPCODE_i2d:
- pop_type (int_type_node); PUSH_TYPE (double_type_node); break;
- case OPCODE_l2i:
- pop_type (long_type_node); PUSH_TYPE (int_type_node); break;
- case OPCODE_l2f:
- pop_type (long_type_node); PUSH_TYPE (float_type_node); break;
- case OPCODE_l2d:
- pop_type (long_type_node); PUSH_TYPE (double_type_node); break;
- case OPCODE_f2i:
- pop_type (float_type_node); PUSH_TYPE (int_type_node); break;
- case OPCODE_f2l:
- pop_type (float_type_node); PUSH_TYPE (long_type_node); break;
- case OPCODE_f2d:
- pop_type (float_type_node); PUSH_TYPE (double_type_node); break;
- case OPCODE_d2i:
- pop_type (double_type_node); PUSH_TYPE (int_type_node); break;
- case OPCODE_d2l:
- pop_type (double_type_node); PUSH_TYPE (long_type_node); break;
- case OPCODE_d2f:
- pop_type (double_type_node); PUSH_TYPE (float_type_node); break;
-
- case OPCODE_lcmp:
- type = long_type_node; goto compare;
- case OPCODE_fcmpl:
- case OPCODE_fcmpg:
- type = float_type_node; goto compare;
- case OPCODE_dcmpl:
- case OPCODE_dcmpg:
- type = double_type_node; goto compare;
- compare:
- pop_type (type); pop_type (type);
- PUSH_TYPE (int_type_node); break;
-
- case OPCODE_ifeq:
- case OPCODE_ifne:
- case OPCODE_iflt:
- case OPCODE_ifge:
- case OPCODE_ifgt:
- case OPCODE_ifle:
- pop_type (int_type_node); goto cond;
- case OPCODE_ifnull:
- case OPCODE_ifnonnull:
- pop_type (ptr_type_node ); goto cond;
- case OPCODE_if_icmpeq:
- case OPCODE_if_icmpne:
- case OPCODE_if_icmplt:
- case OPCODE_if_icmpge:
- case OPCODE_if_icmpgt:
- case OPCODE_if_icmple:
- pop_type (int_type_node); pop_type (int_type_node); goto cond;
- case OPCODE_if_acmpeq:
- case OPCODE_if_acmpne:
- pop_type (object_ptr_type_node); pop_type (object_ptr_type_node);
- goto cond;
-
- cond:
- PUSH_PENDING (lookup_label (oldpc + IMMEDIATE_s2));
- break;
-
- case OPCODE_goto:
- PUSH_PENDING (lookup_label (oldpc + IMMEDIATE_s2));
- INVALIDATE_PC;
- break;
-
- case OPCODE_wide:
- switch (byte_ops[PC])
- {
- case OPCODE_iload: case OPCODE_lload:
- case OPCODE_fload: case OPCODE_dload: case OPCODE_aload:
- case OPCODE_istore: case OPCODE_lstore:
- case OPCODE_fstore: case OPCODE_dstore: case OPCODE_astore:
- case OPCODE_iinc:
- case OPCODE_ret:
- wide = 1;
- break;
- default:
- VERIFICATION_ERROR ("invalid use of wide instruction");
- }
- break;
-
- case OPCODE_return: type = void_type_node; goto ret;
- case OPCODE_ireturn:
- if ((TREE_CODE (return_type) == BOOLEAN_TYPE
- || TREE_CODE (return_type) == CHAR_TYPE
- || TREE_CODE (return_type) == INTEGER_TYPE)
- && TYPE_PRECISION (return_type) <= 32)
- type = return_type;
- else
- type = NULL_TREE;
- goto ret;
- case OPCODE_lreturn: type = long_type_node; goto ret;
- case OPCODE_freturn: type = float_type_node; goto ret;
- case OPCODE_dreturn: type = double_type_node; goto ret;
- case OPCODE_areturn:
- if (TREE_CODE (return_type) == POINTER_TYPE)
- type = return_type;
- else
- type = NULL_TREE;
- goto ret;
-
- ret:
- if (type != return_type)
- VERIFICATION_ERROR ("incorrect ?return opcode");
- if (type != void_type_node)
- POP_TYPE (type, "return value has wrong type");
- INVALIDATE_PC;
- break;
-
- case OPCODE_getstatic: is_putting = 0; is_static = 1; goto field;
- case OPCODE_putstatic: is_putting = 1; is_static = 1; goto field;
- case OPCODE_getfield: is_putting = 0; is_static = 0; goto field;
- case OPCODE_putfield: is_putting = 1; is_static = 0; goto field;
- field:
- {
- tree field_signature, field_type;
- index = IMMEDIATE_u2;
-
- if (index <= 0 || index >= JPOOL_SIZE (current_jcf))
- VERIFICATION_ERROR_WITH_INDEX ("bad constant pool index %d");
-
- if (JPOOL_TAG (current_jcf, index) != CONSTANT_Fieldref)
- VERIFICATION_ERROR
- ("field instruction does not reference a Fieldref");
-
- field_signature
- = COMPONENT_REF_SIGNATURE (&current_jcf->cpool, index);
-
- field_type = get_type_from_signature (field_signature);
-
- if (is_putting)
- POP_TYPE (field_type, "incorrect type for field");
-
- if (! is_static)
- {
- int clindex
- = COMPONENT_REF_CLASS_INDEX (&current_jcf->cpool, index);
-
- tree self_type = get_class_constant (current_jcf, clindex);
-
- /* Defer actual checking until next pass. */
- POP_TYPE (self_type, "incorrect type for field reference");
- }
-
- if (! is_putting)
- PUSH_TYPE (field_type);
- break;
- }
-
- case OPCODE_new:
- PUSH_TYPE (get_class_constant (jcf, IMMEDIATE_u2));
- break;
-
- case OPCODE_dup: wide = 1; index = 0; goto dup;
- case OPCODE_dup_x1: wide = 1; index = 1; goto dup;
- case OPCODE_dup_x2: wide = 1; index = 2; goto dup;
- case OPCODE_dup2: wide = 2; index = 0; goto dup;
- case OPCODE_dup2_x1: wide = 2; index = 1; goto dup;
- case OPCODE_dup2_x2: wide = 2; index = 2; goto dup;
-
- dup:
- if (wide + index > stack_pointer)
- VERIFICATION_ERROR ("stack underflow - dup* operation");
- type_stack_dup (wide, index);
- wide = 0;
- break;
-
- case OPCODE_pop: index = 1; goto pop;
- case OPCODE_pop2: index = 2; goto pop;
-
- pop:
- if (stack_pointer < index)
- VERIFICATION_ERROR ("stack underflow");
- stack_pointer -= index;
- break;
-
- case OPCODE_swap:
- if (stack_pointer < 2)
- VERIFICATION_ERROR ("stack underflow (in swap)");
- else
- {
- tree type1 = stack_type_map[stack_pointer - 1];
- tree type2 = stack_type_map[stack_pointer - 2];
-
- if (type1 == void_type_node || type2 == void_type_node)
- VERIFICATION_ERROR ("verifier (swap): double or long value");
-
- stack_type_map[stack_pointer - 2] = type1;
- stack_type_map[stack_pointer - 1] = type2;
- }
- break;
-
- case OPCODE_ldc: index = IMMEDIATE_u1; goto ldc;
- case OPCODE_ldc2_w:
- case OPCODE_ldc_w:
- index = IMMEDIATE_u2; goto ldc;
-
- ldc:
- if (index <= 0 || index >= JPOOL_SIZE (current_jcf))
- VERIFICATION_ERROR_WITH_INDEX ("bad constant pool index %d in ldc");
-
- int_value = -1;
- switch (JPOOL_TAG (current_jcf, index) & ~CONSTANT_ResolvedFlag)
- {
- case CONSTANT_Integer: type = int_type_node; goto check_ldc;
- case CONSTANT_Float: type = float_type_node; goto check_ldc;
- case CONSTANT_String: type = string_type_node; goto check_ldc;
- case CONSTANT_Long: type = long_type_node; goto check_ldc;
- case CONSTANT_Double: type = double_type_node; goto check_ldc;
- check_ldc:
- if (TYPE_IS_WIDE (type) == (op_code == OPCODE_ldc2_w))
- break;
- /* ... else fall through ... */
- default:
- VERIFICATION_ERROR ("bad constant pool tag in ldc");
- }
- if (type == int_type_node)
- {
- i = TREE_INT_CST_LOW (get_constant (current_jcf, index));
- goto push_int;
- }
- PUSH_TYPE (type);
- break;
-
- case OPCODE_invokevirtual:
- case OPCODE_invokespecial:
- case OPCODE_invokestatic:
- case OPCODE_invokeinterface:
- {
- tree sig, method_name, method_type, self_type;
- int self_is_interface, tag;
- index = IMMEDIATE_u2;
-
- if (index <= 0 || index >= JPOOL_SIZE (current_jcf))
- VERIFICATION_ERROR_WITH_INDEX
- ("bad constant pool index %d for invoke");
-
- tag = JPOOL_TAG (current_jcf, index);
-
- if (op_code == OPCODE_invokeinterface)
- {
- if (tag != CONSTANT_InterfaceMethodref)
- VERIFICATION_ERROR
- ("invokeinterface does not reference an InterfaceMethodref");
- }
- else
- {
- if (tag != CONSTANT_Methodref)
- VERIFICATION_ERROR ("invoke does not reference a Methodref");
- }
-
- sig = COMPONENT_REF_SIGNATURE (&current_jcf->cpool, index);
-
- self_type
- = get_class_constant (current_jcf,
- COMPONENT_REF_CLASS_INDEX
- (&current_jcf->cpool, index));
-
- if (! CLASS_LOADED_P (self_type))
- load_class (self_type, 1);
-
- self_is_interface = CLASS_INTERFACE (TYPE_NAME (self_type));
- method_name = COMPONENT_REF_NAME (&current_jcf->cpool, index);
- method_type = parse_signature_string ((const unsigned char *) IDENTIFIER_POINTER (sig),
- IDENTIFIER_LENGTH (sig));
-
- if (TREE_CODE (method_type) != FUNCTION_TYPE)
- VERIFICATION_ERROR ("bad method signature");
-
- pmessage = pop_argument_types (TYPE_ARG_TYPES (method_type));
- if (pmessage != NULL)
- {
- message = "invalid argument type";
- goto pop_type_error;
- }
-
- /* Can't invoke <clinit>. */
- if (ID_CLINIT_P (method_name))
- VERIFICATION_ERROR ("invoke opcode can't invoke <clinit>");
-
- /* Apart from invokespecial, can't invoke <init>. */
- if (op_code != OPCODE_invokespecial && ID_INIT_P (method_name))
- VERIFICATION_ERROR ("invoke opcode can't invoke <init>");
-
- if (op_code != OPCODE_invokestatic)
- POP_TYPE (self_type,
- "stack type not subclass of invoked method's class");
-
- switch (op_code)
- {
- case OPCODE_invokeinterface:
- {
- int nargs = IMMEDIATE_u1;
- int notZero = IMMEDIATE_u1;
-
- if (!nargs || notZero)
- VERIFICATION_ERROR
- ("invalid argument number in invokeinterface");
-
- /* If we verify/resolve the constant pool, as we should,
- this test (and the one just following) are redundant. */
- if (! self_is_interface)
- VERIFICATION_ERROR
- ("invokeinterface calls method not in interface");
- break;
-
- default:
- if (self_is_interface)
- VERIFICATION_ERROR ("method in interface called");
- }
- }
-
- if (TREE_TYPE (method_type) != void_type_node)
- PUSH_TYPE (TREE_TYPE (method_type));
- break;
- }
-
- case OPCODE_arraylength:
- /* Type checking actually made during code generation. */
- pop_type (ptr_type_node);
- PUSH_TYPE (int_type_node);
- break;
-
- /* Q&D verification *or* more checking done during code generation
- for byte/boolean/char/short, the value popped is a int coerced
- into the right type before being stored. */
- case OPCODE_iastore: type = int_type_node; goto astore;
- case OPCODE_lastore: type = long_type_node; goto astore;
- case OPCODE_fastore: type = float_type_node; goto astore;
- case OPCODE_dastore: type = double_type_node; goto astore;
- case OPCODE_aastore: type = ptr_type_node; goto astore;
- case OPCODE_bastore: type = int_type_node; goto astore;
- case OPCODE_castore: type = int_type_node; goto astore;
- case OPCODE_sastore: type = int_type_node; goto astore;
-
- astore:
- /* FIXME - need better verification here. */
- pop_type (type); /* new value */
- pop_type (int_type_node); /* index */
- pop_type (ptr_type_node); /* array */
- break;
-
- /* Q&D verification *or* more checking done during code generation
- for byte/boolean/char/short, the value pushed is a int. */
- case OPCODE_iaload: type = int_type_node; goto aload;
- case OPCODE_laload: type = long_type_node; goto aload;
- case OPCODE_faload: type = float_type_node; goto aload;
- case OPCODE_daload: type = double_type_node; goto aload;
- case OPCODE_aaload: type = ptr_type_node; goto aload;
- case OPCODE_baload: type = promote_type (byte_type_node); goto aload;
- case OPCODE_caload: type = promote_type (char_type_node); goto aload;
- case OPCODE_saload: type = promote_type (short_type_node); goto aload;
-
- aload:
- pop_type (int_type_node);
- tmp = pop_type (ptr_type_node);
- if (is_array_type_p (tmp))
- type = TYPE_ARRAY_ELEMENT (TREE_TYPE (tmp));
- else if (tmp != TYPE_NULL)
- VERIFICATION_ERROR ("array load from non-array type");
- PUSH_TYPE (type);
- break;
-
- case OPCODE_anewarray:
- type = get_class_constant (current_jcf, IMMEDIATE_u2);
- type = promote_type (type);
- goto newarray;
-
- case OPCODE_newarray:
- index = IMMEDIATE_u1;
- type = decode_newarray_type (index);
- if (type == NULL_TREE)
- VERIFICATION_ERROR ("invalid type code in newarray opcode");
- goto newarray;
-
- newarray:
- if (int_value >= 0 && prevpc >= 0)
- {
- /* If the previous instruction pushed an int constant,
- we want to use it. */
- switch (byte_ops[prevpc])
- {
- case OPCODE_iconst_0: case OPCODE_iconst_1:
- case OPCODE_iconst_2: case OPCODE_iconst_3:
- case OPCODE_iconst_4: case OPCODE_iconst_5:
- case OPCODE_bipush: case OPCODE_sipush:
- case OPCODE_ldc: case OPCODE_ldc_w:
- break;
- default:
- int_value = -1;
- }
- }
- else
- int_value = -1;
-
- type = build_java_array_type (type, int_value);
- pop_type (int_type_node);
- PUSH_TYPE (type);
- break;
-
- case OPCODE_multianewarray:
- {
- int ndim, i;
- index = IMMEDIATE_u2;
- ndim = IMMEDIATE_u1;
-
- if (ndim < 1)
- VERIFICATION_ERROR
- ("number of dimension lower that 1 in multianewarray" );
-
- for (i = 0; i < ndim; i++)
- pop_type (int_type_node);
-
- PUSH_TYPE (get_class_constant (current_jcf, index));
- break;
- }
-
- case OPCODE_aconst_null:
- PUSH_TYPE (ptr_type_node);
- break;
-
- case OPCODE_athrow:
- /* FIXME: athrow also empties the stack. */
- POP_TYPE (throwable_type_node, "missing throwable at athrow" );
- INVALIDATE_PC;
- break;
-
- case OPCODE_checkcast:
- POP_TYPE (object_ptr_type_node,
- "checkcast operand is not a pointer");
- type = get_class_constant (current_jcf, IMMEDIATE_u2);
- PUSH_TYPE (type);
- break;
-
- case OPCODE_instanceof:
- POP_TYPE (object_ptr_type_node,
- "instanceof operand is not a pointer");
- get_class_constant (current_jcf, IMMEDIATE_u2);
- PUSH_TYPE (int_type_node);
- break;
-
- case OPCODE_tableswitch:
- {
- jint low, high;
-
- POP_TYPE (int_type_node, "missing int for tableswitch");
-
- while (PC%4)
- {
- if (byte_ops[PC++])
- VERIFICATION_ERROR ("bad alignment in tableswitch pad");
- }
-
- PUSH_PENDING (lookup_label (oldpc + IMMEDIATE_s4));
- low = IMMEDIATE_s4;
- high = IMMEDIATE_s4;
-
- if (low > high)
- VERIFICATION_ERROR ("unsorted low/high value in tableswitch");
-
- while (low++ <= high)
- PUSH_PENDING (lookup_label (oldpc + IMMEDIATE_s4));
-
- INVALIDATE_PC;
- break;
- }
-
- case OPCODE_lookupswitch:
- {
- jint npairs, last = 0, not_registered = 1;
-
- POP_TYPE (int_type_node, "missing int for lookupswitch");
-
- while (PC%4)
- {
- if (byte_ops[PC++])
- VERIFICATION_ERROR ("bad alignment in lookupswitch pad");
- }
-
- PUSH_PENDING (lookup_label (oldpc + IMMEDIATE_s4));
- npairs = IMMEDIATE_s4;
-
- if (npairs < 0)
- VERIFICATION_ERROR ("invalid number of targets in lookupswitch");
-
- while (npairs--)
- {
- int match = IMMEDIATE_s4;
-
- if (not_registered)
- not_registered = 0;
- else if (last >= match)
- VERIFICATION_ERROR ("unsorted match value in lookupswitch");
-
- last = match;
- PUSH_PENDING (lookup_label (oldpc + IMMEDIATE_s4));
- }
- INVALIDATE_PC;
- break;
- }
-
- case OPCODE_monitorenter:
- /* fall thru */
- case OPCODE_monitorexit:
- pop_type (ptr_type_node);
- break;
-
- case OPCODE_goto_w:
- PUSH_PENDING (lookup_label (oldpc + IMMEDIATE_s4));
- INVALIDATE_PC;
- break;
-
- case OPCODE_jsr:
- {
- tree target = lookup_label (oldpc + IMMEDIATE_s2);
- tree return_label = lookup_label (PC);
- PUSH_TYPE (return_address_type_node);
- /* The return label chain will be null if this is the first
- time we've seen this jsr target. */
- if (LABEL_RETURN_LABEL (target) == NULL_TREE)
- {
- tree return_type_map;
- int nlocals = DECL_MAX_LOCALS (current_function_decl);
- index = nlocals + DECL_MAX_STACK (current_function_decl);
- return_type_map = make_tree_vec (index);
-
- while (index > nlocals)
- TREE_VEC_ELT (return_type_map, --index) = TYPE_UNKNOWN;
-
- while (index > 0)
- TREE_VEC_ELT (return_type_map, --index) = TYPE_UNUSED;
-
- LABEL_RETURN_LABEL (target)
- = build_decl (LABEL_DECL, NULL_TREE, TREE_TYPE (target));
- LABEL_PC (LABEL_RETURN_LABEL (target)) = INVALID_PC;
- LABEL_RETURN_TYPE_STATE (target) = return_type_map;
- LABEL_IS_SUBR_START (target) = 1;
- LABEL_IN_SUBR (target) = 1;
- LABEL_SUBR_START (target) = target;
- LABEL_SUBR_CONTEXT (target) = current_subr;
- }
- else if (! LABEL_IS_SUBR_START (target)
- || LABEL_SUBR_CONTEXT (target) != current_subr)
- VERIFICATION_ERROR ("label part of different subroutines");
-
- i = merge_type_state (target);
- if (i != 0)
- {
- if (i < 0)
- VERIFICATION_ERROR ("types could not be merged at jsr");
- push_pending_label (target);
- }
- current_subr = target;
-
- /* Chain return_pc onto LABEL_RETURN_LABELS (target) if needed. */
- if (! value_member (return_label, LABEL_RETURN_LABELS (target)))
- {
- LABEL_RETURN_LABELS (target)
- = tree_cons (NULL_TREE, return_label,
- LABEL_RETURN_LABELS (target));
- }
-
- if (LABEL_VERIFIED (target))
- {
- tree return_map = LABEL_RETURN_TYPE_STATE (target);
- int len = TREE_VEC_LENGTH (return_map);
- stack_pointer = len - DECL_MAX_LOCALS (current_function_decl);
- while (--len >= 0)
- {
- if (TREE_VEC_ELT (return_map, len) != TYPE_UNUSED)
- type_map[len] = TREE_VEC_ELT (return_map, len);
- }
- current_subr = LABEL_SUBR_CONTEXT (target);
- if (RETURN_MAP_ADJUSTED (return_map))
- PUSH_PENDING (return_label);
- }
-
- INVALIDATE_PC;
- }
- break;
-
- case OPCODE_ret:
- if (current_subr == NULL_TREE)
- VERIFICATION_ERROR ("ret instruction not in a jsr subroutine");
- else
- {
- tree ret_map = LABEL_RETURN_TYPE_STATE (current_subr);
- int size
- = DECL_MAX_LOCALS (current_function_decl) + stack_pointer;
- index = wide ? IMMEDIATE_u2 : IMMEDIATE_u1;
- wide = 0;
- INVALIDATE_PC;
- if (index < 0 || index >= DECL_MAX_LOCALS (current_function_decl)
- || type_map[index] != TYPE_RETURN_ADDR)
- VERIFICATION_ERROR ("invalid ret index");
-
- /* The next chunk of code is similar to an inlined version of
- merge_type_state (LABEL_RETURN_LABEL (current_subr)).
- The main differences are that LABEL_RETURN_LABEL is
- pre-allocated by the jsr (but we don't know the size then);
- and that we have to handle TYPE_UNUSED. */
-
- if (! RETURN_MAP_ADJUSTED (ret_map))
- {
- /* First return from this subroutine - fix stack
- pointer. */
- TREE_VEC_LENGTH (ret_map) = size;
- for (index = size; --index >= 0; )
- {
- if (TREE_VEC_ELT (ret_map, index) != TYPE_UNUSED)
- TREE_VEC_ELT (ret_map, index) = type_map[index];
- }
- RETURN_MAP_ADJUSTED (ret_map) = 1;
- }
- else
- {
- if (TREE_VEC_LENGTH (ret_map) != size)
- VERIFICATION_ERROR ("inconsistent stack size on ret");
- for (index = 0; index < size; index++)
- {
- tree type = TREE_VEC_ELT (ret_map, index);
- if (type != TYPE_UNUSED)
- {
- type = merge_types (type, type_map[index]);
- TREE_VEC_ELT (ret_map, index) = type;
- if (type == TYPE_UNKNOWN)
- {
- if (index >= size - stack_pointer)
- VERIFICATION_ERROR
- ("inconsistent types on ret from jsr");
- }
- else if (TYPE_IS_WIDE (type))
- index++;
- }
- }
- }
- }
- break;
-
- case OPCODE_jsr_w:
- case OPCODE_ret_w:
- default:
- error ("unknown opcode %d@pc=%d during verification", op_code, PC-1);
- return 0;
- }
-
- prevpc = oldpc;
-
- /* The following test is true if we have entered or exited an exception
- handler range *or* we have done a store to a local variable.
- In either case we need to consider any exception handlers that
- might "follow" this instruction. */
-
- if (eh_ranges != prev_eh_ranges)
- {
- int save_stack_pointer = stack_pointer;
- int index = DECL_MAX_LOCALS (current_function_decl);
- tree save_type = type_map[index];
- tree save_current_subr = current_subr;
- struct eh_range *ranges = find_handler (oldpc);
- stack_pointer = 1;
-
- for ( ; ranges != NULL_EH_RANGE; ranges = ranges->outer)
- {
- tree chain = ranges->handlers;
-
- /* We need to determine if the handler is part of current_subr.
- The are two cases: (1) The exception catch range
- is entirely within current_subr. In that case the handler
- is also part of current_subr.
- (2) Some of the catch range is not in current_subr.
- In that case, the handler is *not* part of current_subr.
-
- Figuring out which is the case is not necessarily obvious,
- in the presence of clever code generators (and obfuscators).
- We make a simplifying assumption that in case (2) we
- have that the current_subr is entirely within the catch range.
- In that case we can assume if that if a caller (the jsr) of
- a subroutine is within the catch range, then the handler is
- *not* part of the subroutine, and vice versa. */
-
- current_subr = save_current_subr;
- for ( ; current_subr != NULL_TREE;
- current_subr = LABEL_SUBR_CONTEXT (current_subr))
- {
- tree return_labels = LABEL_RETURN_LABELS (current_subr);
- /* There could be multiple return_labels, but
- we only need to check one. */
- int return_pc = LABEL_PC (TREE_VALUE (return_labels));
- if (return_pc <= ranges->start_pc
- || return_pc > ranges->end_pc)
- break;
- }
-
- for ( ; chain != NULL_TREE; chain = TREE_CHAIN (chain))
- {
- tree handler = TREE_VALUE (chain);
- tree type = TREE_PURPOSE (chain);
-
- if (type == NULL_TREE) /* a finally handler */
- type = throwable_type_node;
-
- type_map[index] = promote_type (type);
-
- PUSH_PENDING (handler);
- }
- }
- stack_pointer = save_stack_pointer;
- current_subr = save_current_subr;
- type_map[index] = save_type;
- prev_eh_ranges = eh_ranges;
- }
- }
-
- return 1;
-
- pop_type_error:
- error ("verification error at PC=%d", oldpc);
- if (message != NULL)
- error ("%s", message);
- error ("%s", pmessage);
- free (pmessage);
- return 0;
-
- stack_overflow:
- message = "stack overflow";
- goto verify_error;
-
- bad_pc:
- message = "program counter out of range";
- goto verify_error;
-
- error_with_index:
- error ("verification error at PC=%d", oldpc);
- error (message, index);
- return 0;
-
- verify_error:
- error ("verification error at PC=%d", oldpc);
- error ("%s", message);
- return 0;
-}
diff --git a/gcc/jump.c b/gcc/jump.c
index e3e2cdaa501..05780b22c7f 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -124,7 +124,7 @@ cleanup_barriers (void)
struct tree_opt_pass pass_cleanup_barriers =
{
- NULL, /* name */
+ "barriers", /* name */
NULL, /* gate */
cleanup_barriers, /* execute */
NULL, /* sub */
@@ -135,7 +135,7 @@ struct tree_opt_pass pass_cleanup_barriers =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- 0, /* todo_flags_finish */
+ TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};
@@ -179,7 +179,7 @@ purge_line_number_notes (void)
struct tree_opt_pass pass_purge_lineno_notes =
{
- NULL, /* name */
+ "elnotes", /* name */
NULL, /* gate */
purge_line_number_notes, /* execute */
NULL, /* sub */
@@ -190,7 +190,7 @@ struct tree_opt_pass pass_purge_lineno_notes =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- 0, /* todo_flags_finish */
+ TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};
@@ -1879,6 +1879,7 @@ rtx_renumbered_equal_p (rtx x, rtx y)
case ADDR_VEC:
case ADDR_DIFF_VEC:
case CONST_INT:
+ case CONST_DOUBLE:
return 0;
case LABEL_REF:
diff --git a/gcc/lambda-code.c b/gcc/lambda-code.c
index 29b3e5ae708..cf995a3f9f4 100644
--- a/gcc/lambda-code.c
+++ b/gcc/lambda-code.c
@@ -2010,27 +2010,6 @@ lambda_loopnest_to_gcc_loopnest (struct loop *old_loopnest,
VEC_free (tree, heap, new_ivs);
}
-/* Returns true when the vector V is lexicographically positive, in
- other words, when the first nonzero element is positive. */
-
-static bool
-lambda_vector_lexico_pos (lambda_vector v,
- unsigned n)
-{
- unsigned i;
- for (i = 0; i < n; i++)
- {
- if (v[i] == 0)
- continue;
- if (v[i] < 0)
- return false;
- if (v[i] > 0)
- return true;
- }
- return true;
-}
-
-
/* Return TRUE if this is not interesting statement from the perspective of
determining if we have a perfect loop nest. */
diff --git a/gcc/lambda.h b/gcc/lambda.h
index dea12ef6098..9855b6f73ed 100644
--- a/gcc/lambda.h
+++ b/gcc/lambda.h
@@ -376,5 +376,26 @@ print_lambda_vector (FILE * outfile, lambda_vector vector, int n)
fprintf (outfile, "%3d ", vector[i]);
fprintf (outfile, "\n");
}
+
+/* Returns true when the vector V is lexicographically positive, in
+ other words, when the first nonzero element is positive. */
+
+static inline bool
+lambda_vector_lexico_pos (lambda_vector v,
+ unsigned n)
+{
+ unsigned i;
+ for (i = 0; i < n; i++)
+ {
+ if (v[i] == 0)
+ continue;
+ if (v[i] < 0)
+ return false;
+ if (v[i] > 0)
+ return true;
+ }
+ return true;
+}
+
#endif /* LAMBDA_H */
diff --git a/gcc/local-alloc.c b/gcc/local-alloc.c
index cd26174fa6a..4ee4991d0cd 100644
--- a/gcc/local-alloc.c
+++ b/gcc/local-alloc.c
@@ -123,6 +123,11 @@ struct qty
int n_calls_crossed;
+ /* Number of times a reg tied to given qty lives across a CALL_INSN
+ that might throw. */
+
+ int n_throwing_calls_crossed;
+
/* The register number of one pseudo register whose reg_qty value is Q.
This register should be the head of the chain
maintained in reg_next_in_qty. */
@@ -324,6 +329,7 @@ alloc_qty (int regno, enum machine_mode mode, int size, int birth)
qty[qtyno].mode = mode;
qty[qtyno].birth = birth;
qty[qtyno].n_calls_crossed = REG_N_CALLS_CROSSED (regno);
+ qty[qtyno].n_throwing_calls_crossed = REG_N_THROWING_CALLS_CROSSED (regno);
qty[qtyno].min_class = reg_preferred_class (regno);
qty[qtyno].alternate_class = reg_alternate_class (regno);
qty[qtyno].n_refs = REG_N_REFS (regno);
@@ -1170,6 +1176,7 @@ update_equiv_regs (void)
REG_BASIC_BLOCK (regno) = bb->index;
REG_N_CALLS_CROSSED (regno) = 0;
+ REG_N_THROWING_CALLS_CROSSED (regno) = 0;
REG_LIVE_LENGTH (regno) = 2;
if (insn == BB_HEAD (bb))
@@ -2011,6 +2018,8 @@ combine_regs (rtx usedreg, rtx setreg, int may_save_copy, int insn_number,
/* Update info about quantity SQTY. */
qty[sqty].n_calls_crossed += REG_N_CALLS_CROSSED (sreg);
+ qty[sqty].n_throwing_calls_crossed
+ += REG_N_THROWING_CALLS_CROSSED (sreg);
qty[sqty].n_refs += REG_N_REFS (sreg);
qty[sqty].freq += REG_FREQ (sreg);
if (usize < ssize)
@@ -2315,12 +2324,14 @@ find_free_reg (enum reg_class class, enum machine_mode mode, int qtyno,
/* We need not check to see if the current function has nonlocal
labels because we don't put any pseudos that are live over calls in
- registers in that case. */
+ registers in that case. Avoid putting pseudos crossing calls that
+ might throw into call used registers. */
if (! accept_call_clobbered
&& flag_caller_saves
&& ! just_try_suggested
&& qty[qtyno].n_calls_crossed != 0
+ && qty[qtyno].n_throwing_calls_crossed == 0
&& CALLER_SAVE_PROFITABLE (qty[qtyno].n_refs,
qty[qtyno].n_calls_crossed))
{
diff --git a/gcc/loop-init.c b/gcc/loop-init.c
index cfe4cac6b6b..28739ae0d26 100644
--- a/gcc/loop-init.c
+++ b/gcc/loop-init.c
@@ -174,7 +174,7 @@ rtl_loop_init (void)
struct tree_opt_pass pass_rtl_loop_init =
{
- "loopinit", /* name */
+ "loop2_init", /* name */
NULL, /* gate */
rtl_loop_init, /* execute */
NULL, /* sub */
@@ -218,7 +218,7 @@ rtl_loop_done (void)
struct tree_opt_pass pass_rtl_loop_done =
{
- "loopdone", /* name */
+ "loop2_done", /* name */
NULL, /* gate */
rtl_loop_done, /* execute */
NULL, /* sub */
@@ -235,17 +235,23 @@ struct tree_opt_pass pass_rtl_loop_done =
/* Loop invariant code motion. */
+static bool
+gate_rtl_move_loop_invariants (void)
+{
+ return flag_move_loop_invariants;
+}
+
static void
rtl_move_loop_invariants (void)
{
- if (current_loops && flag_move_loop_invariants)
+ if (current_loops)
move_loop_invariants (current_loops);
}
struct tree_opt_pass pass_rtl_move_loop_invariants =
{
- "loop_invariant", /* name */
- NULL, /* gate */
+ "loop2_invariant", /* name */
+ gate_rtl_move_loop_invariants, /* gate */
rtl_move_loop_invariants, /* execute */
NULL, /* sub */
NULL, /* next */
@@ -261,17 +267,23 @@ struct tree_opt_pass pass_rtl_move_loop_invariants =
/* Loop unswitching for RTL. */
+static bool
+gate_rtl_unswitch (void)
+{
+ return flag_unswitch_loops;
+}
+
static void
rtl_unswitch (void)
{
- if (current_loops && flag_unswitch_loops)
+ if (current_loops)
unswitch_loops (current_loops);
}
struct tree_opt_pass pass_rtl_unswitch =
{
- "loop_unswitch", /* name */
- NULL, /* gate */
+ "loop2_unswitch", /* name */
+ gate_rtl_unswitch, /* gate */
rtl_unswitch, /* execute */
NULL, /* sub */
NULL, /* next */
@@ -287,11 +299,16 @@ struct tree_opt_pass pass_rtl_unswitch =
/* Loop unswitching for RTL. */
+static bool
+gate_rtl_unroll_and_peel_loops (void)
+{
+ return (flag_peel_loops || flag_unroll_loops || flag_unroll_all_loops);
+}
+
static void
rtl_unroll_and_peel_loops (void)
{
- if (current_loops
- && (flag_peel_loops || flag_unroll_loops || flag_unroll_all_loops))
+ if (current_loops)
{
int flags = 0;
@@ -308,8 +325,8 @@ rtl_unroll_and_peel_loops (void)
struct tree_opt_pass pass_rtl_unroll_and_peel_loops =
{
- "loop_unroll", /* name */
- NULL, /* gate */
+ "loop2_unroll", /* name */
+ gate_rtl_unroll_and_peel_loops, /* gate */
rtl_unroll_and_peel_loops, /* execute */
NULL, /* sub */
NULL, /* next */
@@ -325,20 +342,29 @@ struct tree_opt_pass pass_rtl_unroll_and_peel_loops =
/* The doloop optimization. */
+static bool
+gate_rtl_doloop (void)
+{
+#ifdef HAVE_doloop_end
+ return (flag_branch_on_count_reg && HAVE_doloop_end);
+#else
+ return 0;
+#endif
+}
+
static void
rtl_doloop (void)
{
#ifdef HAVE_doloop_end
- if (current_loops
- && (flag_branch_on_count_reg && HAVE_doloop_end))
+ if (current_loops)
doloop_optimize_loops (current_loops);
#endif
}
struct tree_opt_pass pass_rtl_doloop =
{
- "loop_doloop", /* name */
- NULL, /* gate */
+ "loop2_doloop", /* name */
+ gate_rtl_doloop, /* gate */
rtl_doloop, /* execute */
NULL, /* sub */
NULL, /* next */
diff --git a/gcc/loop-invariant.c b/gcc/loop-invariant.c
index 8a798fb4304..bd73e688a8a 100644
--- a/gcc/loop-invariant.c
+++ b/gcc/loop-invariant.c
@@ -784,7 +784,7 @@ find_invariant_insn (rtx insn, bool always_reached, bool always_executed)
}
}
-/* Record registers used in INSN that have an unique invariant definition. */
+/* Record registers used in INSN that have a unique invariant definition. */
static void
record_uses (rtx insn)
diff --git a/gcc/loop-iv.c b/gcc/loop-iv.c
index 8a89f2193f4..adfe0a4e658 100644
--- a/gcc/loop-iv.c
+++ b/gcc/loop-iv.c
@@ -2354,7 +2354,7 @@ iv_number_of_iterations (struct loop *loop, rtx insn, rtx condition,
tmp0 = lowpart_subreg (mode, iv0.base, comp_mode);
tmp1 = lowpart_subreg (mode, iv1.base, comp_mode);
- bound = simplify_gen_binary (MINUS, mode, mode_mmin,
+ bound = simplify_gen_binary (PLUS, mode, mode_mmin,
lowpart_subreg (mode, step, comp_mode));
if (step_is_pow2)
{
diff --git a/gcc/loop-unroll.c b/gcc/loop-unroll.c
index 6b81852b7de..11b7ae3122a 100644
--- a/gcc/loop-unroll.c
+++ b/gcc/loop-unroll.c
@@ -529,6 +529,7 @@ peel_loop_completely (struct loops *loops, struct loop *loop)
wont_exit, desc->out_edge,
remove_edges, &n_remove_edges,
DLTHE_FLAG_UPDATE_FREQ
+ | DLTHE_FLAG_COMPLETTE_PEEL
| (opt_info
? DLTHE_RECORD_COPY_NUMBER : 0));
gcc_assert (ok);
@@ -1582,7 +1583,19 @@ analyze_insn_to_expand_var (struct loop *loop, rtx insn)
&& GET_CODE (src) != MINUS
&& GET_CODE (src) != MULT)
return NULL;
-
+
+ /* Hmm, this is a bit paradoxical. We know that INSN is a valid insn
+ in MD. But if there is no optab to generate the insn, we can not
+ perform the variable expansion. This can happen if an MD provides
+ an insn but not a named pattern to generate it, for example to avoid
+ producing code that needs additional mode switches like for x87/mmx.
+
+ So we check have_insn_for which looks for an optab for the operation
+ in SRC. If it doesn't exist, we can't perform the expansion even
+ though INSN is valid. */
+ if (!have_insn_for (GET_CODE (src), GET_MODE (src)))
+ return NULL;
+
if (!XEXP (src, 0))
return NULL;
diff --git a/gcc/loop.c b/gcc/loop.c
index 2686294bfd8..8142f63f5af 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -1881,19 +1881,7 @@ combine_movables (struct loop_movables *movables, struct loop_regs *regs)
&& !m1->partial
&& (matched_regs[m1->regno]
||
- (
- /* Can combine regs with different modes loaded from the
- same constant only if the modes are the same or
- if both are integer modes with M wider or the same
- width as M1. The check for integer is redundant, but
- safe, since the only case of differing destination
- modes with equal sources is when both sources are
- VOIDmode, i.e., CONST_INT. */
- (GET_MODE (m->set_dest) == GET_MODE (m1->set_dest)
- || (GET_MODE_CLASS (GET_MODE (m->set_dest)) == MODE_INT
- && GET_MODE_CLASS (GET_MODE (m1->set_dest)) == MODE_INT
- && (GET_MODE_BITSIZE (GET_MODE (m->set_dest))
- >= GET_MODE_BITSIZE (GET_MODE (m1->set_dest)))))
+ (GET_MODE (m->set_dest) == GET_MODE (m1->set_dest)
/* See if the source of M1 says it matches M. */
&& ((REG_P (m1->set_src)
&& matched_regs[REGNO (m1->set_src)])
@@ -2057,14 +2045,26 @@ rtx_equal_for_loop_p (rtx x, rtx y, struct loop_movables *movables,
if (GET_MODE (x) != GET_MODE (y))
return 0;
- /* These three types of rtx's can be compared nonrecursively. */
- if (code == REG)
- return (REGNO (x) == REGNO (y) || regs_match_p (x, y, movables));
+ /* These types of rtx's can be compared nonrecursively. */
+ switch (code)
+ {
+ case PC:
+ case CC0:
+ case CONST_INT:
+ case CONST_DOUBLE:
+ return 0;
- if (code == LABEL_REF)
- return XEXP (x, 0) == XEXP (y, 0);
- if (code == SYMBOL_REF)
- return XSTR (x, 0) == XSTR (y, 0);
+ case REG:
+ return (REGNO (x) == REGNO (y) || regs_match_p (x, y, movables));
+
+ case LABEL_REF:
+ return XEXP (x, 0) == XEXP (y, 0);
+ case SYMBOL_REF:
+ return XSTR (x, 0) == XSTR (y, 0);
+
+ default:
+ break;
+ }
/* Compare the elements. If any pair of corresponding elements
fail to match, return 0 for the whole things. */
@@ -2645,23 +2645,7 @@ move_movables (struct loop *loop, struct loop_movables *movables,
{
rtx temp;
- /* Schedule the reg loaded by M1
- for replacement so that shares the reg of M.
- If the modes differ (only possible in restricted
- circumstances, make a SUBREG.
-
- Note this assumes that the target dependent files
- treat REG and SUBREG equally, including within
- GO_IF_LEGITIMATE_ADDRESS and in all the
- predicates since we never verify that replacing the
- original register with a SUBREG results in a
- recognizable insn. */
- if (GET_MODE (m->set_dest) == GET_MODE (m1->set_dest))
- reg_map[m1->regno] = m->set_dest;
- else
- reg_map[m1->regno]
- = gen_lowpart_common (GET_MODE (m1->set_dest),
- m->set_dest);
+ reg_map[m1->regno] = m->set_dest;
/* Get rid of the matching insn
and prevent further processing of it. */
@@ -3984,6 +3968,24 @@ rtx_equal_for_prefetch_p (rtx x, rtx y)
if (code != GET_CODE (y))
return 0;
+ if (GET_MODE (x) != GET_MODE (y))
+ return 0;
+
+ switch (code)
+ {
+ case PC:
+ case CC0:
+ case CONST_INT:
+ case CONST_DOUBLE:
+ return 0;
+
+ case LABEL_REF:
+ return XEXP (x, 0) == XEXP (y, 0);
+
+ default:
+ break;
+ }
+
if (COMMUTATIVE_ARITH_P (x))
{
return ((rtx_equal_for_prefetch_p (XEXP (x, 0), XEXP (y, 0))
@@ -8798,6 +8800,63 @@ biv_fits_mode_p (const struct loop *loop, struct iv_class *bl,
}
+/* Return false iff it is provable that biv BL plus BIAS will not wrap
+ at any point in its update sequence. Note that at the rtl level we
+ may not have information about the signedness of BL; in that case,
+ check for both signed and unsigned overflow. */
+
+static bool
+biased_biv_may_wrap_p (const struct loop *loop, struct iv_class *bl,
+ unsigned HOST_WIDE_INT bias)
+{
+ HOST_WIDE_INT incr;
+ bool check_signed, check_unsigned;
+ enum machine_mode mode;
+
+ /* If the increment is not monotonic, we'd have to check separately
+ at each increment step. Not Worth It. */
+ incr = get_monotonic_increment (bl);
+ if (incr == 0)
+ return true;
+
+ /* If this biv is the loop iteration variable, then we may be able to
+ deduce a sign based on the loop condition. */
+ /* ??? This is not 100% reliable; consider an unsigned biv that is cast
+ to signed for the comparison. However, this same bug appears all
+ through loop.c. */
+ check_signed = check_unsigned = true;
+ if (bl->biv->src_reg == LOOP_INFO (loop)->iteration_var)
+ {
+ switch (LOOP_INFO (loop)->comparison_code)
+ {
+ case GTU: case GEU: case LTU: case LEU:
+ check_signed = false;
+ break;
+ case GT: case GE: case LT: case LE:
+ check_unsigned = false;
+ break;
+ default:
+ break;
+ }
+ }
+
+ mode = GET_MODE (bl->biv->src_reg);
+
+ if (check_unsigned
+ && !biased_biv_fits_mode_p (loop, bl, incr, mode, bias))
+ return true;
+
+ if (check_signed)
+ {
+ bias += (GET_MODE_MASK (mode) >> 1) + 1;
+ if (!biased_biv_fits_mode_p (loop, bl, incr, mode, bias))
+ return true;
+ }
+
+ return false;
+}
+
+
/* Given that X is an extension or truncation of BL, return true
if it is unaffected by overflow. LOOP is the loop to which
BL belongs and INCR is its per-iteration increment. */
@@ -10208,195 +10267,56 @@ maybe_eliminate_biv_1 (const struct loop *loop, rtx x, rtx insn,
else
break;
- if (CONSTANT_P (arg))
- {
- /* First try to replace with any giv that has constant positive
- mult_val and constant add_val. We might be able to support
- negative mult_val, but it seems complex to do it in general. */
-
- for (v = bl->giv; v; v = v->next_iv)
- if (GET_CODE (v->mult_val) == CONST_INT
- && INTVAL (v->mult_val) > 0
- && (GET_CODE (v->add_val) == SYMBOL_REF
- || GET_CODE (v->add_val) == LABEL_REF
- || GET_CODE (v->add_val) == CONST
- || (REG_P (v->add_val)
- && REG_POINTER (v->add_val)))
- && ! v->ignore && ! v->maybe_dead && v->always_computable
- && v->mode == mode)
- {
- if (! biv_elimination_giv_has_0_offset (bl->biv, v, insn))
- continue;
-
- /* Don't eliminate if the linear combination that makes up
- the giv overflows when it is applied to ARG. */
- if (GET_CODE (arg) == CONST_INT)
- {
- rtx add_val;
-
- if (GET_CODE (v->add_val) == CONST_INT)
- add_val = v->add_val;
- else
- add_val = const0_rtx;
-
- if (const_mult_add_overflow_p (arg, v->mult_val,
- add_val, mode, 1))
- continue;
- }
-
- if (! eliminate_p)
- return 1;
-
- /* Replace biv with the giv's reduced reg. */
- validate_change (insn, &XEXP (x, 1 - arg_operand), v->new_reg, 1);
-
- /* If all constants are actually constant integers and
- the derived constant can be directly placed in the COMPARE,
- do so. */
- if (GET_CODE (arg) == CONST_INT
- && GET_CODE (v->add_val) == CONST_INT)
- {
- tem = expand_mult_add (arg, NULL_RTX, v->mult_val,
- v->add_val, mode, 1);
- }
- else
- {
- /* Otherwise, load it into a register. */
- tem = gen_reg_rtx (mode);
- loop_iv_add_mult_emit_before (loop, arg,
- v->mult_val, v->add_val,
- tem, where_bb, where_insn);
- }
-
- validate_change (insn, &XEXP (x, arg_operand), tem, 1);
-
- if (apply_change_group ())
- return 1;
- }
-
- /* Look for giv with positive constant mult_val and nonconst add_val.
- Insert insns to calculate new compare value.
- ??? Turn this off due to possible overflow. */
-
- for (v = bl->giv; v; v = v->next_iv)
- if (GET_CODE (v->mult_val) == CONST_INT
- && INTVAL (v->mult_val) > 0
- && ! v->ignore && ! v->maybe_dead && v->always_computable
- && v->mode == mode
- && 0)
- {
- rtx tem;
-
- if (! biv_elimination_giv_has_0_offset (bl->biv, v, insn))
- continue;
-
- if (! eliminate_p)
- return 1;
-
- tem = gen_reg_rtx (mode);
-
- /* Replace biv with giv's reduced register. */
- validate_change (insn, &XEXP (x, 1 - arg_operand),
- v->new_reg, 1);
-
- /* Compute value to compare against. */
- loop_iv_add_mult_emit_before (loop, arg,
- v->mult_val, v->add_val,
- tem, where_bb, where_insn);
- /* Use it in this insn. */
- validate_change (insn, &XEXP (x, arg_operand), tem, 1);
- if (apply_change_group ())
- return 1;
- }
- }
- else if (REG_P (arg) || MEM_P (arg))
- {
- if (loop_invariant_p (loop, arg) == 1)
- {
- /* Look for giv with constant positive mult_val and nonconst
- add_val. Insert insns to compute new compare value.
- ??? Turn this off due to possible overflow. */
-
- for (v = bl->giv; v; v = v->next_iv)
- if (GET_CODE (v->mult_val) == CONST_INT && INTVAL (v->mult_val) > 0
- && ! v->ignore && ! v->maybe_dead && v->always_computable
- && v->mode == mode
- && 0)
- {
- rtx tem;
-
- if (! biv_elimination_giv_has_0_offset (bl->biv, v, insn))
- continue;
-
- if (! eliminate_p)
- return 1;
-
- tem = gen_reg_rtx (mode);
-
- /* Replace biv with giv's reduced register. */
- validate_change (insn, &XEXP (x, 1 - arg_operand),
- v->new_reg, 1);
-
- /* Compute value to compare against. */
- loop_iv_add_mult_emit_before (loop, arg,
- v->mult_val, v->add_val,
- tem, where_bb, where_insn);
- validate_change (insn, &XEXP (x, arg_operand), tem, 1);
- if (apply_change_group ())
- return 1;
- }
- }
-
- /* This code has problems. Basically, you can't know when
- seeing if we will eliminate BL, whether a particular giv
- of ARG will be reduced. If it isn't going to be reduced,
- we can't eliminate BL. We can try forcing it to be reduced,
- but that can generate poor code.
+ if (GET_CODE (arg) != CONST_INT)
+ return 0;
- The problem is that the benefit of reducing TV, below should
- be increased if BL can actually be eliminated, but this means
- we might have to do a topological sort of the order in which
- we try to process biv. It doesn't seem worthwhile to do
- this sort of thing now. */
+ /* Unless we're dealing with an equality comparison, if we can't
+ determine that the original biv doesn't wrap, then we must not
+ apply the transformation. */
+ /* ??? Actually, what we must do is verify that the transformed
+ giv doesn't wrap. But the general case of this transformation
+ was disabled long ago due to wrapping problems, and there's no
+ point reviving it this close to end-of-life for loop.c. The
+ only case still enabled is known (via the check on add_val) to
+ be pointer arithmetic, which in theory never overflows for
+ valid programs. */
+ /* Without lifetime analysis, we don't know how COMPARE will be
+ used, so we must assume the worst. */
+ if (code != EQ && code != NE
+ && biased_biv_may_wrap_p (loop, bl, INTVAL (arg)))
+ return 0;
-#if 0
- /* Otherwise the reg compared with had better be a biv. */
- if (!REG_P (arg)
- || REG_IV_TYPE (ivs, REGNO (arg)) != BASIC_INDUCT)
- return 0;
+ /* Try to replace with any giv that has constant positive mult_val
+ and a pointer add_val. */
+ for (v = bl->giv; v; v = v->next_iv)
+ if (GET_CODE (v->mult_val) == CONST_INT
+ && INTVAL (v->mult_val) > 0
+ && (GET_CODE (v->add_val) == SYMBOL_REF
+ || GET_CODE (v->add_val) == LABEL_REF
+ || GET_CODE (v->add_val) == CONST
+ || (REG_P (v->add_val) && REG_POINTER (v->add_val)))
+ && ! v->ignore && ! v->maybe_dead && v->always_computable
+ && v->mode == mode)
+ {
+ if (! biv_elimination_giv_has_0_offset (bl->biv, v, insn))
+ continue;
- /* Look for a pair of givs, one for each biv,
- with identical coefficients. */
- for (v = bl->giv; v; v = v->next_iv)
- {
- struct induction *tv;
+ if (! eliminate_p)
+ return 1;
- if (v->ignore || v->maybe_dead || v->mode != mode)
- continue;
+ /* Replace biv with the giv's reduced reg. */
+ validate_change (insn, &XEXP (x, 1 - arg_operand), v->new_reg, 1);
- for (tv = REG_IV_CLASS (ivs, REGNO (arg))->giv; tv;
- tv = tv->next_iv)
- if (! tv->ignore && ! tv->maybe_dead
- && rtx_equal_p (tv->mult_val, v->mult_val)
- && rtx_equal_p (tv->add_val, v->add_val)
- && tv->mode == mode)
- {
- if (! biv_elimination_giv_has_0_offset (bl->biv, v, insn))
- continue;
+ /* Load the value into a register. */
+ tem = gen_reg_rtx (mode);
+ loop_iv_add_mult_emit_before (loop, arg, v->mult_val, v->add_val,
+ tem, where_bb, where_insn);
- if (! eliminate_p)
- return 1;
+ validate_change (insn, &XEXP (x, arg_operand), tem, 1);
- /* Replace biv with its giv's reduced reg. */
- XEXP (x, 1 - arg_operand) = v->new_reg;
- /* Replace other operand with the other giv's
- reduced reg. */
- XEXP (x, arg_operand) = tv->new_reg;
- return 1;
- }
- }
-#endif
- }
+ if (apply_change_group ())
+ return 1;
+ }
/* If we get here, the biv can't be eliminated. */
return 0;
diff --git a/gcc/mips-tfile.c b/gcc/mips-tfile.c
index c96eb419a25..d7d754f030c 100644
--- a/gcc/mips-tfile.c
+++ b/gcc/mips-tfile.c
@@ -3980,8 +3980,7 @@ write_varray (varray_t *vp, /* virtual array */
return;
if (debug)
- fprintf (stderr, "\twarray\tvp = " HOST_PTR_PRINTF
- ", offset = %7lu, size = %7lu, %s\n",
+ fprintf (stderr, "\twarray\tvp = %p, offset = %7lu, size = %7lu, %s\n",
(void *) vp, (unsigned long) offset,
vp->num_allocated * vp->object_size, str);
@@ -4020,8 +4019,7 @@ write_object (void)
off_t offset;
if (debug)
- fprintf (stderr, "\n\twrite\tvp = " HOST_PTR_PRINTF
- ", offset = %7u, size = %7lu, %s\n",
+ fprintf (stderr, "\n\twrite\tvp = %p, offset = %7u, size = %7lu, %s\n",
(void *) &symbolic_header, 0,
(unsigned long) sizeof (symbolic_header), "symbolic header");
@@ -4051,8 +4049,7 @@ write_object (void)
pfatal_with_name (object_name);
if (debug)
- fprintf (stderr, "\twrite\tvp = " HOST_PTR_PRINTF
- ", offset = %7lu, size = %7lu, %s\n",
+ fprintf (stderr, "\twrite\tvp = %p, offset = %7lu, size = %7lu, %s\n",
(void *) &orig_linenum, (long) symbolic_header.cbLineOffset,
(long) symbolic_header.cbLine, "Line numbers");
@@ -4083,8 +4080,7 @@ write_object (void)
pfatal_with_name (object_name);
if (debug)
- fprintf (stderr, "\twrite\tvp = " HOST_PTR_PRINTF
- ", offset = %7lu, size = %7lu, %s\n",
+ fprintf (stderr, "\twrite\tvp = %p, offset = %7lu, size = %7lu, %s\n",
(void *) &orig_opt_syms, (long) symbolic_header.cbOptOffset,
num_write, "Optimizer symbols");
@@ -4172,8 +4168,7 @@ write_object (void)
file_ptr = file_ptr->next_file)
{
if (debug)
- fprintf (stderr, "\twrite\tvp = " HOST_PTR_PRINTF
- ", offset = %7lu, size = %7lu, %s\n",
+ fprintf (stderr, "\twrite\tvp = %p, offset = %7lu, size = %7lu, %s\n",
(void *) &file_ptr->fdr, file_offset,
(unsigned long) sizeof (FDR), "File header");
@@ -4205,8 +4200,7 @@ write_object (void)
pfatal_with_name (object_name);
if (debug)
- fprintf (stderr, "\twrite\tvp = " HOST_PTR_PRINTF
- ", offset = %7lu, size = %7lu, %s\n",
+ fprintf (stderr, "\twrite\tvp = %p, offset = %7lu, size = %7lu, %s\n",
(void *) &orig_rfds, (long) symbolic_header.cbRfdOffset,
num_write, "Relative file descriptors");
@@ -4999,7 +4993,7 @@ allocate_cluster (Size_t npages)
pfatal_with_name ("allocate_cluster");
if (debug > 3)
- fprintf (stderr, "\talloc\tnpages = %lu, value = " HOST_PTR_PRINTF "\n",
+ fprintf (stderr, "\talloc\tnpages = %lu, value = %p\n",
(unsigned long) npages, (void *) ptr);
return ptr;
diff --git a/gcc/mode-switching.c b/gcc/mode-switching.c
index 9e8ad62fbe7..a781cb2d743 100644
--- a/gcc/mode-switching.c
+++ b/gcc/mode-switching.c
@@ -736,7 +736,7 @@ rest_of_handle_mode_switching (void)
struct tree_opt_pass pass_mode_switching =
{
- NULL, /* name */
+ "mode-sw", /* name */
gate_mode_switching, /* gate */
rest_of_handle_mode_switching, /* execute */
NULL, /* sub */
@@ -747,6 +747,6 @@ struct tree_opt_pass pass_mode_switching =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- 0, /* todo_flags_finish */
+ TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};
diff --git a/gcc/modulo-sched.c b/gcc/modulo-sched.c
index 69a9d33664f..ed06fc46620 100644
--- a/gcc/modulo-sched.c
+++ b/gcc/modulo-sched.c
@@ -1261,7 +1261,8 @@ sms_schedule (FILE *dump_file)
rtx comp_rtx = gen_rtx_fmt_ee (GT, VOIDmode, count_reg,
GEN_INT(stage_count));
- nloop = loop_version (loops, loop, comp_rtx, &condition_bb);
+ nloop = loop_version (loops, loop, comp_rtx, &condition_bb,
+ true);
}
/* Set new iteration count of loop kernel. */
diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog
index 31a1e8f9159..a66a772546f 100644
--- a/gcc/objc/ChangeLog
+++ b/gcc/objc/ChangeLog
@@ -1,3 +1,22 @@
+2005-08-31 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR objc/23306
+ * objc-act.c (generate_strings): Remove and move code to
+ finish decl to ...
+ (add_objc_string): here when creating a new string decl.
+ (finish_objc): Don't call generate_strings.
+
+2005-08-31 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR objc/23381
+ * objc-act.c (next_sjlj_build_try_catch_finally): Set
+ TREE_SIDE_EFFECTS on catch_seq after building it.
+
+2005-08-09 Andrew Pinski <pinskia@physics.uc.edu>
+
+ part of PR objc/21992
+ * objc-act.c (handle_class_ref): The ref decl is always referenced.
+
2005-07-20 Giovanni Bajo <giovannibajo@libero.it>
Make CONSTRUCTOR use VEC to store initializers.
diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c
index d004fb5eb04..f5a8441b312 100644
--- a/gcc/objc/objc-act.c
+++ b/gcc/objc/objc-act.c
@@ -2448,60 +2448,6 @@ generate_static_references (void)
finish_var_decl (static_instances_decl, expr);
}
-/* Output all strings. */
-
-static void
-generate_strings (void)
-{
- tree chain, string_expr;
- tree string, decl, type;
-
- for (chain = class_names_chain; chain; chain = TREE_CHAIN (chain))
- {
- string = TREE_VALUE (chain);
- decl = TREE_PURPOSE (chain);
- type = build_array_type
- (char_type_node,
- build_index_type
- (build_int_cst (NULL_TREE,
- IDENTIFIER_LENGTH (string))));
- decl = start_var_decl (type, IDENTIFIER_POINTER (DECL_NAME (decl)));
- string_expr = my_build_string (IDENTIFIER_LENGTH (string) + 1,
- IDENTIFIER_POINTER (string));
- finish_var_decl (decl, string_expr);
- }
-
- for (chain = meth_var_names_chain; chain; chain = TREE_CHAIN (chain))
- {
- string = TREE_VALUE (chain);
- decl = TREE_PURPOSE (chain);
- type = build_array_type
- (char_type_node,
- build_index_type
- (build_int_cst (NULL_TREE,
- IDENTIFIER_LENGTH (string))));
- decl = start_var_decl (type, IDENTIFIER_POINTER (DECL_NAME (decl)));
- string_expr = my_build_string (IDENTIFIER_LENGTH (string) + 1,
- IDENTIFIER_POINTER (string));
- finish_var_decl (decl, string_expr);
- }
-
- for (chain = meth_var_types_chain; chain; chain = TREE_CHAIN (chain))
- {
- string = TREE_VALUE (chain);
- decl = TREE_PURPOSE (chain);
- type = build_array_type
- (char_type_node,
- build_index_type
- (build_int_cst (NULL_TREE,
- IDENTIFIER_LENGTH (string))));
- decl = start_var_decl (type, IDENTIFIER_POINTER (DECL_NAME (decl)));
- string_expr = my_build_string (IDENTIFIER_LENGTH (string) + 1,
- IDENTIFIER_POINTER (string));
- finish_var_decl (decl, string_expr);
- }
-}
-
static GTY(()) int selector_reference_idx;
static tree
@@ -2820,7 +2766,7 @@ objc_get_class_reference (tree ident)
static tree
add_objc_string (tree ident, enum string_section section)
{
- tree *chain, decl;
+ tree *chain, decl, type, string_expr;
if (section == class_names)
chain = &class_names_chain;
@@ -2841,6 +2787,16 @@ add_objc_string (tree ident, enum string_section section)
}
decl = build_objc_string_decl (section);
+
+ type = build_array_type
+ (char_type_node,
+ build_index_type
+ (build_int_cst (NULL_TREE,
+ IDENTIFIER_LENGTH (ident))));
+ decl = start_var_decl (type, IDENTIFIER_POINTER (DECL_NAME (decl)));
+ string_expr = my_build_string (IDENTIFIER_LENGTH (ident) + 1,
+ IDENTIFIER_POINTER (ident));
+ finish_var_decl (decl, string_expr);
*chain = tree_cons (decl, ident, NULL_TREE);
@@ -3727,6 +3683,7 @@ next_sjlj_build_try_catch_finally (void)
{
tree caught_decl = objc_build_exc_ptr ();
catch_seq = build_stmt (BIND_EXPR, caught_decl, NULL, NULL);
+ TREE_SIDE_EFFECTS (catch_seq) = 1;
t = next_sjlj_build_exc_extract (caught_decl);
append_to_statement_list (t, &BIND_EXPR_BODY (catch_seq));
@@ -9225,10 +9182,6 @@ finish_objc (void)
for (impent = imp_list; impent; impent = impent->next)
handle_impent (impent);
- /* Dump the string table last. */
-
- generate_strings ();
-
if (warn_selector)
{
int slot;
@@ -9303,6 +9256,8 @@ handle_class_ref (tree chain)
DECL_INITIAL (decl) = exp;
TREE_STATIC (decl) = 1;
TREE_USED (decl) = 1;
+ /* Force the output of the decl as this forces the reference of the class. */
+ mark_decl_referenced (decl);
pushdecl (decl);
rest_of_decl_compilation (decl, 0, 0);
diff --git a/gcc/optabs.c b/gcc/optabs.c
index 2f981abf19b..f2df3de54ea 100644
--- a/gcc/optabs.c
+++ b/gcc/optabs.c
@@ -59,7 +59,7 @@ optab optab_table[OTI_MAX];
rtx libfunc_table[LTI_MAX];
/* Tables of patterns for converting one mode to another. */
-convert_optab convert_optab_table[CTI_MAX];
+convert_optab convert_optab_table[COI_MAX];
/* Contains the optab used for each rtx code. */
optab code_to_optab[NUM_RTX_CODE + 1];
@@ -349,8 +349,8 @@ optab_for_tree_code (enum tree_code code, tree type)
this may or may not be TARGET. */
rtx
-expand_ternary_op (enum machine_mode mode, optab ternary_optab, rtx op0,
- rtx op1, rtx op2, rtx target, int unsignedp)
+expand_ternary_op (enum machine_mode mode, optab ternary_optab, rtx op0,
+ rtx op1, rtx op2, rtx target, int unsignedp)
{
int icode = (int) ternary_optab->handlers[(int) mode].insn_code;
enum machine_mode mode0 = insn_data[icode].operand[1].mode;
@@ -377,7 +377,7 @@ expand_ternary_op (enum machine_mode mode, optab ternary_optab, rtx op0,
if (GET_MODE (op0) != mode0 && mode0 != VOIDmode)
xop0 = convert_modes (mode0,
GET_MODE (op0) != VOIDmode
- ? GET_MODE (op0)
+ ? GET_MODE (op0)
: mode,
xop0, unsignedp);
@@ -397,23 +397,23 @@ expand_ternary_op (enum machine_mode mode, optab ternary_optab, rtx op0,
/* Now, if insn's predicates don't allow our operands, put them into
pseudo regs. */
-
+
if (!insn_data[icode].operand[1].predicate (xop0, mode0)
- && mode0 != VOIDmode)
+ && mode0 != VOIDmode)
xop0 = copy_to_mode_reg (mode0, xop0);
-
+
if (!insn_data[icode].operand[2].predicate (xop1, mode1)
&& mode1 != VOIDmode)
xop1 = copy_to_mode_reg (mode1, xop1);
-
+
if (!insn_data[icode].operand[3].predicate (xop2, mode2)
&& mode2 != VOIDmode)
xop2 = copy_to_mode_reg (mode2, xop2);
-
+
pat = GEN_FCN (icode) (temp, xop0, xop1, xop2);
-
+
emit_insn (pat);
- return temp;
+ return temp;
}
@@ -1184,7 +1184,9 @@ expand_binop (enum machine_mode mode, optab binoptab, rtx op0, rtx op1,
if (temp != 0)
{
- if (GET_MODE_CLASS (mode) == MODE_INT)
+ if (GET_MODE_CLASS (mode) == MODE_INT
+ && TRULY_NOOP_TRUNCATION (GET_MODE_BITSIZE (mode),
+ GET_MODE_BITSIZE (GET_MODE (temp))))
return gen_lowpart (mode, temp);
else
return convert_to_mode (mode, temp, unsignedp);
@@ -1231,7 +1233,9 @@ expand_binop (enum machine_mode mode, optab binoptab, rtx op0, rtx op1,
unsignedp, OPTAB_DIRECT);
if (temp)
{
- if (class != MODE_INT)
+ if (class != MODE_INT
+ || !TRULY_NOOP_TRUNCATION (GET_MODE_BITSIZE (mode),
+ GET_MODE_BITSIZE (wider_mode)))
{
if (target == 0)
target = gen_reg_rtx (mode);
@@ -1759,7 +1763,9 @@ expand_binop (enum machine_mode mode, optab binoptab, rtx op0, rtx op1,
unsignedp, methods);
if (temp)
{
- if (class != MODE_INT)
+ if (class != MODE_INT
+ || !TRULY_NOOP_TRUNCATION (GET_MODE_BITSIZE (mode),
+ GET_MODE_BITSIZE (wider_mode)))
{
if (target == 0)
target = gen_reg_rtx (mode);
@@ -2186,7 +2192,7 @@ expand_parity (enum machine_mode mode, rtx op0, rtx target)
return 0;
}
-/* Extract the OMODE lowpart from VAL, which has IMODE. Under certain
+/* Extract the OMODE lowpart from VAL, which has IMODE. Under certain
conditions, VAL may already be a SUBREG against which we cannot generate
a further SUBREG. In this case, we expect forcing the value into a
register will work around the situation. */
@@ -2276,7 +2282,7 @@ expand_absneg_bit (enum rtx_code code, enum machine_mode mode,
{
rtx targ_piece = operand_subword (target, i, 1, mode);
rtx op0_piece = operand_subword_force (op0, i, mode);
-
+
if (i == word)
{
temp = expand_binop (imode, code == ABS ? and_optab : xor_optab,
@@ -2848,7 +2854,7 @@ expand_copysign_bit (enum machine_mode mode, rtx op0, rtx op1, rtx target,
{
rtx targ_piece = operand_subword (target, i, 1, mode);
rtx op0_piece = operand_subword_force (op0, i, mode);
-
+
if (i == word)
{
if (!op0_is_abs)
@@ -2895,7 +2901,7 @@ expand_copysign_bit (enum machine_mode mode, rtx op0, rtx op1, rtx target,
return target;
}
-/* Expand the C99 copysign operation. OP0 and OP1 must be the same
+/* Expand the C99 copysign operation. OP0 and OP1 must be the same
scalar floating point mode. Return NULL if we do not know how to
expand the operation inline. */
@@ -5276,7 +5282,7 @@ debug_optab_libfuncs (void)
}
/* Dump the conversion optabs. */
- for (i = 0; i < (int) CTI_MAX; ++i)
+ for (i = 0; i < (int) COI_MAX; ++i)
for (j = 0; j < NUM_MACHINE_MODES; ++j)
for (k = 0; k < NUM_MACHINE_MODES; ++k)
{
@@ -5371,7 +5377,7 @@ get_rtx_code (enum tree_code tcode, bool unsignedp)
case GE_EXPR:
code = unsignedp ? GEU : GE;
break;
-
+
case UNORDERED_EXPR:
code = UNORDERED;
break;
@@ -5417,10 +5423,10 @@ vector_compare_rtx (tree cond, bool unsignedp, enum insn_code icode)
ensures that condition is a relational operation. */
gcc_assert (COMPARISON_CLASS_P (cond));
- rcode = get_rtx_code (TREE_CODE (cond), unsignedp);
+ rcode = get_rtx_code (TREE_CODE (cond), unsignedp);
t_op0 = TREE_OPERAND (cond, 0);
t_op1 = TREE_OPERAND (cond, 1);
-
+
/* Expand operands. */
rtx_op0 = expand_expr (t_op0, NULL_RTX, TYPE_MODE (TREE_TYPE (t_op0)), 1);
rtx_op1 = expand_expr (t_op1, NULL_RTX, TYPE_MODE (TREE_TYPE (t_op1)), 1);
@@ -5428,7 +5434,7 @@ vector_compare_rtx (tree cond, bool unsignedp, enum insn_code icode)
if (!insn_data[icode].operand[4].predicate (rtx_op0, GET_MODE (rtx_op0))
&& GET_MODE (rtx_op0) != VOIDmode)
rtx_op0 = force_reg (GET_MODE (rtx_op0), rtx_op0);
-
+
if (!insn_data[icode].operand[5].predicate (rtx_op1, GET_MODE (rtx_op1))
&& GET_MODE (rtx_op1) != VOIDmode)
rtx_op1 = force_reg (GET_MODE (rtx_op1), rtx_op1);
@@ -5437,8 +5443,8 @@ vector_compare_rtx (tree cond, bool unsignedp, enum insn_code icode)
}
/* Return insn code for VEC_COND_EXPR EXPR. */
-
-static inline enum insn_code
+
+static inline enum insn_code
get_vcond_icode (tree expr, enum machine_mode mode)
{
enum insn_code icode = CODE_FOR_nothing;
@@ -5475,11 +5481,11 @@ expand_vec_cond_expr (tree vec_cond_expr, rtx target)
if (icode == CODE_FOR_nothing)
return 0;
- if (!target)
+ if (!target || !insn_data[icode].operand[0].predicate (target, mode))
target = gen_reg_rtx (mode);
/* Get comparison rtx. First expand both cond expr operands. */
- comparison = vector_compare_rtx (TREE_OPERAND (vec_cond_expr, 0),
+ comparison = vector_compare_rtx (TREE_OPERAND (vec_cond_expr, 0),
unsignedp, icode);
cc_op0 = XEXP (comparison, 0);
cc_op1 = XEXP (comparison, 1);
@@ -5497,7 +5503,7 @@ expand_vec_cond_expr (tree vec_cond_expr, rtx target)
rtx_op2 = force_reg (mode, rtx_op2);
/* Emit instruction! */
- emit_insn (GEN_FCN (icode) (target, rtx_op1, rtx_op2,
+ emit_insn (GEN_FCN (icode) (target, rtx_op1, rtx_op2,
comparison, cc_op0, cc_op1));
return target;
@@ -5623,8 +5629,8 @@ expand_bool_compare_and_swap (rtx mem, rtx old_val, rtx new_val, rtx target)
}
}
- /* Without an appropriate setcc instruction, use a set of branches to
- get 1 and 0 stored into target. Presumably if the target has a
+ /* Without an appropriate setcc instruction, use a set of branches to
+ get 1 and 0 stored into target. Presumably if the target has a
STORE_FLAG_VALUE that isn't 1, then this will get cleaned up by ifcvt. */
label0 = gen_label_rtx ();
@@ -5717,7 +5723,7 @@ expand_compare_and_swap_loop (rtx mem, rtx old_reg, rtx new_reg, rtx seq)
}
/* This function generates the atomic operation MEM CODE= VAL. In this
- case, we do not care about any resulting value. Returns NULL if we
+ case, we do not care about any resulting value. Returns NULL if we
cannot generate the operation. */
rtx
@@ -5770,7 +5776,7 @@ expand_sync_operation (rtx mem, rtx val, enum rtx_code code)
val = convert_modes (mode, GET_MODE (val), val, 1);
if (!insn_data[icode].operand[1].predicate (val, mode))
val = force_reg (mode, val);
-
+
insn = GEN_FCN (icode) (mem, val);
if (insn)
{
@@ -5808,7 +5814,7 @@ expand_sync_operation (rtx mem, rtx val, enum rtx_code code)
/* This function generates the atomic operation MEM CODE= VAL. In this
case, we do care about the resulting value: if AFTER is true then
- return the value MEM holds after the operation, if AFTER is false
+ return the value MEM holds after the operation, if AFTER is false
then return the value MEM holds before the operation. TARGET is an
optional place for the result value to be stored. */
@@ -5903,7 +5909,7 @@ expand_sync_fetch_operation (rtx mem, rtx val, enum rtx_code code,
val = convert_modes (mode, GET_MODE (val), val, 1);
if (!insn_data[icode].operand[2].predicate (val, mode))
val = force_reg (mode, val);
-
+
insn = GEN_FCN (icode) (target, mem, val);
if (insn)
{
@@ -5968,7 +5974,7 @@ expand_sync_fetch_operation (rtx mem, rtx val, enum rtx_code code,
/* This function expands a test-and-set operation. Ideally we atomically
store VAL in MEM and return the previous value in MEM. Some targets
may not support this operation and only support VAL with the constant 1;
- in this case while the return value will be 0/1, but the exact value
+ in this case while the return value will be 0/1, but the exact value
stored in MEM is target defined. TARGET is an option place to stick
the return value. */
diff --git a/gcc/optabs.h b/gcc/optabs.h
index 71f198abf58..582684f4038 100644
--- a/gcc/optabs.h
+++ b/gcc/optabs.h
@@ -377,33 +377,33 @@ extern GTY(()) optab optab_table[OTI_MAX];
/* Conversion optabs have their own table and indexes. */
enum convert_optab_index
{
- CTI_sext,
- CTI_zext,
- CTI_trunc,
+ COI_sext,
+ COI_zext,
+ COI_trunc,
- CTI_sfix,
- CTI_ufix,
+ COI_sfix,
+ COI_ufix,
- CTI_sfixtrunc,
- CTI_ufixtrunc,
+ COI_sfixtrunc,
+ COI_ufixtrunc,
- CTI_sfloat,
- CTI_ufloat,
+ COI_sfloat,
+ COI_ufloat,
- CTI_MAX
+ COI_MAX
};
-extern GTY(()) convert_optab convert_optab_table[CTI_MAX];
+extern GTY(()) convert_optab convert_optab_table[COI_MAX];
-#define sext_optab (convert_optab_table[CTI_sext])
-#define zext_optab (convert_optab_table[CTI_zext])
-#define trunc_optab (convert_optab_table[CTI_trunc])
-#define sfix_optab (convert_optab_table[CTI_sfix])
-#define ufix_optab (convert_optab_table[CTI_ufix])
-#define sfixtrunc_optab (convert_optab_table[CTI_sfixtrunc])
-#define ufixtrunc_optab (convert_optab_table[CTI_ufixtrunc])
-#define sfloat_optab (convert_optab_table[CTI_sfloat])
-#define ufloat_optab (convert_optab_table[CTI_ufloat])
+#define sext_optab (convert_optab_table[COI_sext])
+#define zext_optab (convert_optab_table[COI_zext])
+#define trunc_optab (convert_optab_table[COI_trunc])
+#define sfix_optab (convert_optab_table[COI_sfix])
+#define ufix_optab (convert_optab_table[COI_ufix])
+#define sfixtrunc_optab (convert_optab_table[COI_sfixtrunc])
+#define ufixtrunc_optab (convert_optab_table[COI_ufixtrunc])
+#define sfloat_optab (convert_optab_table[COI_sfloat])
+#define ufloat_optab (convert_optab_table[COI_ufloat])
/* These arrays record the insn_code of insns that may be needed to
perform input and output reloads of special objects. They provide a
@@ -492,8 +492,8 @@ extern enum insn_code sync_lock_release[NUM_MACHINE_MODES];
/* Define functions given in optabs.c. */
-extern rtx expand_ternary_op (enum machine_mode mode, optab ternary_optab,
- rtx op0, rtx op1, rtx op2, rtx target,
+extern rtx expand_ternary_op (enum machine_mode mode, optab ternary_optab,
+ rtx op0, rtx op1, rtx op2, rtx target,
int unsignedp);
/* Expand a binary operation given optab and rtx operands. */
diff --git a/gcc/opts.c b/gcc/opts.c
index 0dc3fd0541d..541f75bfb1e 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -94,8 +94,8 @@ static const char undocumented_msg[] = N_("This switch lacks documentation");
static bool profile_arc_flag_set, flag_profile_values_set;
static bool flag_unroll_loops_set, flag_tracer_set;
static bool flag_value_profile_transformations_set;
-bool flag_speculative_prefetching_set;
static bool flag_peel_loops_set, flag_branch_probabilities_set;
+static bool flag_loop_optimize_set;
/* Input file names. */
const char **in_fnames;
@@ -806,6 +806,10 @@ common_handle_option (size_t scode, const char *arg, int value)
flag_branch_probabilities_set = true;
break;
+ case OPT_floop_optimize:
+ flag_loop_optimize_set = true;
+ break;
+
case OPT_fcall_used_:
fix_register (arg, 0, 1);
break;
@@ -882,10 +886,9 @@ common_handle_option (size_t scode, const char *arg, int value)
flag_tracer = value;
if (!flag_value_profile_transformations_set)
flag_value_profile_transformations = value;
-#ifdef HAVE_prefetch
- if (0 && !flag_speculative_prefetching_set)
- flag_speculative_prefetching = value;
-#endif
+ /* Old loop optimizer is incompatible with tree profiling. */
+ if (!flag_loop_optimize_set)
+ flag_loop_optimize = 0;
break;
case OPT_fprofile_generate:
@@ -895,12 +898,6 @@ common_handle_option (size_t scode, const char *arg, int value)
flag_profile_values = value;
if (!flag_value_profile_transformations_set)
flag_value_profile_transformations = value;
- if (!flag_unroll_loops_set)
- flag_unroll_loops = value;
-#ifdef HAVE_prefetch
- if (0 && !flag_speculative_prefetching_set)
- flag_speculative_prefetching = value;
-#endif
break;
case OPT_fprofile_values:
@@ -926,10 +923,6 @@ common_handle_option (size_t scode, const char *arg, int value)
flag_value_profile_transformations_set = true;
break;
- case OPT_fspeculative_prefetching:
- flag_speculative_prefetching_set = true;
- break;
-
case OPT_frandom_seed:
/* The real switch is -fno-random-seed. */
if (value)
diff --git a/gcc/output.h b/gcc/output.h
index 221e4df1850..c0dfb5fd1c4 100644
--- a/gcc/output.h
+++ b/gcc/output.h
@@ -500,6 +500,44 @@ extern void no_asm_to_stream (FILE *);
#define SECTION_NOTYPE 0x80000 /* don't output @progbits */
#define SECTION_MACH_DEP 0x100000 /* subsequent bits reserved for target */
+/* A helper function for default_elf_select_section and
+ default_elf_unique_section. Categorizes the DECL. */
+
+enum section_category
+{
+ SECCAT_TEXT,
+
+ SECCAT_RODATA,
+ SECCAT_RODATA_MERGE_STR,
+ SECCAT_RODATA_MERGE_STR_INIT,
+ SECCAT_RODATA_MERGE_CONST,
+ SECCAT_SRODATA,
+
+ SECCAT_DATA,
+
+ /* To optimize loading of shared programs, define following subsections
+ of data section:
+ _REL Contains data that has relocations, so they get grouped
+ together and dynamic linker will visit fewer pages in memory.
+ _RO Contains data that is otherwise read-only. This is useful
+ with prelinking as most relocations won't be dynamically
+ linked and thus stay read only.
+ _LOCAL Marks data containing relocations only to local objects.
+ These relocations will get fully resolved by prelinking. */
+ SECCAT_DATA_REL,
+ SECCAT_DATA_REL_LOCAL,
+ SECCAT_DATA_REL_RO,
+ SECCAT_DATA_REL_RO_LOCAL,
+
+ SECCAT_SDATA,
+ SECCAT_TDATA,
+
+ SECCAT_BSS,
+ SECCAT_SBSS,
+ SECCAT_TBSS
+};
+
+
extern bool set_named_section_flags (const char *, unsigned int);
#define named_section_flags(NAME, FLAGS) \
named_section_real((NAME), (FLAGS), /*decl=*/NULL_TREE)
@@ -510,6 +548,7 @@ extern unsigned int default_section_type_flags_1 (tree, const char *, int, int);
extern void default_no_named_section (const char *, unsigned int, tree);
extern void default_elf_asm_named_section (const char *, unsigned int, tree);
+extern enum section_category categorize_decl_for_section (tree, int, int);
extern void default_coff_asm_named_section (const char *, unsigned int, tree);
extern void default_pe_asm_named_section (const char *, unsigned int, tree);
diff --git a/gcc/params.def b/gcc/params.def
index 1428b480068..a777efa2e1d 100644
--- a/gcc/params.def
+++ b/gcc/params.def
@@ -22,7 +22,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
*/
/* This file contains definitions for language-independent
- parameters. The DEFPARAM macro takes 4 arguments:
+ parameters. The DEFPARAM macro takes 6 arguments:
- The enumeral corresponding to this parameter.
@@ -33,6 +33,11 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
- A default value for the parameter.
+ - The minimum acceptable value for the parameter.
+
+ - The maximum acceptable value for the parameter (if greater than
+ the minimum).
+
Be sure to add an entry to invoke.texi summarizing the parameter. */
/* The maximum number of fields in a variable with only implicit uses
@@ -49,14 +54,25 @@ DEFPARAM (PARAM_SALIAS_MAX_IMPLICIT_FIELDS,
itself. */
DEFPARAM (PARAM_SRA_MAX_STRUCTURE_SIZE,
"sra-max-structure-size",
- "The maximum structure size (in bytes) at which GCC will do block copies",
+ "The maximum structure size (in bytes) for which GCC will "
+ "use by-element copies",
+ 0, 0, 0)
+
+/* The maximum number of structure fields which the SRA pass will
+ instantiate to avoid block copies. The default value, 0, implies
+ that GCC will select the appropriate value itself. */
+DEFPARAM (PARAM_SRA_MAX_STRUCTURE_COUNT,
+ "sra-max-structure-count",
+ "The maximum number of structure fields for which GCC will "
+ "use by-element copies",
0, 0, 0)
/* The ratio between instantiated fields and the complete structure
size. We say that if the ratio of the number of bytes in
instantiated fields to the number of bytes in the complete
- structure exceeds this parameter, then block copies are not used.
- The default is 75%. */
+ structure exceeds this parameter, or if the number of instantiated
+ fields to the total number of fields exceeds this parameter, then
+ block copies are not used. The default is 75%. */
DEFPARAM (PARAM_SRA_FIELD_STRUCTURE_RATIO,
"sra-field-structure-ratio",
"The threshold ratio between instantiated fields and the total structure size",
@@ -111,6 +127,11 @@ DEFPARAM (PARAM_MAX_INLINE_RECURSIVE_DEPTH_AUTO,
"The maximum depth of recursive inlining for non-inline functions",
8, 0, 0)
+DEFPARAM (PARAM_MIN_INLINE_RECURSIVE_PROBABILITY,
+ "min-inline-recursive-probability",
+ "Inline recursively only when the probability of call being executed exceeds the parameter",
+ 10, 0, 0)
+
/* Limit the number of expansions created by the variable expansion
optimization to avoid register pressure. */
DEFPARAM (PARAM_MAX_VARIABLE_EXPANSIONS,
@@ -430,6 +451,11 @@ DEFPARAM(PARAM_MAX_SCHED_REGION_INSNS,
"The maximum number of insns in a region to be considered for interblock scheduling",
100, 0, 0)
+DEFPARAM(PARAM_MIN_SPEC_PROB,
+ "min-spec-prob",
+ "The minimum probability of reaching a source block for interblock speculative scheduling",
+ 40, 0, 0)
+
DEFPARAM(PARAM_MAX_LAST_VALUE_RTL,
"max-last-value-rtl",
"The maximum number of RTL nodes that can be recorded as combiner's last value",
diff --git a/gcc/params.h b/gcc/params.h
index 7edcb9817be..6c9f7d6cca3 100644
--- a/gcc/params.h
+++ b/gcc/params.h
@@ -93,6 +93,8 @@ typedef enum compiler_param
PARAM_VALUE (PARAM_SALIAS_MAX_IMPLICIT_FIELDS)
#define SRA_MAX_STRUCTURE_SIZE \
PARAM_VALUE (PARAM_SRA_MAX_STRUCTURE_SIZE)
+#define SRA_MAX_STRUCTURE_COUNT \
+ PARAM_VALUE (PARAM_SRA_MAX_STRUCTURE_COUNT)
#define SRA_FIELD_STRUCTURE_RATIO \
PARAM_VALUE (PARAM_SRA_FIELD_STRUCTURE_RATIO)
#define MAX_INLINE_INSNS_SINGLE \
diff --git a/gcc/passes.c b/gcc/passes.c
index ee060f5960e..6728e105c96 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -175,7 +175,10 @@ rest_of_decl_compilation (tree decl,
timevar_pop (TV_VARCONST);
}
- else if (TREE_CODE (decl) == TYPE_DECL)
+ else if (TREE_CODE (decl) == TYPE_DECL
+ /* Like in rest_of_type_compilation, avoid confusing the debug
+ information machinery when there are errors. */
+ && !(sorrycount || errorcount))
{
timevar_push (TV_SYMOUT);
debug_hooks->type_decl (decl, !top_level);
@@ -234,12 +237,12 @@ finish_optimization_passes (void)
if (graph_dump_format != no_graph)
for (i = TDI_end; (dfi = get_dump_file_info (i)) != NULL; ++i)
if (dump_initialized_p (i)
- && (dfi->flags & TDF_RTL) != 0
+ && (dfi->flags & TDF_GRAPH) != 0
&& (name = get_dump_file_name (i)) != NULL)
- {
- finish_graph_dump_file (name);
- free (name);
- }
+ {
+ finish_graph_dump_file (name);
+ free (name);
+ }
timevar_pop (TV_DUMP);
}
@@ -430,6 +433,7 @@ init_optimization_passes (void)
p = &all_ipa_passes;
NEXT_PASS (pass_early_ipa_inline);
NEXT_PASS (pass_early_local_passes);
+ NEXT_PASS (pass_ipa_cp);
NEXT_PASS (pass_ipa_inline);
NEXT_PASS (pass_ipa_reference);
NEXT_PASS (pass_ipa_pure_const);
@@ -597,7 +601,7 @@ init_optimization_passes (void)
NEXT_PASS (pass_loop_optimize);
NEXT_PASS (pass_jump_bypass);
NEXT_PASS (pass_cfg);
- NEXT_PASS (pass_profiling);
+ NEXT_PASS (pass_branch_prob);
NEXT_PASS (pass_rtl_ifcvt);
NEXT_PASS (pass_tracer);
/* Perform loop optimizations. It might be better to do them a bit
@@ -621,12 +625,6 @@ init_optimization_passes (void)
NEXT_PASS (pass_postreload);
*p = NULL;
- p = &pass_profiling.sub;
- NEXT_PASS (pass_branch_prob);
- NEXT_PASS (pass_value_profile_transformations);
- NEXT_PASS (pass_remove_death_notes);
- *p = NULL;
-
p = &pass_postreload.sub;
NEXT_PASS (pass_postreload_cse);
NEXT_PASS (pass_gcse2);
@@ -686,6 +684,15 @@ execute_todo (struct tree_opt_pass *pass, unsigned int flags, bool use_required)
cleanup_tree_cfg_loop ();
else
cleanup_tree_cfg ();
+
+ /* When cleanup_tree_cfg merges consecutive blocks, it may
+ perform some simplistic propagation when removing single
+ valued PHI nodes. This propagation may, in turn, cause the
+ SSA form to become out-of-date (see PR 22037). So, even
+ if the parent pass had not scheduled an SSA update, we may
+ still need to do one. */
+ if (!(flags & TODO_update_ssa_any) && need_ssa_update_p ())
+ flags |= TODO_update_ssa;
}
if (flags & TODO_update_ssa_any)
@@ -701,7 +708,13 @@ execute_todo (struct tree_opt_pass *pass, unsigned int flags, bool use_required)
dump_function_to_file (current_function_decl,
dump_file, dump_flags);
else if (properties & PROP_cfg)
- print_rtl_with_bb (dump_file, get_insns ());
+ {
+ print_rtl_with_bb (dump_file, get_insns ());
+
+ if (graph_dump_format != no_graph
+ && (dump_flags & TDF_GRAPH))
+ print_rtl_graph_with_bb (dump_file_name, get_insns ());
+ }
else
print_rtl (dump_file, get_insns ());
@@ -775,10 +788,15 @@ execute_one_pass (struct tree_opt_pass *pass)
}
if (initializing_dump
- && graph_dump_format != no_graph
+ && dump_file
+ && graph_dump_format != no_graph
&& (pass->properties_provided & (PROP_cfg | PROP_rtl))
== (PROP_cfg | PROP_rtl))
- clean_graph_dump_file (dump_file_name);
+ {
+ get_dump_file_info (pass->static_pass_number)->flags |= TDF_GRAPH;
+ dump_flags |= TDF_GRAPH;
+ clean_graph_dump_file (dump_file_name);
+ }
}
/* If a timevar is present, start it. */
diff --git a/gcc/postreload-gcse.c b/gcc/postreload-gcse.c
index a0334ab8077..ea9c0ef7436 100644
--- a/gcc/postreload-gcse.c
+++ b/gcc/postreload-gcse.c
@@ -745,6 +745,12 @@ hash_scan_set (rtx insn)
can_copy_p (GET_MODE (dest))
/* Is SET_SRC something we want to gcse? */
&& general_operand (src, GET_MODE (src))
+#ifdef STACK_REGS
+ /* Never consider insns touching the register stack. It may
+ create situations that reg-stack cannot handle (e.g. a stack
+ register live across an abnormal edge). */
+ && (REGNO (dest) < FIRST_STACK_REG || REGNO (dest) > LAST_STACK_REG)
+#endif
/* An expression is not available if its operands are
subsequently modified, including this insn. */
&& oprs_unchanged_p (src, insn, true))
@@ -759,6 +765,10 @@ hash_scan_set (rtx insn)
can_copy_p (GET_MODE (src))
/* Is SET_DEST something we want to gcse? */
&& general_operand (dest, GET_MODE (dest))
+#ifdef STACK_REGS
+ /* As above for STACK_REGS. */
+ && (REGNO (src) < FIRST_STACK_REG || REGNO (src) > LAST_STACK_REG)
+#endif
&& ! (flag_float_store && FLOAT_MODE_P (GET_MODE (dest)))
/* Check if the memory expression is killed after insn. */
&& ! load_killed_in_block_p (INSN_CUID (insn) + 1, dest, true)
diff --git a/gcc/predict.c b/gcc/predict.c
index 9fc8f4501cc..412af8616e7 100644
--- a/gcc/predict.c
+++ b/gcc/predict.c
@@ -1557,11 +1557,11 @@ typedef struct block_info_def
/* Similar information for edges. */
typedef struct edge_info_def
{
- /* In case edge is an loopback edge, the probability edge will be reached
+ /* In case edge is a loopback edge, the probability edge will be reached
in case header is. Estimated number of iterations of the loop can be
then computed as 1 / (1 - back_edge_prob). */
sreal back_edge_prob;
- /* True if the edge is an loopback edge in the natural loop. */
+ /* True if the edge is a loopback edge in the natural loop. */
unsigned int back_edge:1;
} *edge_info;
diff --git a/gcc/predict.def b/gcc/predict.def
index a6fcb730ef3..997f4d2cc98 100644
--- a/gcc/predict.def
+++ b/gcc/predict.def
@@ -41,7 +41,7 @@ DEF_PREDICTOR (PRED_COMBINED, "combined", PROB_ALWAYS, 0)
/* An outcome estimated by Dempster-Shaffer theory. */
DEF_PREDICTOR (PRED_DS_THEORY, "DS theory", PROB_ALWAYS, 0)
-/* An combined heuristics using probability determined by first
+/* A combined heuristics using probability determined by first
matching heuristics from this list. */
DEF_PREDICTOR (PRED_FIRST_MATCH, "first match", PROB_ALWAYS, 0)
diff --git a/gcc/pretty-print.h b/gcc/pretty-print.h
index b587e600882..b2c6772b7c0 100644
--- a/gcc/pretty-print.h
+++ b/gcc/pretty-print.h
@@ -269,6 +269,8 @@ struct pretty_print_info
#define pp_decimal_int(PP, I) pp_scalar (PP, "%d", I)
#define pp_wide_integer(PP, I) \
pp_scalar (PP, HOST_WIDE_INT_PRINT_DEC, (HOST_WIDE_INT) I)
+#define pp_widest_integer(PP, I) \
+ pp_scalar (PP, HOST_WIDEST_INT_PRINT_DEC, (HOST_WIDEST_INT) I)
#define pp_pointer(PP, P) pp_scalar (PP, "%p", P)
#define pp_identifier(PP, ID) pp_string (PP, ID)
diff --git a/gcc/print-rtl.c b/gcc/print-rtl.c
index 07bfff92147..73e3710cea2 100644
--- a/gcc/print-rtl.c
+++ b/gcc/print-rtl.c
@@ -287,7 +287,7 @@ print_rtx (rtx in_rtx)
if (flag_dump_unnumbered)
fprintf (outfile, "#");
else
- fprintf (outfile, HOST_PTR_PRINTF,
+ fprintf (outfile, "%p",
(char *) NOTE_BLOCK (in_rtx));
sawclose = 1;
break;
@@ -539,7 +539,7 @@ print_rtx (rtx in_rtx)
break;
case 't':
- fprintf (outfile, " " HOST_PTR_PRINTF, (void *) XTREE (in_rtx, i));
+ fprintf (outfile, " %p", (void *) XTREE (in_rtx, i));
break;
case '*':
diff --git a/gcc/print-tree.c b/gcc/print-tree.c
index 954ee2d6a9c..ddc370b40b6 100644
--- a/gcc/print-tree.c
+++ b/gcc/print-tree.c
@@ -73,7 +73,7 @@ print_node_brief (FILE *file, const char *prefix, tree node, int indent)
name if any. */
if (indent > 0)
fprintf (file, " ");
- fprintf (file, "%s <%s " HOST_PTR_PRINTF,
+ fprintf (file, "%s <%s %p",
prefix, tree_code_name[(int) TREE_CODE (node)], (char *) node);
if (class == tcc_declaration)
@@ -218,7 +218,7 @@ print_node (FILE *file, const char *prefix, tree node, int indent)
indent_to (file, indent);
/* Print the slot this node is in, and its code, and address. */
- fprintf (file, "%s <%s " HOST_PTR_PRINTF,
+ fprintf (file, "%s <%s %p",
prefix, tree_code_name[(int) TREE_CODE (node)], (void *) node);
/* Print the name, if any. */
@@ -495,7 +495,7 @@ print_node (FILE *file, const char *prefix, tree node, int indent)
&& DECL_STRUCT_FUNCTION (node) != 0)
{
indent_to (file, indent + 4);
- fprintf (file, "saved-insns " HOST_PTR_PRINTF,
+ fprintf (file, "saved-insns %p",
(void *) DECL_STRUCT_FUNCTION (node));
}
@@ -755,7 +755,7 @@ print_node (FILE *file, const char *prefix, tree node, int indent)
break;
case STATEMENT_LIST:
- fprintf (file, " head " HOST_PTR_PRINTF " tail " HOST_PTR_PRINTF " stmts",
+ fprintf (file, " head %p tail %p stmts",
(void *) node->stmt_list.head, (void *) node->stmt_list.tail);
{
tree_stmt_iterator i;
@@ -763,7 +763,7 @@ print_node (FILE *file, const char *prefix, tree node, int indent)
{
/* Not printing the addresses of the (not-a-tree)
'struct tree_stmt_list_node's. */
- fprintf (file, " " HOST_PTR_PRINTF, (void *)tsi_stmt (i));
+ fprintf (file, " %p", (void *)tsi_stmt (i));
}
fprintf (file, "\n");
for (i = tsi_start (node); !tsi_end_p (i); tsi_next (&i))
diff --git a/gcc/profile.c b/gcc/profile.c
index 1e0c3b87d93..1fc8aa58d50 100644
--- a/gcc/profile.c
+++ b/gcc/profile.c
@@ -651,14 +651,13 @@ compute_value_histograms (histogram_values values)
gcov_type *histogram_counts[GCOV_N_VALUE_COUNTERS];
gcov_type *act_count[GCOV_N_VALUE_COUNTERS];
gcov_type *aact_count;
- histogram_value hist;
for (t = 0; t < GCOV_N_VALUE_COUNTERS; t++)
n_histogram_counters[t] = 0;
for (i = 0; i < VEC_length (histogram_value, values); i++)
{
- hist = VEC_index (histogram_value, values, i);
+ histogram_value hist = VEC_index (histogram_value, values, i);
n_histogram_counters[(int) hist->type] += hist->n_counters;
}
@@ -683,37 +682,21 @@ compute_value_histograms (histogram_values values)
for (i = 0; i < VEC_length (histogram_value, values); i++)
{
- rtx hist_list = NULL_RTX;
+ histogram_value hist = VEC_index (histogram_value, values, i);
+ tree stmt = hist->hvalue.stmt;
+ stmt_ann_t ann = get_stmt_ann (stmt);
- hist = VEC_index (histogram_value, values, i);
t = (int) hist->type;
aact_count = act_count[t];
act_count[t] += hist->n_counters;
- if (!ir_type ())
- {
- for (j = hist->n_counters; j > 0; j--)
- hist_list = alloc_EXPR_LIST (0, GEN_INT (aact_count[j - 1]),
- hist_list);
- hist_list = alloc_EXPR_LIST (0,
- copy_rtx (hist->hvalue.rtl.value), hist_list);
- hist_list = alloc_EXPR_LIST (0, GEN_INT (hist->type), hist_list);
- REG_NOTES (hist->hvalue.rtl.insn) =
- alloc_EXPR_LIST (REG_VALUE_PROFILE, hist_list,
- REG_NOTES (hist->hvalue.rtl.insn));
- }
- else
- {
- tree stmt = hist->hvalue.tree.stmt;
- stmt_ann_t ann = get_stmt_ann (stmt);
- hist->hvalue.tree.next = ann->histograms;
- ann->histograms = hist;
- hist->hvalue.tree.counters =
- xmalloc (sizeof (gcov_type) * hist->n_counters);
- for (j = 0; j < hist->n_counters; j++)
- hist->hvalue.tree.counters[j] = aact_count[j];
- }
+ hist->hvalue.next = ann->histograms;
+ ann->histograms = hist;
+ hist->hvalue.counters =
+ xmalloc (sizeof (gcov_type) * hist->n_counters);
+ for (j = 0; j < hist->n_counters; j++)
+ hist->hvalue.counters[j] = aact_count[j];
}
for (t = 0; t < GCOV_N_VALUE_COUNTERS; t++)
@@ -823,6 +806,27 @@ branch_prob (void)
FOR_EACH_EDGE (e, ei, bb->succs)
{
+ tree last = last_stmt (bb);
+ /* Edge with goto locus might get wrong coverage info unless
+ it is the only edge out of BB.
+ Don't do that when the locuses match, so
+ if (blah) goto something;
+ is not computed twice. */
+ if (e->goto_locus && !single_succ_p (bb)
+#ifdef USE_MAPPED_LOCATION
+ && (LOCATION_FILE (e->goto_locus)
+ != LOCATION_FILE (EXPR_LOCATION (last))
+ || (LOCATION_LINE (e->goto_locus)
+ != LOCATION_LINE (EXPR_LOCATION (last)))))
+#else
+ && (e->goto_locus->file != EXPR_LOCUS (last)->file
+ || (e->goto_locus->line
+ != EXPR_LOCUS (last)->line)))
+#endif
+ {
+ basic_block new = split_edge (e);
+ single_succ_edge (new)->goto_locus = e->goto_locus;
+ }
if ((e->flags & (EDGE_ABNORMAL | EDGE_ABNORMAL_CALL))
&& e->dest != EXIT_BLOCK_PTR)
need_exit_edge = 1;
@@ -1324,55 +1328,13 @@ tree_register_profile_hooks (void)
profile_hooks = &tree_profile_hooks;
}
-/* Set up hooks to enable RTL-based profiling. */
-
-void
-rtl_register_profile_hooks (void)
-{
- gcc_assert (!ir_type ());
- profile_hooks = &rtl_profile_hooks;
-}
-static bool
-gate_handle_profiling (void)
-{
- return optimize > 0
- || (!flag_tree_based_profiling
- && (profile_arc_flag || flag_test_coverage
- || flag_branch_probabilities));
-}
-
-struct tree_opt_pass pass_profiling =
-{
- NULL, /* name */
- gate_handle_profiling, /* gate */
- NULL, /* execute */
- NULL, /* sub */
- NULL, /* next */
- 0, /* static_pass_number */
- 0, /* tv_id */
- 0, /* properties_required */
- 0, /* properties_provided */
- 0, /* properties_destroyed */
- 0, /* todo_flags_start */
- 0, /* todo_flags_finish */
- 0 /* letter */
-};
-
-
/* Do branch profiling and static profile estimation passes. */
static void
rest_of_handle_branch_prob (void)
{
struct loops loops;
- rtl_register_profile_hooks ();
- rtl_register_value_prof_hooks ();
-
- if ((profile_arc_flag || flag_test_coverage || flag_branch_probabilities)
- && !flag_tree_based_profiling)
- branch_prob ();
-
/* Discover and record the loop depth at the head of each basic
block. The loop infrastructure does the real job for us. */
flow_loops_find (&loops);
@@ -1382,8 +1344,7 @@ rest_of_handle_branch_prob (void)
/* Estimate using heuristics if no profiling info is available. */
if (flag_guess_branch_prob
- && (profile_status == PROFILE_ABSENT
- || (profile_status == PROFILE_READ && !flag_tree_based_profiling)))
+ && profile_status == PROFILE_ABSENT)
estimate_probability (&loops);
flow_loops_free (&loops);
diff --git a/gcc/read-rtl.c b/gcc/read-rtl.c
index 2835c264a2d..79f40508d3b 100644
--- a/gcc/read-rtl.c
+++ b/gcc/read-rtl.c
@@ -991,7 +991,7 @@ read_quoted_string (FILE *infile)
read_escape (infile);
continue;
}
- else if (c == '"')
+ else if (c == '"' || c == EOF)
break;
obstack_1grow (&string_obstack, c);
diff --git a/gcc/real.c b/gcc/real.c
index 9099f410f8d..2d261852106 100644
--- a/gcc/real.c
+++ b/gcc/real.c
@@ -1789,6 +1789,10 @@ real_from_string (REAL_VALUE_TYPE *r, const char *str)
|= (unsigned long) d << (pos % HOST_BITS_PER_LONG);
pos -= 4;
}
+ else if (d)
+ /* Ensure correct rounding by setting last bit if there is
+ a subsequent nonzero digit. */
+ r->sig[0] |= 1;
exp += 4;
str++;
}
@@ -1811,6 +1815,10 @@ real_from_string (REAL_VALUE_TYPE *r, const char *str)
|= (unsigned long) d << (pos % HOST_BITS_PER_LONG);
pos -= 4;
}
+ else if (d)
+ /* Ensure correct rounding by setting last bit if there is
+ a subsequent nonzero digit. */
+ r->sig[0] |= 1;
str++;
}
}
diff --git a/gcc/real.h b/gcc/real.h
index 95380930b65..23605639db9 100644
--- a/gcc/real.h
+++ b/gcc/real.h
@@ -364,7 +364,7 @@ REAL_VALUE_TYPE real_value_from_int_cst (tree, tree);
/* Given a CONST_DOUBLE in FROM, store into TO the value it represents. */
#define REAL_VALUE_FROM_CONST_DOUBLE(to, from) \
- memcpy (&(to), &CONST_DOUBLE_LOW ((from)), sizeof (REAL_VALUE_TYPE))
+ ((to) = *CONST_DOUBLE_REAL_VALUE (from))
/* Return a CONST_DOUBLE with value R and mode M. */
#define CONST_DOUBLE_FROM_REAL_VALUE(r, m) \
diff --git a/gcc/recog.c b/gcc/recog.c
index 8e6a62b6dd0..1b8394c47b4 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -2853,6 +2853,8 @@ struct peep2_insn_data
static struct peep2_insn_data peep2_insn_data[MAX_INSNS_PER_PEEP2 + 1];
static int peep2_current;
+/* The number of instructions available to match a peep2. */
+int peep2_current_count;
/* A non-insn marker indicating the last insn of the block.
The live_before regset for this element is correct, indicating
@@ -2866,14 +2868,12 @@ static int peep2_current;
rtx
peep2_next_insn (int n)
{
- gcc_assert (n < MAX_INSNS_PER_PEEP2 + 1);
+ gcc_assert (n <= peep2_current_count);
n += peep2_current;
if (n >= MAX_INSNS_PER_PEEP2 + 1)
n -= MAX_INSNS_PER_PEEP2 + 1;
- if (peep2_insn_data[n].insn == PEEP2_EOB)
- return NULL_RTX;
return peep2_insn_data[n].insn;
}
@@ -3062,6 +3062,7 @@ peephole2_optimize (FILE *dump_file ATTRIBUTE_UNUSED)
/* Indicate that all slots except the last holds invalid data. */
for (i = 0; i < MAX_INSNS_PER_PEEP2; ++i)
peep2_insn_data[i].insn = NULL_RTX;
+ peep2_current_count = 0;
/* Indicate that the last slot contains live_after data. */
peep2_insn_data[MAX_INSNS_PER_PEEP2].insn = PEEP2_EOB;
@@ -3090,6 +3091,8 @@ peephole2_optimize (FILE *dump_file ATTRIBUTE_UNUSED)
/* Record this insn. */
if (--peep2_current < 0)
peep2_current = MAX_INSNS_PER_PEEP2;
+ if (peep2_current_count < MAX_INSNS_PER_PEEP2)
+ peep2_current_count++;
peep2_insn_data[peep2_current].insn = insn;
propagate_one_insn (pbi, insn);
COPY_REG_SET (peep2_insn_data[peep2_current].live_before, live);
@@ -3234,6 +3237,7 @@ peephole2_optimize (FILE *dump_file ATTRIBUTE_UNUSED)
for (i = 0; i < MAX_INSNS_PER_PEEP2 + 1; ++i)
peep2_insn_data[i].insn = NULL_RTX;
peep2_insn_data[peep2_current].insn = PEEP2_EOB;
+ peep2_current_count = 0;
#else
/* Back up lifetime information past the end of the
newly created sequence. */
@@ -3249,6 +3253,8 @@ peephole2_optimize (FILE *dump_file ATTRIBUTE_UNUSED)
{
if (--i < 0)
i = MAX_INSNS_PER_PEEP2;
+ if (peep2_current_count < MAX_INSNS_PER_PEEP2)
+ peep2_current_count++;
peep2_insn_data[i].insn = x;
propagate_one_insn (pbi, x);
COPY_REG_SET (peep2_insn_data[i].live_before, live);
@@ -3460,7 +3466,7 @@ rest_of_handle_split_all_insns (void)
struct tree_opt_pass pass_split_all_insns =
{
- NULL, /* name */
+ "split1", /* name */
NULL, /* gate */
rest_of_handle_split_all_insns, /* execute */
NULL, /* sub */
@@ -3471,7 +3477,7 @@ struct tree_opt_pass pass_split_all_insns =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- 0, /* todo_flags_finish */
+ TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};
@@ -3489,7 +3495,7 @@ gate_do_final_split (void)
struct tree_opt_pass pass_split_for_shorten_branches =
{
- NULL, /* name */
+ "split3", /* name */
gate_do_final_split, /* gate */
split_all_insns_noflow, /* execute */
NULL, /* sub */
@@ -3500,7 +3506,7 @@ struct tree_opt_pass pass_split_for_shorten_branches =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- 0, /* todo_flags_finish */
+ TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};
@@ -3525,7 +3531,7 @@ gate_handle_split_before_regstack (void)
struct tree_opt_pass pass_split_before_regstack =
{
- NULL, /* name */
+ "split2", /* name */
gate_handle_split_before_regstack, /* gate */
rest_of_handle_split_all_insns, /* execute */
NULL, /* sub */
@@ -3536,6 +3542,6 @@ struct tree_opt_pass pass_split_before_regstack =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- 0, /* todo_flags_finish */
+ TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};
diff --git a/gcc/recog.h b/gcc/recog.h
index d923aa3be30..0ed7c9e4741 100644
--- a/gcc/recog.h
+++ b/gcc/recog.h
@@ -265,3 +265,4 @@ struct insn_data
};
extern const struct insn_data insn_data[];
+extern int peep2_current_count;
diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c
index aedd4a5cf3a..34e2dd9e33d 100644
--- a/gcc/reg-stack.c
+++ b/gcc/reg-stack.c
@@ -2770,7 +2770,7 @@ better_edge (edge e1, edge e2)
if (EDGE_CRITICAL_P (e1) != EDGE_CRITICAL_P (e2))
return EDGE_CRITICAL_P (e1) ? e1 : e2;
- /* Avoid non-deterministic behaviour. */
+ /* Avoid non-deterministic behavior. */
return (e1->src->index < e2->src->index) ? e1 : e2;
}
diff --git a/gcc/regmove.c b/gcc/regmove.c
index 08cacf42bd1..f74295834df 100644
--- a/gcc/regmove.c
+++ b/gcc/regmove.c
@@ -859,13 +859,13 @@ reg_is_remote_constant_p (rtx reg, rtx insn, rtx first)
return 0;
/* Look for the set. */
- for (p = LOG_LINKS (insn); p; p = XEXP (p, 1))
+ for (p = BB_HEAD (BLOCK_FOR_INSN (insn)); p != insn; p = NEXT_INSN (p))
{
rtx s;
- if (REG_NOTE_KIND (p) != 0)
+ if (!INSN_P (p))
continue;
- s = single_set (XEXP (p, 0));
+ s = single_set (p);
if (s != 0
&& REG_P (SET_DEST (s))
&& REGNO (SET_DEST (s)) == REGNO (reg))
@@ -2524,7 +2524,7 @@ rest_of_handle_stack_adjustments (void)
struct tree_opt_pass pass_stack_adjustments =
{
- NULL, /* name */
+ "csa", /* name */
gate_handle_stack_adjustments, /* gate */
rest_of_handle_stack_adjustments, /* execute */
NULL, /* sub */
diff --git a/gcc/regs.h b/gcc/regs.h
index 3caa89b081b..d29e0e1aace 100644
--- a/gcc/regs.h
+++ b/gcc/regs.h
@@ -61,6 +61,7 @@ typedef struct reg_info_def
int deaths; /* # of times (REG n) dies */
int live_length; /* # of instructions (REG n) is live */
int calls_crossed; /* # of calls (REG n) is live across */
+ int throw_calls_crossed; /* # of calls that may throw (REG n) is live across */
int basic_block; /* # of basic blocks (REG n) is used in */
} reg_info;
@@ -125,6 +126,12 @@ extern varray_type reg_n_info;
#define REG_N_CALLS_CROSSED(N) (VARRAY_REG (reg_n_info, N)->calls_crossed)
+/* Indexed by N, gives number of CALL_INSNS that may throw, across which
+ (REG n) is live. */
+
+#define REG_N_THROWING_CALLS_CROSSED(N) \
+ (VARRAY_REG (reg_n_info, N)->throw_calls_crossed)
+
/* Total number of instructions at which (REG n) is live.
The larger this is, the less priority (REG n) gets for
allocation in a hard register (in global-alloc).
diff --git a/gcc/reload.c b/gcc/reload.c
index e2d4a8e1f3a..c8e8c07aebe 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -2208,20 +2208,30 @@ operands_match_p (rtx x, rtx y)
slow:
- /* Now we have disposed of all the cases
- in which different rtx codes can match. */
+ /* Now we have disposed of all the cases in which different rtx codes
+ can match. */
if (code != GET_CODE (y))
return 0;
- if (code == LABEL_REF)
- return XEXP (x, 0) == XEXP (y, 0);
- if (code == SYMBOL_REF)
- return XSTR (x, 0) == XSTR (y, 0);
/* (MULT:SI x y) and (MULT:HI x y) are NOT equivalent. */
-
if (GET_MODE (x) != GET_MODE (y))
return 0;
+ switch (code)
+ {
+ case CONST_INT:
+ case CONST_DOUBLE:
+ return 0;
+
+ case LABEL_REF:
+ return XEXP (x, 0) == XEXP (y, 0);
+ case SYMBOL_REF:
+ return XSTR (x, 0) == XSTR (y, 0);
+
+ default:
+ break;
+ }
+
/* Compare the elements. If any pair of corresponding elements
fail to match, return 0 for the whole things. */
@@ -5794,7 +5804,8 @@ find_reloads_address_1 (enum machine_mode mode, rtx x, int context,
if ((unsigned) CLASS_MAX_NREGS (class, GET_MODE (SUBREG_REG (x)))
> reg_class_size[class])
{
- x = find_reloads_subreg_address (x, 0, opnum, type,
+ x = find_reloads_subreg_address (x, 0, opnum,
+ ADDR_TYPE (type),
ind_levels, insn);
push_reload (x, NULL_RTX, loc, (rtx*) 0, class,
GET_MODE (x), VOIDmode, 0, 0, opnum, type);
@@ -5954,7 +5965,7 @@ find_reloads_subreg_address (rtx x, int force_replace, int opnum,
}
find_reloads_address (GET_MODE (tem), &tem, XEXP (tem, 0),
- &XEXP (tem, 0), opnum, ADDR_TYPE (type),
+ &XEXP (tem, 0), opnum, type,
ind_levels, insn);
/* If this is not a toplevel operand, find_reloads doesn't see
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 708db0b5488..236afcef86a 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -1042,7 +1042,7 @@ reload (rtx first, int global)
/* If we already deleted the insn or if it may trap, we can't
delete it. The latter case shouldn't happen, but can
if an insn has a variable address, gets a REG_EH_REGION
- note added to it, and then gets converted into an load
+ note added to it, and then gets converted into a load
from a constant address. */
if (NOTE_P (equiv_insn)
|| can_throw_internal (equiv_insn))
@@ -1125,6 +1125,7 @@ reload (rtx first, int global)
MEM_IN_STRUCT_P (reg) = MEM_SCALAR_P (reg) = 0;
MEM_ATTRS (reg) = 0;
}
+ MEM_NOTRAP_P (reg) = 1;
}
else if (reg_equiv_mem[i])
XEXP (reg_equiv_mem[i], 0) = addr;
@@ -3492,6 +3493,7 @@ init_elim_table (void)
sp-adjusting insns for this case. */
|| (current_function_calls_alloca
&& EXIT_IGNORE_STACK)
+ || current_function_accesses_prior_frames
|| FRAME_POINTER_REQUIRED);
num_eliminable = 0;
@@ -3757,6 +3759,55 @@ scan_paradoxical_subregs (rtx x)
}
}
+/* A subroutine of reload_as_needed. If INSN has a REG_EH_REGION note,
+ examine all of the reload insns between PREV and NEXT exclusive, and
+ annotate all that may trap. */
+
+static void
+fixup_eh_region_note (rtx insn, rtx prev, rtx next)
+{
+ rtx note = find_reg_note (insn, REG_EH_REGION, NULL_RTX);
+ unsigned int trap_count;
+ rtx i;
+
+ if (note == NULL)
+ return;
+
+ if (may_trap_p (PATTERN (insn)))
+ trap_count = 1;
+ else
+ {
+ remove_note (insn, note);
+ trap_count = 0;
+ }
+
+ for (i = NEXT_INSN (prev); i != next; i = NEXT_INSN (i))
+ if (INSN_P (i) && i != insn && may_trap_p (PATTERN (i)))
+ {
+ trap_count++;
+ REG_NOTES (i)
+ = gen_rtx_EXPR_LIST (REG_EH_REGION, XEXP (note, 0), REG_NOTES (i));
+ }
+
+ /* ??? Since we entered with one eh insn, we should exit with one eh insn;
+ otherwise we're unsure that we're not losing an exception. Except that
+ the instruction stream incoming to reload doesn't pass the "if
+ reg_eh_region is present, may_trap_p is true" smoke test.
+
+ Worse, even if it did, rtx_addr_can_trap_p returns false for some forms
+ of address that include constants regardless of the actual value of the
+ constant. If we decide that "int a[3]; a[100000]" should be considered
+ non-trapping, we should get that story straight across more of the
+ compiler. If we decide that it should trap, then we cannot decide
+ may_trap_p on the basis of rtx_addr_can_trap_p at all. Which may not
+ be such a big thing -- it doesn't seem hard to get MEM_NOTRAP_P set
+ correctly in the first place.
+
+ Fixing all that is not in the cards for gcc 4.2, so for the nonce we
+ allow all eh insns to evaporate. */
+ gcc_assert (trap_count <= 1);
+}
+
/* Reload pseudo-registers into hard regs around each insn as needed.
Additional register load insns are output before the insn that needs it
and perhaps store insns after insns that modify the reloaded pseudo reg.
@@ -3874,10 +3925,13 @@ reload_as_needed (int live_known)
and that we moved the structure into). */
subst_reloads (insn);
+ /* Adjust the exception region notes for loads and stores. */
+ if (flag_non_call_exceptions && !CALL_P (insn))
+ fixup_eh_region_note (insn, prev, next);
+
/* If this was an ASM, make sure that all the reload insns
we have generated are valid. If not, give an error
and delete them. */
-
if (asm_noperands (PATTERN (insn)) >= 0)
for (p = NEXT_INSN (prev); p != next; p = NEXT_INSN (p))
if (p != insn && INSN_P (p)
@@ -8079,55 +8133,71 @@ fixup_abnormal_edges (void)
if (e && !CALL_P (BB_END (bb))
&& !can_throw_internal (BB_END (bb)))
{
- rtx insn = BB_END (bb), stop = NEXT_INSN (BB_END (bb));
- rtx next;
- FOR_EACH_EDGE (e, ei, bb->succs)
- if (e->flags & EDGE_FALLTHRU)
- break;
- /* Get past the new insns generated. Allow notes, as the insns may
- be already deleted. */
+ rtx insn;
+
+ /* Get past the new insns generated. Allow notes, as the insns
+ may be already deleted. */
+ insn = BB_END (bb);
while ((NONJUMP_INSN_P (insn) || NOTE_P (insn))
&& !can_throw_internal (insn)
&& insn != BB_HEAD (bb))
insn = PREV_INSN (insn);
- gcc_assert (CALL_P (insn) || can_throw_internal (insn));
- BB_END (bb) = insn;
- inserted = true;
- insn = NEXT_INSN (insn);
- while (insn && insn != stop)
+
+ if (CALL_P (insn) || can_throw_internal (insn))
{
- next = NEXT_INSN (insn);
- if (INSN_P (insn))
+ rtx stop, next;
+
+ stop = NEXT_INSN (BB_END (bb));
+ BB_END (bb) = insn;
+ insn = NEXT_INSN (insn);
+
+ FOR_EACH_EDGE (e, ei, bb->succs)
+ if (e->flags & EDGE_FALLTHRU)
+ break;
+
+ while (insn && insn != stop)
{
- delete_insn (insn);
-
- /* Sometimes there's still the return value USE.
- If it's placed after a trapping call (i.e. that
- call is the last insn anyway), we have no fallthru
- edge. Simply delete this use and don't try to insert
- on the non-existent edge. */
- if (GET_CODE (PATTERN (insn)) != USE)
+ next = NEXT_INSN (insn);
+ if (INSN_P (insn))
{
- /* We're not deleting it, we're moving it. */
- INSN_DELETED_P (insn) = 0;
- PREV_INSN (insn) = NULL_RTX;
- NEXT_INSN (insn) = NULL_RTX;
+ delete_insn (insn);
+
+ /* Sometimes there's still the return value USE.
+ If it's placed after a trapping call (i.e. that
+ call is the last insn anyway), we have no fallthru
+ edge. Simply delete this use and don't try to insert
+ on the non-existent edge. */
+ if (GET_CODE (PATTERN (insn)) != USE)
+ {
+ /* We're not deleting it, we're moving it. */
+ INSN_DELETED_P (insn) = 0;
+ PREV_INSN (insn) = NULL_RTX;
+ NEXT_INSN (insn) = NULL_RTX;
- insert_insn_on_edge (insn, e);
+ insert_insn_on_edge (insn, e);
+ inserted = true;
+ }
}
+ insn = next;
}
- insn = next;
}
+
+ /* It may be that we don't find any such trapping insn. In this
+ case we discovered quite late that the insn that had been
+ marked as can_throw_internal in fact couldn't trap at all.
+ So we should in fact delete the EH edges out of the block. */
+ else
+ purge_dead_edges (bb);
}
}
- /* We've possibly turned single trapping insn into multiple ones. */
- if (flag_non_call_exceptions)
- {
- sbitmap blocks;
- blocks = sbitmap_alloc (last_basic_block);
- sbitmap_ones (blocks);
- find_many_sub_basic_blocks (blocks);
- }
+
if (inserted)
commit_edge_insertions ();
+
+#ifdef ENABLE_CHECKING
+ /* Verify that we didn't turn one trapping insn into many, and that
+ we found and corrected all of the problems wrt fixups on the
+ fallthru edge. */
+ verify_flow_info ();
+#endif
}
diff --git a/gcc/reorg.c b/gcc/reorg.c
index c32d9bc0f93..cda716887d6 100644
--- a/gcc/reorg.c
+++ b/gcc/reorg.c
@@ -1934,7 +1934,7 @@ reorg_redirect_jump (rtx jump, rtx nlabel)
that reference values used in INSN. If we find one, then we move the
REG_DEAD note to INSN.
- This is needed to handle the case where an later insn (after INSN) has a
+ This is needed to handle the case where a later insn (after INSN) has a
REG_DEAD note for a register used by INSN, and this later insn subsequently
gets moved before a CODE_LABEL because it is a redundant insn. In this
case, mark_target_live_regs may be confused into thinking the register
diff --git a/gcc/rtl.c b/gcc/rtl.c
index 08b463b428b..eee870cb0d2 100644
--- a/gcc/rtl.c
+++ b/gcc/rtl.c
@@ -515,6 +515,21 @@ rtl_check_failed_code2 (rtx r, enum rtx_code code1, enum rtx_code code2,
func, trim_filename (file), line);
}
+void
+rtl_check_failed_code_mode (rtx r, enum rtx_code code, enum machine_mode mode,
+ bool not_mode, const char *file, int line,
+ const char *func)
+{
+ internal_error ((not_mode
+ ? ("RTL check: expected code '%s' and not mode '%s', "
+ "have code '%s' and mode '%s' in %s, at %s:%d")
+ : ("RTL check: expected code '%s' and mode '%s', "
+ "have code '%s' and mode '%s' in %s, at %s:%d")),
+ GET_RTX_NAME (code), GET_MODE_NAME (mode),
+ GET_RTX_NAME (GET_CODE (r)), GET_MODE_NAME (GET_MODE (r)),
+ func, trim_filename (file), line);
+}
+
/* XXX Maybe print the vector? */
void
rtvec_check_failed_bounds (rtvec r, int n, const char *file, int line,
diff --git a/gcc/rtl.h b/gcc/rtl.h
index da43bf8ca84..7fa8fabc7d4 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -25,6 +25,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
#include "statistics.h"
#include "machmode.h"
#include "input.h"
+#include "real.h"
#undef FFS /* Some systems predefine this symbol; don't let it interfere. */
#undef FLOAT /* Likewise. */
@@ -249,6 +250,7 @@ struct rtx_def GTY((chain_next ("RTX_NEXT (&%h)"),
union u {
rtunion fld[1];
HOST_WIDE_INT hwint[1];
+ struct real_value rv;
} GTY ((special ("rtx_def"), desc ("GET_CODE (&%0)"))) u;
};
@@ -454,6 +456,20 @@ struct rtvec_def GTY(()) {
__FUNCTION__); \
&_rtx->u.hwint[N]; }))
+#define XCMWINT(RTX, N, C, M) __extension__ \
+(*({ rtx const _rtx = (RTX); \
+ if (GET_CODE (_rtx) != (C) || GET_MODE (_rtx) != (M)) \
+ rtl_check_failed_code_mode (_rtx, (C), (M), false, __FILE__, \
+ __LINE__, __FUNCTION__); \
+ &_rtx->u.hwint[N]; }))
+
+#define XCNMPRV(RTX, C, M) __extension__ \
+({ rtx const _rtx = (RTX); \
+ if (GET_CODE (_rtx) != (C) || GET_MODE (_rtx) == (M)) \
+ rtl_check_failed_code_mode (_rtx, (C), (M), true, __FILE__, \
+ __LINE__, __FUNCTION__); \
+ &_rtx->u.rv; })
+
extern void rtl_check_failed_bounds (rtx, int, const char *, int,
const char *)
ATTRIBUTE_NORETURN;
@@ -469,6 +485,9 @@ extern void rtl_check_failed_code1 (rtx, enum rtx_code, const char *,
extern void rtl_check_failed_code2 (rtx, enum rtx_code, enum rtx_code,
const char *, int, const char *)
ATTRIBUTE_NORETURN;
+extern void rtl_check_failed_code_mode (rtx, enum rtx_code, enum machine_mode,
+ bool, const char *, int, const char *)
+ ATTRIBUTE_NORETURN;
extern void rtvec_check_failed_bounds (rtvec, int, const char *, int,
const char *)
ATTRIBUTE_NORETURN;
@@ -482,6 +501,9 @@ extern void rtvec_check_failed_bounds (rtvec, int, const char *, int,
#define RTVEC_ELT(RTVEC, I) ((RTVEC)->elem[I])
#define XWINT(RTX, N) ((RTX)->u.hwint[N])
#define XCWINT(RTX, N, C) ((RTX)->u.hwint[N])
+#define XCMWINT(RTX, N, C, M) ((RTX)->u.hwint[N])
+#define XCNMWINT(RTX, N, C, M) ((RTX)->u.hwint[N])
+#define XCNMPRV(RTX, C, M) (&(RTX)->u.rv)
#endif
@@ -916,9 +938,10 @@ enum label_kind
low-order word and ..._HIGH the high-order.
For a float, there is a REAL_VALUE_TYPE structure, and
CONST_DOUBLE_REAL_VALUE(r) is a pointer to it. */
-#define CONST_DOUBLE_LOW(r) XCWINT (r, 0, CONST_DOUBLE)
-#define CONST_DOUBLE_HIGH(r) XCWINT (r, 1, CONST_DOUBLE)
-#define CONST_DOUBLE_REAL_VALUE(r) ((struct real_value *)&CONST_DOUBLE_LOW(r))
+#define CONST_DOUBLE_LOW(r) XCMWINT (r, 0, CONST_DOUBLE, VOIDmode)
+#define CONST_DOUBLE_HIGH(r) XCMWINT (r, 1, CONST_DOUBLE, VOIDmode)
+#define CONST_DOUBLE_REAL_VALUE(r) \
+ ((const struct real_value *) XCNMPRV (r, CONST_DOUBLE, VOIDmode))
/* For a CONST_VECTOR, return element #n. */
#define CONST_VECTOR_ELT(RTX, N) XCVECEXP (RTX, 0, N, CONST_VECTOR)
@@ -1020,7 +1043,7 @@ do { \
ASM_INPUT)->volatil)
/* 1 if RTX is a mem that refers to an aggregate, either to the
- aggregate itself of to a field of the aggregate. If zero, RTX may
+ aggregate itself or to a field of the aggregate. If zero, RTX may
or may not be such a reference. */
#define MEM_IN_STRUCT_P(RTX) \
(RTL_FLAG_CHECK1("MEM_IN_STRUCT_P", (RTX), MEM)->in_struct)
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index a77c199f2bd..9198881039e 100644
--- a/gcc/rtlanal.c
+++ b/gcc/rtlanal.c
@@ -2170,6 +2170,7 @@ may_trap_p (rtx x)
case NEG:
case ABS:
+ case SUBREG:
/* These operations don't trap even with floating point. */
break;
diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c
index 6c7b7ec9a33..7baad1b669e 100644
--- a/gcc/sched-deps.c
+++ b/gcc/sched-deps.c
@@ -149,11 +149,7 @@ sched_get_condition (rtx insn)
return 0;
src = SET_SRC (pc_set (insn));
-#if 0
- /* The previous code here was completely invalid and could never extract
- the condition from a jump. This code does the correct thing, but that
- triggers latent bugs later in the scheduler on ports with conditional
- execution. So this is disabled for now. */
+
if (XEXP (src, 2) == pc_rtx)
return XEXP (src, 0);
else if (XEXP (src, 1) == pc_rtx)
@@ -166,11 +162,11 @@ sched_get_condition (rtx insn)
return gen_rtx_fmt_ee (revcode, GET_MODE (cond), XEXP (cond, 0),
XEXP (cond, 1));
}
-#endif
return 0;
}
+
/* Return nonzero if conditions COND1 and COND2 can never be both true. */
static int
@@ -184,6 +180,32 @@ conditions_mutex_p (rtx cond1, rtx cond2)
return 1;
return 0;
}
+
+/* Return true if insn1 and insn2 can never depend on one another because
+ the conditions under which they are executed are mutually exclusive. */
+bool
+sched_insns_conditions_mutex_p (rtx insn1, rtx insn2)
+{
+ rtx cond1, cond2;
+
+ /* flow.c doesn't handle conditional lifetimes entirely correctly;
+ calls mess up the conditional lifetimes. */
+ if (!CALL_P (insn1) && !CALL_P (insn2))
+ {
+ cond1 = sched_get_condition (insn1);
+ cond2 = sched_get_condition (insn2);
+ if (cond1 && cond2
+ && conditions_mutex_p (cond1, cond2)
+ /* Make sure first instruction doesn't affect condition of second
+ instruction if switched. */
+ && !modified_in_p (cond1, insn2)
+ /* Make sure second instruction doesn't affect condition of first
+ instruction if switched. */
+ && !modified_in_p (cond2, insn1))
+ return true;
+ }
+ return false;
+}
/* Add ELEM wrapped in an INSN_LIST with reg note kind DEP_TYPE to the
LOG_LINKS of INSN, if not already there. DEP_TYPE indicates the
@@ -195,7 +217,6 @@ add_dependence (rtx insn, rtx elem, enum reg_note dep_type)
{
rtx link;
int present_p;
- rtx cond1, cond2;
/* Don't depend an insn on itself. */
if (insn == elem)
@@ -207,26 +228,6 @@ add_dependence (rtx insn, rtx elem, enum reg_note dep_type)
if (NOTE_P (elem))
return 0;
- /* flow.c doesn't handle conditional lifetimes entirely correctly;
- calls mess up the conditional lifetimes. */
- /* ??? add_dependence is the wrong place to be eliding dependencies,
- as that forgets that the condition expressions themselves may
- be dependent. */
- if (!CALL_P (insn) && !CALL_P (elem))
- {
- cond1 = sched_get_condition (insn);
- cond2 = sched_get_condition (elem);
- if (cond1 && cond2
- && conditions_mutex_p (cond1, cond2)
- /* Make sure first instruction doesn't affect condition of second
- instruction if switched. */
- && !modified_in_p (cond1, elem)
- /* Make sure second instruction doesn't affect condition of first
- instruction if switched. */
- && !modified_in_p (cond2, insn))
- return 0;
- }
-
present_p = 1;
#ifdef INSN_SCHEDULING
/* ??? No good way to tell from here whether we're doing interblock
@@ -348,7 +349,10 @@ static void
add_dependence_list (rtx insn, rtx list, enum reg_note dep_type)
{
for (; list; list = XEXP (list, 1))
- add_dependence (insn, XEXP (list, 0), dep_type);
+ {
+ if (! sched_insns_conditions_mutex_p (insn, XEXP (list, 0)))
+ add_dependence (insn, XEXP (list, 0), dep_type);
+ }
}
/* Similar, but free *LISTP at the same time. */
@@ -360,7 +364,8 @@ add_dependence_list_and_free (rtx insn, rtx *listp, enum reg_note dep_type)
for (list = *listp, *listp = NULL; list ; list = next)
{
next = XEXP (list, 1);
- add_dependence (insn, XEXP (list, 0), dep_type);
+ if (! sched_insns_conditions_mutex_p (insn, XEXP (list, 0)))
+ add_dependence (insn, XEXP (list, 0), dep_type);
free_INSN_LIST_node (list);
}
}
@@ -393,7 +398,7 @@ delete_all_dependences (rtx insn)
static void
fixup_sched_groups (rtx insn)
{
- rtx link;
+ rtx link, prev_nonnote;
for (link = LOG_LINKS (insn); link ; link = XEXP (link, 1))
{
@@ -405,14 +410,17 @@ fixup_sched_groups (rtx insn)
if (XEXP (link, 0) == i)
goto next_link;
} while (SCHED_GROUP_P (i));
- add_dependence (i, XEXP (link, 0), REG_NOTE_KIND (link));
+ if (! sched_insns_conditions_mutex_p (i, XEXP (link, 0)))
+ add_dependence (i, XEXP (link, 0), REG_NOTE_KIND (link));
next_link:;
}
delete_all_dependences (insn);
- if (BLOCK_FOR_INSN (insn) == BLOCK_FOR_INSN (prev_nonnote_insn (insn)))
- add_dependence (insn, prev_nonnote_insn (insn), REG_DEP_ANTI);
+ prev_nonnote = prev_nonnote_insn (insn);
+ if (BLOCK_FOR_INSN (insn) == BLOCK_FOR_INSN (prev_nonnote)
+ && ! sched_insns_conditions_mutex_p (insn, prev_nonnote))
+ add_dependence (insn, prev_nonnote, REG_DEP_ANTI);
}
/* Process an insn's memory dependencies. There are four kinds of
@@ -620,7 +628,8 @@ sched_analyze_1 (struct deps *deps, rtx x, rtx insn)
pending_mem = deps->pending_read_mems;
while (pending)
{
- if (anti_dependence (XEXP (pending_mem, 0), t))
+ if (anti_dependence (XEXP (pending_mem, 0), t)
+ && ! sched_insns_conditions_mutex_p (insn, XEXP (pending, 0)))
add_dependence (insn, XEXP (pending, 0), REG_DEP_ANTI);
pending = XEXP (pending, 1);
@@ -631,7 +640,8 @@ sched_analyze_1 (struct deps *deps, rtx x, rtx insn)
pending_mem = deps->pending_write_mems;
while (pending)
{
- if (output_dependence (XEXP (pending_mem, 0), t))
+ if (output_dependence (XEXP (pending_mem, 0), t)
+ && ! sched_insns_conditions_mutex_p (insn, XEXP (pending, 0)))
add_dependence (insn, XEXP (pending, 0), REG_DEP_OUTPUT);
pending = XEXP (pending, 1);
@@ -759,7 +769,8 @@ sched_analyze_2 (struct deps *deps, rtx x, rtx insn)
pending_mem = deps->pending_read_mems;
while (pending)
{
- if (read_dependence (XEXP (pending_mem, 0), t))
+ if (read_dependence (XEXP (pending_mem, 0), t)
+ && ! sched_insns_conditions_mutex_p (insn, XEXP (pending, 0)))
add_dependence (insn, XEXP (pending, 0), REG_DEP_ANTI);
pending = XEXP (pending, 1);
@@ -771,16 +782,17 @@ sched_analyze_2 (struct deps *deps, rtx x, rtx insn)
while (pending)
{
if (true_dependence (XEXP (pending_mem, 0), VOIDmode,
- t, rtx_varies_p))
- add_dependence (insn, XEXP (pending, 0), 0);
+ t, rtx_varies_p)
+ && ! sched_insns_conditions_mutex_p (insn, XEXP (pending, 0)))
+ add_dependence (insn, XEXP (pending, 0), REG_DEP_TRUE);
pending = XEXP (pending, 1);
pending_mem = XEXP (pending_mem, 1);
}
for (u = deps->last_pending_memory_flush; u; u = XEXP (u, 1))
- if (!JUMP_P (XEXP (u, 0))
- || deps_may_trap_p (x))
+ if ((! JUMP_P (XEXP (u, 0)) || deps_may_trap_p (x))
+ && ! sched_insns_conditions_mutex_p (insn, XEXP (u, 0)))
add_dependence (insn, XEXP (u, 0), REG_DEP_ANTI);
/* Always add these dependencies to pending_reads, since
@@ -966,7 +978,8 @@ sched_analyze_insn (struct deps *deps, rtx x, rtx insn, rtx loop_notes)
pending_mem = deps->pending_write_mems;
while (pending)
{
- add_dependence (insn, XEXP (pending, 0), REG_DEP_OUTPUT);
+ if (! sched_insns_conditions_mutex_p (insn, XEXP (pending, 0)))
+ add_dependence (insn, XEXP (pending, 0), REG_DEP_OUTPUT);
pending = XEXP (pending, 1);
pending_mem = XEXP (pending_mem, 1);
}
@@ -975,7 +988,8 @@ sched_analyze_insn (struct deps *deps, rtx x, rtx insn, rtx loop_notes)
pending_mem = deps->pending_read_mems;
while (pending)
{
- if (MEM_VOLATILE_P (XEXP (pending_mem, 0)))
+ if (MEM_VOLATILE_P (XEXP (pending_mem, 0))
+ && ! sched_insns_conditions_mutex_p (insn, XEXP (pending, 0)))
add_dependence (insn, XEXP (pending, 0), REG_DEP_OUTPUT);
pending = XEXP (pending, 1);
pending_mem = XEXP (pending_mem, 1);
@@ -1019,7 +1033,7 @@ sched_analyze_insn (struct deps *deps, rtx x, rtx insn, rtx loop_notes)
{
/* In the case of barrier the most added dependencies are not
real, so we use anti-dependence here. */
- if (GET_CODE (PATTERN (insn)) == COND_EXEC)
+ if (sched_get_condition (insn))
{
EXECUTE_IF_SET_IN_REG_SET (&deps->reg_last_in_use, 0, i, rsi)
{
@@ -1027,10 +1041,10 @@ sched_analyze_insn (struct deps *deps, rtx x, rtx insn, rtx loop_notes)
add_dependence_list (insn, reg_last->uses, REG_DEP_ANTI);
add_dependence_list
(insn, reg_last->sets,
- reg_pending_barrier == TRUE_BARRIER ? 0 : REG_DEP_ANTI);
+ reg_pending_barrier == TRUE_BARRIER ? REG_DEP_TRUE : REG_DEP_ANTI);
add_dependence_list
(insn, reg_last->clobbers,
- reg_pending_barrier == TRUE_BARRIER ? 0 : REG_DEP_ANTI);
+ reg_pending_barrier == TRUE_BARRIER ? REG_DEP_TRUE : REG_DEP_ANTI);
}
}
else
@@ -1042,10 +1056,10 @@ sched_analyze_insn (struct deps *deps, rtx x, rtx insn, rtx loop_notes)
REG_DEP_ANTI);
add_dependence_list_and_free
(insn, &reg_last->sets,
- reg_pending_barrier == TRUE_BARRIER ? 0 : REG_DEP_ANTI);
+ reg_pending_barrier == TRUE_BARRIER ? REG_DEP_TRUE : REG_DEP_ANTI);
add_dependence_list_and_free
(insn, &reg_last->clobbers,
- reg_pending_barrier == TRUE_BARRIER ? 0 : REG_DEP_ANTI);
+ reg_pending_barrier == TRUE_BARRIER ? REG_DEP_TRUE : REG_DEP_ANTI);
reg_last->uses_length = 0;
reg_last->clobbers_length = 0;
}
@@ -1066,13 +1080,13 @@ sched_analyze_insn (struct deps *deps, rtx x, rtx insn, rtx loop_notes)
{
/* If the current insn is conditional, we can't free any
of the lists. */
- if (GET_CODE (PATTERN (insn)) == COND_EXEC)
+ if (sched_get_condition (insn))
{
EXECUTE_IF_SET_IN_REG_SET (reg_pending_uses, 0, i, rsi)
{
struct deps_reg *reg_last = &deps->reg_last[i];
- add_dependence_list (insn, reg_last->sets, 0);
- add_dependence_list (insn, reg_last->clobbers, 0);
+ add_dependence_list (insn, reg_last->sets, REG_DEP_TRUE);
+ add_dependence_list (insn, reg_last->clobbers, REG_DEP_TRUE);
reg_last->uses = alloc_INSN_LIST (insn, reg_last->uses);
reg_last->uses_length++;
}
@@ -1099,8 +1113,8 @@ sched_analyze_insn (struct deps *deps, rtx x, rtx insn, rtx loop_notes)
EXECUTE_IF_SET_IN_REG_SET (reg_pending_uses, 0, i, rsi)
{
struct deps_reg *reg_last = &deps->reg_last[i];
- add_dependence_list (insn, reg_last->sets, 0);
- add_dependence_list (insn, reg_last->clobbers, 0);
+ add_dependence_list (insn, reg_last->sets, REG_DEP_TRUE);
+ add_dependence_list (insn, reg_last->clobbers, REG_DEP_TRUE);
reg_last->uses_length++;
reg_last->uses = alloc_INSN_LIST (insn, reg_last->uses);
}
diff --git a/gcc/sched-ebb.c b/gcc/sched-ebb.c
index c2d7988a1c0..58f5d338ecd 100644
--- a/gcc/sched-ebb.c
+++ b/gcc/sched-ebb.c
@@ -454,7 +454,8 @@ add_deps_for_risky_insns (rtx head, rtx tail)
/* We can not change the mode of the backward
dependency because REG_DEP_ANTI has the lowest
rank. */
- if (add_dependence (insn, prev, REG_DEP_ANTI))
+ if (! sched_insns_conditions_mutex_p (insn, prev)
+ && add_dependence (insn, prev, REG_DEP_ANTI))
add_forward_dependence (prev, insn, REG_DEP_ANTI);
break;
diff --git a/gcc/sched-int.h b/gcc/sched-int.h
index 47c58552c0c..46ec6e77327 100644
--- a/gcc/sched-int.h
+++ b/gcc/sched-int.h
@@ -331,6 +331,7 @@ enum INSN_TRAP_CLASS
extern void print_insn (char *, rtx, int);
/* Functions in sched-deps.c. */
+extern bool sched_insns_conditions_mutex_p (rtx, rtx);
extern int add_dependence (rtx, rtx, enum reg_note);
extern void sched_analyze (struct deps *, rtx, rtx);
extern void init_deps (struct deps *);
diff --git a/gcc/sched-rgn.c b/gcc/sched-rgn.c
index 1083c5c0cad..69bd3598576 100644
--- a/gcc/sched-rgn.c
+++ b/gcc/sched-rgn.c
@@ -251,10 +251,6 @@ static void compute_dom_prob_ps (int);
#define IS_SPECULATIVE_INSN(INSN) (IS_SPECULATIVE (BLOCK_TO_BB (BLOCK_NUM (INSN))))
#define INSN_BB(INSN) (BLOCK_TO_BB (BLOCK_NUM (INSN)))
-/* Parameters affecting the decision of rank_for_schedule().
- ??? Nope. But MIN_PROBABILITY is used in compute_trg_info. */
-#define MIN_PROBABILITY 40
-
/* Speculative scheduling functions. */
static int check_live_1 (int, rtx);
static void update_live_1 (int, rtx);
@@ -1013,7 +1009,7 @@ compute_trg_info (int trg)
if (sp->is_valid)
{
sp->src_prob = GET_SRC_PROB (i, trg);
- sp->is_valid = (sp->src_prob >= MIN_PROBABILITY);
+ sp->is_valid = (sp->src_prob >= PARAM_VALUE (PARAM_MIN_SPEC_PROB));
}
if (sp->is_valid)
@@ -1883,6 +1879,8 @@ add_branch_dependences (rtx head, rtx tail)
cc0 setters remain at the end because they can't be moved away from
their cc0 user.
+ COND_EXEC insns cannot be moved past a branch (see e.g. PR17808).
+
Insns setting CLASS_LIKELY_SPILLED_P registers (usually return values)
are not moved before reload because we can wind up with register
allocation failures. */
@@ -1906,7 +1904,8 @@ add_branch_dependences (rtx head, rtx tail)
{
if (last != 0 && !find_insn_list (insn, LOG_LINKS (last)))
{
- add_dependence (last, insn, REG_DEP_ANTI);
+ if (! sched_insns_conditions_mutex_p (last, insn))
+ add_dependence (last, insn, REG_DEP_ANTI);
INSN_REF_COUNT (insn)++;
}
@@ -1932,9 +1931,61 @@ add_branch_dependences (rtx head, rtx tail)
if (INSN_REF_COUNT (insn) != 0)
continue;
- add_dependence (last, insn, REG_DEP_ANTI);
+ if (! sched_insns_conditions_mutex_p (last, insn))
+ add_dependence (last, insn, REG_DEP_ANTI);
INSN_REF_COUNT (insn) = 1;
}
+
+#ifdef HAVE_conditional_execution
+ /* Finally, if the block ends in a jump, and we are doing intra-block
+ scheduling, make sure that the branch depends on any COND_EXEC insns
+ inside the block to avoid moving the COND_EXECs past the branch insn.
+
+ We only have to do this after reload, because (1) before reload there
+ are no COND_EXEC insns, and (2) the region scheduler is an intra-block
+ scheduler after reload.
+
+ FIXME: We could in some cases move COND_EXEC insns past the branch if
+ this scheduler would be a little smarter. Consider this code:
+
+ T = [addr]
+ C ? addr += 4
+ !C ? X += 12
+ C ? T += 1
+ C ? jump foo
+
+ On a target with a one cycle stall on a memory access the optimal
+ sequence would be:
+
+ T = [addr]
+ C ? addr += 4
+ C ? T += 1
+ C ? jump foo
+ !C ? X += 12
+
+ We don't want to put the 'X += 12' before the branch because it just
+ wastes a cycle of execution time when the branch is taken.
+
+ Note that in the example "!C" will always be true. That is another
+ possible improvement for handling COND_EXECs in this scheduler: it
+ could remove always-true predicates. */
+
+ if (!reload_completed || ! JUMP_P (tail))
+ return;
+
+ insn = tail;
+ while (insn != head)
+ {
+ insn = PREV_INSN (insn);
+
+ /* Note that we want to add this dependency even when
+ sched_insns_conditions_mutex_p returns true. The whole point
+ is that we _want_ this dependency, even if these insns really
+ are independent. */
+ if (INSN_P (insn) && GET_CODE (PATTERN (insn)) == COND_EXEC)
+ add_dependence (tail, insn, REG_DEP_ANTI);
+ }
+#endif
}
/* Data structures for the computation of data dependences in a regions. We
diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c
index ae1fea7e2e4..13e90e99bfd 100644
--- a/gcc/simplify-rtx.c
+++ b/gcc/simplify-rtx.c
@@ -2574,7 +2574,8 @@ simplify_const_binary_operation (enum rtx_code code, enum machine_mode mode,
struct simplify_plus_minus_op_data
{
rtx op;
- int neg;
+ short neg;
+ short ix;
};
static int
@@ -2582,9 +2583,13 @@ simplify_plus_minus_op_data_cmp (const void *p1, const void *p2)
{
const struct simplify_plus_minus_op_data *d1 = p1;
const struct simplify_plus_minus_op_data *d2 = p2;
+ int result;
- return (commutative_operand_precedence (d2->op)
- - commutative_operand_precedence (d1->op));
+ result = (commutative_operand_precedence (d2->op)
+ - commutative_operand_precedence (d1->op));
+ if (result)
+ return result;
+ return d1->ix - d2->ix;
}
static rtx
@@ -2759,7 +2764,12 @@ simplify_plus_minus (enum rtx_code code, enum machine_mode mode, rtx op0,
/* Pack all the operands to the lower-numbered entries. */
for (i = 0, j = 0; j < n_ops; j++)
if (ops[j].op)
- ops[i++] = ops[j];
+ {
+ ops[i] = ops[j];
+ /* Stabilize sort. */
+ ops[i].ix = i;
+ i++;
+ }
n_ops = i;
/* Sort the operations based on swap_commutative_operands_p. */
@@ -3014,7 +3024,17 @@ simplify_const_relational_operation (enum rtx_code code,
/* If op0 is a compare, extract the comparison arguments from it. */
if (GET_CODE (op0) == COMPARE && op1 == const0_rtx)
- op1 = XEXP (op0, 1), op0 = XEXP (op0, 0);
+ {
+ op1 = XEXP (op0, 1);
+ op0 = XEXP (op0, 0);
+
+ if (GET_MODE (op0) != VOIDmode)
+ mode = GET_MODE (op0);
+ else if (GET_MODE (op1) != VOIDmode)
+ mode = GET_MODE (op1);
+ else
+ return 0;
+ }
/* We can't simplify MODE_CC values since we don't know what the
actual comparison is. */
@@ -3236,7 +3256,9 @@ simplify_const_relational_operation (enum rtx_code code,
case LT:
/* Optimize abs(x) < 0.0. */
- if (trueop1 == CONST0_RTX (mode) && !HONOR_SNANS (mode))
+ if (trueop1 == CONST0_RTX (mode)
+ && !HONOR_SNANS (mode)
+ && !(flag_wrapv && INTEGRAL_MODE_P (mode)))
{
tem = GET_CODE (trueop0) == FLOAT_EXTEND ? XEXP (trueop0, 0)
: trueop0;
@@ -3247,7 +3269,9 @@ simplify_const_relational_operation (enum rtx_code code,
case GE:
/* Optimize abs(x) >= 0.0. */
- if (trueop1 == CONST0_RTX (mode) && !HONOR_NANS (mode))
+ if (trueop1 == CONST0_RTX (mode)
+ && !HONOR_NANS (mode)
+ && !(flag_wrapv && INTEGRAL_MODE_P (mode)))
{
tem = GET_CODE (trueop0) == FLOAT_EXTEND ? XEXP (trueop0, 0)
: trueop0;
@@ -3591,7 +3615,7 @@ simplify_immed_subreg (enum machine_mode outermode, rtx op,
}
/* It shouldn't matter what's done here, so fill it with
zero. */
- for (; i < max_bitsize; i += value_bit)
+ for (; i < elem_bitsize; i += value_bit)
*vp++ = 0;
}
else
diff --git a/gcc/stmt.c b/gcc/stmt.c
index e38b96b6c29..ad75392010b 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -1373,7 +1373,7 @@ int
warn_if_unused_value (tree exp, location_t locus)
{
restart:
- if (TREE_USED (exp))
+ if (TREE_USED (exp) || TREE_NO_WARNING (exp))
return 0;
/* Don't warn about void constructs. This includes casting to void,
@@ -1416,8 +1416,6 @@ warn_if_unused_value (tree exp, location_t locus)
goto restart;
case COMPOUND_EXPR:
- if (TREE_NO_WARNING (exp))
- return 0;
if (warn_if_unused_value (TREE_OPERAND (exp, 0), locus))
return 1;
/* Let people do `(foo (), 0)' without a warning. */
@@ -1426,27 +1424,12 @@ warn_if_unused_value (tree exp, location_t locus)
exp = TREE_OPERAND (exp, 1);
goto restart;
- case NOP_EXPR:
- case CONVERT_EXPR:
- case NON_LVALUE_EXPR:
- /* Don't warn about conversions not explicit in the user's program. */
- if (TREE_NO_WARNING (exp))
+ case COND_EXPR:
+ /* If this is an expression with side effects, don't warn; this
+ case commonly appears in macro expansions. */
+ if (TREE_SIDE_EFFECTS (exp))
return 0;
- /* Assignment to a cast usually results in a cast of a modify.
- Don't complain about that. There can be an arbitrary number of
- casts before the modify, so we must loop until we find the first
- non-cast expression and then test to see if that is a modify. */
- {
- tree tem = TREE_OPERAND (exp, 0);
-
- while (TREE_CODE (tem) == CONVERT_EXPR || TREE_CODE (tem) == NOP_EXPR)
- tem = TREE_OPERAND (tem, 0);
-
- if (TREE_CODE (tem) == MODIFY_EXPR || TREE_CODE (tem) == INIT_EXPR
- || TREE_CODE (tem) == CALL_EXPR)
- return 0;
- }
- goto maybe_warn;
+ goto warn;
case INDIRECT_REF:
/* Don't warn about automatic dereferencing of references, since
@@ -1470,11 +1453,7 @@ warn_if_unused_value (tree exp, location_t locus)
if (EXPRESSION_CLASS_P (exp) && TREE_CODE_LENGTH (TREE_CODE (exp)) == 0)
return 0;
- maybe_warn:
- /* If this is an expression with side effects, don't warn. */
- if (TREE_SIDE_EFFECTS (exp))
- return 0;
-
+ warn:
warning (0, "%Hvalue computed is not used", &locus);
return 1;
}
diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c
index 77dfc192775..0ec818d7fbd 100644
--- a/gcc/stor-layout.c
+++ b/gcc/stor-layout.c
@@ -1407,8 +1407,15 @@ finalize_type_size (tree type)
&& TREE_CODE (type) != QUAL_UNION_TYPE
&& TREE_CODE (type) != ARRAY_TYPE)))
{
- TYPE_ALIGN (type) = GET_MODE_ALIGNMENT (TYPE_MODE (type));
- TYPE_USER_ALIGN (type) = 0;
+ unsigned mode_align = GET_MODE_ALIGNMENT (TYPE_MODE (type));
+
+ /* Don't override a larger alignment requirement coming from a user
+ alignment of one of the fields. */
+ if (mode_align >= TYPE_ALIGN (type))
+ {
+ TYPE_ALIGN (type) = mode_align;
+ TYPE_USER_ALIGN (type) = 0;
+ }
}
/* Do machine-dependent extra alignment. */
@@ -1477,6 +1484,8 @@ finalize_type_size (tree type)
void
finish_record_layout (record_layout_info rli, int free_p)
{
+ tree field;
+
/* Compute the final size. */
finalize_record_size (rli);
@@ -1486,6 +1495,15 @@ finish_record_layout (record_layout_info rli, int free_p)
/* Perform any last tweaks to the TYPE_SIZE, etc. */
finalize_type_size (rli->t);
+ /* We might be able to clear DECL_PACKED on any members that happen
+ to be suitably aligned (not forgetting the alignment of the type
+ itself). */
+ for (field = TYPE_FIELDS (rli->t); field; field = TREE_CHAIN (field))
+ if (TREE_CODE (field) == FIELD_DECL && DECL_PACKED (field)
+ && DECL_OFFSET_ALIGN (field) >= TYPE_ALIGN (TREE_TYPE (field))
+ && TYPE_ALIGN (rli->t) >= TYPE_ALIGN (TREE_TYPE (field)))
+ DECL_PACKED (field) = 0;
+
/* Lay out any static members. This is done now because their type
may use the record's type. */
while (rli->pending_statics)
diff --git a/gcc/system.h b/gcc/system.h
index 48105fe7a8e..34c9009f149 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -511,19 +511,6 @@ extern int vsnprintf(char *, size_t, const char *, va_list);
# define mkdir(a,b) mkdir(a)
#endif
-/* Provide a way to print an address via printf. */
-#ifndef HOST_PTR_PRINTF
-# ifdef HAVE_PRINTF_PTR
-# define HOST_PTR_PRINTF "%p"
-# elif SIZEOF_INT == SIZEOF_VOID_P
-# define HOST_PTR_PRINTF "%x"
-# elif SIZEOF_LONG == SIZEOF_VOID_P
-# define HOST_PTR_PRINTF "%lx"
-# else
-# define HOST_PTR_PRINTF "%llx"
-# endif
-#endif /* ! HOST_PTR_PRINTF */
-
/* By default, colon separates directories in a path. */
#ifndef PATH_SEPARATOR
#define PATH_SEPARATOR ':'
@@ -741,7 +728,7 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
TARGET_ESC TARGET_FF TARGET_NEWLINE TARGET_TAB TARGET_VT \
LINK_LIBGCC_SPECIAL DONT_ACCESS_GBLS_AFTER_EPILOGUE \
TARGET_OPTIONS TARGET_SWITCHES EXTRA_CC_MODES FINALIZE_PIC \
- PREDICATE_CODES SPECIAL_MODE_PREDICATES
+ PREDICATE_CODES SPECIAL_MODE_PREDICATES HOST_PTR_PRINTF
/* Hooks that are no longer used. */
#pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \
diff --git a/gcc/target-def.h b/gcc/target-def.h
index a9921c7409a..e874bb7147b 100644
--- a/gcc/target-def.h
+++ b/gcc/target-def.h
@@ -126,12 +126,14 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#define TARGET_ASM_OUTPUT_MI_THUNK NULL
#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_tree_hwi_hwi_tree_false
-#if defined(TARGET_ASM_CONSTRUCTOR) && defined(TARGET_ASM_DESTRUCTOR)
-#define TARGET_HAVE_CTORS_DTORS true
-#else
-#define TARGET_HAVE_CTORS_DTORS false
-#define TARGET_ASM_CONSTRUCTOR NULL
-#define TARGET_ASM_DESTRUCTOR NULL
+#if !defined(TARGET_HAVE_CTORS_DTORS)
+# if defined(TARGET_ASM_CONSTRUCTOR) && defined(TARGET_ASM_DESTRUCTOR)
+# define TARGET_HAVE_CTORS_DTORS true
+# else
+# define TARGET_HAVE_CTORS_DTORS false
+# define TARGET_ASM_CONSTRUCTOR NULL
+# define TARGET_ASM_DESTRUCTOR NULL
+# endif
#endif
#ifdef TARGET_ASM_NAMED_SECTION
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 14426f66ac4..cfe394139cc 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,919 @@
+2005-09-02 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/23547
+ * gcc.dg/pr23547.c: New test.
+
+2005-09-02 Richard Sandiford <richard@codesourcery.com>
+
+ PR c/22061
+ * gcc.c-torture/execute/pr22061-1.c,
+ * gcc.c-torture/execute/pr22061-2.c,
+ * gcc.c-torture/execute/pr22061-3.c,
+ * gcc.c-torture/execute/pr22061-4.c: New tests.
+
+2005-09-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
+
+ * gcc.dg/Wredundant-decls-2.c: New test to check that
+ -Wredundant-decls does not issue warning for a variable
+ definition following a declaration.
+
+2005-09-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/7241
+ * gcc.dg/debug/dwarf2/dwarf-char1.c: New test.
+ * gcc.dg/debug/dwarf2/dwarf-char2.c: New test.
+ * gcc.dg/debug/dwarf2/dwarf-char3.c: New test.
+
+ * gcc.dg/debug/dwarf2/dwarf-die1.c: Fix a typo.
+ * gcc.dg/debug/dwarf2/dwarf-die2.c: Likewise.
+ * gcc.dg/debug/dwarf2/dwarf-die3.c: Likewise.
+ * gcc.dg/debug/dwarf2/dwarf-die5.c: Likewise.
+ * gcc.dg/debug/dwarf2/dwarf-die6.c: Likewise.
+ * gcc.dg/debug/dwarf2/dwarf-die7.c: Likewise.
+ * gcc.dg/debug/dwarf2/dwarf-uninit.c: Likewise.
+ * gcc.dg/debug/dwarf2/dwarf2-macro.c: Likewise.
+
+2005-08-31 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR objc/23306
+ * objc.dg/image-info.m: Remove "objc_module_info" check part of the
+ scan-assmbler.
+
+2005-08-31 J"orn Rennecke <joern.rennecke@st.com>
+
+ PR target/21255
+ * gcc.dg/pr21255-1.c: New test.
+ * gcc.dg/pr21255-2-mb.c: Likewise.
+ * gcc.dg/pr21255-2-ml.c: Likewise.
+ * gcc.dg/pr21255-3.c: Likewise.
+ * gcc.dg/pr21255-4.c: Likewise.
+
+2005-08-31 Dale Johannesen <dalej@apple.com>
+
+ * gcc.dg/20050830-1.c: New.
+
+2005-08-31 Josh Conner <jconner@apple.com>
+
+ * g++.dg/ext/packed8.C: Add -mstructure-size-boundary=8 to
+ command-line options for arm-*-* targets.
+ * g++.dg/init/array16.C: Likewise.
+ * g++.dg/other/crash-4.C: Likewise.
+
+2005-08-31 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR obj-c++/23640
+ * obj-c++.dg/gnu-runtime-3.mm: New test.
+
+2005-08-31 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/13377
+ * g++.dg/lookup/ambig4.C: New test.
+ * g++.dg/lookup/ambig5.C: New test.
+ * g++.dg/tc1/dr101.C: Adjust error markers.
+
+2005-08-31 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/23639
+ * g++.dg/template/ttp5.C: Adjust error markers.
+
+2005-08-30 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR testsuite/23609
+ * lib/obj-c++.exp: Include target-libpath.exp.
+ (obj-c++_link_flags): Look for the GNU libobjc library
+ and set the library path to include it.
+ Don't manually set LD_LIBRARY_PATH (etc.) but call
+ set_ld_library_path_env_vars instead.
+ (obj-c++_target_compile): Don't set library path or
+ linker flags because they are already set correctly
+ in obj-c++_link_flags.
+
+2005-08-30 Josh Conner <jconner@apple.com>
+
+ * gcc.dg/builtin-stringop-chk-1.c: Add -mstructure-size-boundary=8
+ to command-line options for arm-*-* targets.
+
+2005-08-30 Geoffrey Keating <geoffk@apple.com>
+
+ * g++.dg/other/i386-1.C: New.
+
+2005-08-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR preprocessor/20348
+ PR preprocessor/20356
+ * gcc.dg/cpp/pr20348.c: New test.
+ * gcc.dg/cpp/pr20348.h: New file.
+ * gcc.dg/cpp/inc/pr20348.h: New file.
+ * gcc.dg/cpp/inc/pr20348-aux.h: New file.
+ * gcc.dg/cpp/pr20356.c: New test.
+ * gcc.dg/cpp/pr20356.h: New file.
+ * gcc.dg/cpp/inc/pr20356.h: New file.
+ * gcc.dg/cpp/inc/pr20356-aux.h: New file.
+
+2005-08-29 Jerry DeLisle <jvdelisle@verizon.net>
+
+ * gfortran.fortran-torture/execute/intrinsic_count.f90:
+ Fix array dimension to avoid correct end-of-file error.
+
+2005-08-29 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/23598
+ * gfortran.dg/iostat_1.f90: New test.
+
+2005-08-28 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/23408
+ * gcc.dg/pr23408.c: New test.
+
+2005-08-28 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/23099
+ * g++.dg/init/member1.C: Make sure erroneous static data member
+ definitions are required.
+ * g++.dg/template/static13.C: New test.
+ * g++.dg/template/static14.C: Likewise.
+
+2005-08-29 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.target/i386/pr23575.c: Use -msse2 instead of
+ -march=pentium4, remove ilp32 requirement.
+
+ PR middle-end/23484
+ * gcc.c-torture/execute/builtins/pr23484-chk.c: New test.
+ * gcc.c-torture/execute/builtins/pr23484-chk-lib.c: New file.
+
+2005-08-29 Andreas Jaeger <aj@suse.de>
+
+ PR testsuite/23607
+ * gcc.target/i386/pr23575.c: Run only on 32-bit x86.
+
+2005-08-28 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.c-torture/execute/20050316-2.c: New test.
+ * gcc.c-torture/execute/20050316-3.c: New test.
+ * gcc.dg/torture/pr16104-1.c: New test.
+
+2005-08-27 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/23463
+ * gcc.c-torture/execute/zero-struct-1.c: New test.
+
+2005-08-27 Richard Guenther <rguenther@suse.de>
+
+ PR target/23575
+ * gcc.target/i386/pr23575.c: New testcase.
+
+2005-08-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/23561
+ * gcc.c-torture/execute/20050826-1.c: New test.
+
+ PR rtl-opt/23560
+ * gcc.c-torture/execute/20050826-2.c: New test.
+
+2005-08-26 Dale Johannesen <dalej@apple.com>
+
+ * gcc.dg/20030711-1.c: Modify to work on Darwin.
+ * gcc.dg/20050826-1.c: New.
+
+2005-08-26 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/19004
+ * g++.dg/template/nontype13.C: New test.
+
+ PR c++/23491
+ * g++.dg/init/new14.C: New test.
+ * g++.dg/expr/anew1.C: Do not XFAIL.
+ * g++.dg/expr/anew2.C: Likewise.
+ * g++.dg/expr/anew3.C: Likewise.
+
+2005-08-26 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/22439
+ * gcc.dg/vla-3.c: New test.
+
+2005-08-25 Erik Edelmann <eedelman@acclab.helsinki.fi>
+
+ PR fortran/20363
+ * gfortran.dg/named_interface.f90: New.
+
+2005-08-26 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * gcc.c-torture/execute/frame-address.c: New test.
+
+2005-08-25 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/20817
+ * g++.old-deja/g++.benjamin/13908.C: Robustify expected error.
+
+2005-08-25 Alan Modra <amodra@bigpond.net.au>
+
+ * gcc.dg/vect/vect-52.c: Increase b[] and c[] size by one.
+
+2005-08-25 Alan Modra <amodra@bigpond.net.au>
+
+ * gcc.dg/20020103-1.c: Scan for LC[0-9], not LC.
+ * gcc.dg/altivec-22.c: Rename from..
+ * gcc.dg/altivec-nomfcr.c: ..this.
+
+2005-08-24 Paolo Bonzini <bonzini@gnu.org>
+
+ PR tree-optimization/23546
+ * gcc.dg/tree-ssa/pr23546.c: New test.
+
+2005-08-24 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR fortran/17758
+ * gfortran.dg/nonreturning_statements.f90: New test.
+
+2005-08-24 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/22454
+ * g++.dg/parse/crash29.C: New.
+
+2005-08-23 DJ Delorie <dj@redhat.com>
+
+ * gcc.c-torture/execute/stdarg-2.c (main): Make sure long
+ constants have the L suffix.
+
+2005-08-23 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/23044
+ * g++.dg/template/instantiate8.C: New.
+
+2005-08-23 J"orn Rennecke <joern.rennecke@st.com>
+
+ PR middle-end/23467
+ * gcc.c-torture/execute/pr23467.c: New test.
+
+2005-08-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/22043
+ * gcc.c-torture/execute/20050613-1.c: New test.
+
+2005-08-23 Ben Elliston <bje@au.ibm.com>
+
+ * gcc.c-torture/execute/ieee/ieee.exp: Load gcc-dg.exp library.
+
+2005-08-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/23478
+ * g++.dg/opt/pr23478.C: New test.
+
+2005-08-22 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR c/18715
+ * gcc.dg/switch-warn-3.c: New test.
+
+2005-08-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/22233
+ * g++.dg/template/param1.C: New test.
+
+2005-08-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/23089
+ * g++.dg/other/incomplete1.C: New test.
+
+2005-08-22 Ira Rosen <irar@il.ibm.com>
+
+ * gcc.dg/vect/vect-22.c: Add test for float. All four loops
+ are vectorizable.
+
+2005-08-21 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * d_lines_1.f, d_lines_2.f, d_lines_3.f, d_lines_4.f,
+ d_lines_5.f: New.
+
+2005-08-21 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.target/i386/sse-4.c: New test.
+
+2005-08-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR testsuite/23239
+ * gcc.dg/tree-prof/val-prof-5.c: Fix scan-tree-dump regexp.
+
+2005-08-20 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/20050811-1.c: New test.
+ * gcc.dg/20050811-2.c: New test.
+
+2005-08-20 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ * gcc.dg/arm-eabi1.c (main): Exit with 0 on success.
+
+2005-08-19 Diego Novillo <dnovillo@redhat.com>
+
+ PR 23476
+ * gcc.c-torture/compile/pr23476.c: New test.
+
+2005-08-19 Devang Patel <dpatel@apple.com>
+
+ PR tree-optimization/23048
+ * gcc.dg/tree-ssa/pr23048.c: New test.
+
+2005-08-19 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/20624
+ * g++.dg/warn/Wreturn-3.C: New test
+
+2005-08-18 Dorit Nuzman <dorit@il.ibm.com>
+
+ PR tree-optimization/22228
+ * g++.dg/vect/pr22543.cc: New test.
+
+2005-08-17 Steven Bosscher <stevenb@suse.de>
+
+ PR tree-optimization/21574
+ * gcc.dg/tree-ssa/pr21574.c: New test.
+
+2005-08-16 James E Wilson <wilson@specifix.com>
+
+ * gcc.dg/large-size-array.c (DIM): Use USHRT_MAX not USHORT_MAX.
+
+2005-08-16 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR tree-opt/23402
+ * gcc.c-torture/compile/zero-strct-3.c: New test.
+ * gcc.c-torture/compile/zero-strct-4.c: New test.
+
+2005-08-16 Steven Bosscher <stevenb@suse.de>
+
+ PR target/23376
+ * gcc.target/x86_64/pr23376.c: New test.
+
+2005-08-16 Ian Lance Taylor <ian@airs.com>
+
+ PR c++/23337
+ * g++.dg/ext/vector2.C: New.
+
+2005-08-16 Thomas Koenig <Thomas.Koenig@online.de>
+
+ * gfortran.dg/inquire-complex.f90: Correct mangled testcase.
+
+2005-08-16 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/23428
+ * gfortran.dg/inquire-complex.f90: New test case.
+
+2005-08-16 James E Wilson <wilson@specifix.com>
+
+ PR tree-optimization/21105
+ * gcc.dg/large-size-array.c: New.
+
+2005-08-16 Dorit Nuzman <dorit@il.ibm.com>
+
+ * gcc.dg/vect/vect-40: Use aligned arrays instead of arrays to aligned
+ type.
+ * gcc.dg/vect/vect-41: Likewise.
+ * gcc.dg/vect/vect-42: Likewise.
+ * gcc.dg/vect/vect-43: Likewise.
+ * gcc.dg/vect/vect-44: Likewise.
+ * gcc.dg/vect/vect-46: Likewise.
+ * gcc.dg/vect/vect-47: Likewise.
+ * gcc.dg/vect/vect-48: Likewise.
+ * gcc.dg/vect/vect-52: Likewise.
+ * gcc.dg/vect/vect-53: Likewise.
+ * gcc.dg/vect/vect-54: Likewise.
+ * gcc.dg/vect/vect-55: Likewise.
+ * gcc.dg/vect/vect-56: Likewise.
+ * gcc.dg/vect/vect-57: Likewise.
+ * gcc.dg/vect/vect-58: Likewise.
+ * gcc.dg/vect/vect-59: Likewise.
+ * gcc.dg/vect/vect-60: Likewise.
+ * gcc.dg/vect/vect-61: Likewise.
+ * gcc.dg/vect/vect-85: Likewise.
+ * gcc.dg/vect/vect-87: Likewise.
+ * gcc.dg/vect/vect-88: Likewise.
+ * gcc.dg/vect/vect-93.c: Likewise.
+ * gcc.dg/vect/vect-74: Likewise, and also added documentation.
+ * gcc.dg/vect/vect-75: Likewise.
+ * gcc.dg/vect/vect-76: Likewise.
+ * gcc.dg/vect/vect-77: Likewise.
+ * gcc.dg/vect/vect-78: Likewise.
+ * gcc.dg/vect/vect-80: Likewise.
+ * gcc.dg/vect/vect-35: Likewise, and also check that the test wasn't
+ vectorized for the expected reason, rather than checking how alignment
+ was handled.
+ * gcc.dg/vect/vect-92.c: Use aligned arrays instead of arrays to aligned
+ type and also instead of aligned pointers. Added documentation.
+
+2005-08-16 Feng Wang <fengwang@nudt.edu.cn>
+
+ * gfortran.dg/power.f90: New test.
+
+2005-08-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/23299
+ * g++.dg/opt/pr23299.C: New test.
+
+2005-08-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * gcc.dg/special/weak-1.c: xfail 32-bit hppa*-*-hpux*.
+
+2005-08-15 Fariborz Jahanian <fjahanian@apple.com>
+
+ * g++.dg/template/local6.C: New test.
+
+2005-08-14 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * execute/exceptions/finally-1.m: Check that the catch and finally are
+ being called. Also add a "return 0;" at the end of main.
+
+2005-08-14 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/21432.
+ * gfortran.dg/namelist_print_1.f: New test of functionality of
+ PRINT namelist.
+ * gfortran.dg/namelist_print_2.f: New test to check that PRINT
+ namelist generates error with -std=f95.
+
+2005-08-14 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/23119
+ * gcc.dg/vect/vect-105.c: Add xfail for no_align targets.
+
+2005-08-13 Marcin Koziej <creep@desk.pl>
+ Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR libobjc/22492
+ * execute/exceptions/finally-1.m: New test.
+
+2005-08-13 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * objc/execute/exceptions/exceptions.exp: New exp for the exceptions
+ testsuite.
+ * objc/execute/exceptions/trivial.m: New test.
+ * objc.dg/try-catch-11.m: Move to ...
+ * objc/execute/exceptions/foward-1.m: Here.
+ * objc.dg/try-catch-2.m: Move to ...
+ * objc/execute/exceptions/catchall-1.m: Here.
+ * objc.dg/try-catch-8.m: Move to ...
+ * objc/execute/exceptions/local-variables-1.m: Here.
+
+2005-08-13 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * objc.dg/nested-func-1.m: Move to ...
+ * objc/execute/nested-func-1.m: Here.
+
+2005-08-13 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * lib/objc.exp (objc_target_compile): Check for -fgnu-runtime
+ in ${options} instead of [target_info name].
+ * lib/obj-c++.exp (objc_target_compile): Likewise.
+
+2005-08-13 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * objc.dg/stubify-2.m: Correct the name of the rtl dump file.
+
+2005-08-13 Andrew Pinski <pinskia@physics.uc.edu>
+
+ part of PR testsuite/23348
+ * lib/objc-torture.exp: Add -fgnu-runtime and/or -fnext-runtime to each
+ of the torture options.
+ * objc/compile/trivial.m: New test.
+
+2005-08-12 Thomas Koenig <Thomas.Koenig@online.de>
+
+ * gfortran.dg/eoshift.f90: Correct format.
+
+2005-08-12 Thomas Koenig <Thomas.Koenig@online.de>
+
+ * gfortran.fortran-torture/execute/character_passing.f90:
+ Fix comment typo.
+
+2005-08-12 Giovanni Bajo <giovannibajo@libero.it>
+
+ PR c++/8271
+ * g++.dg/template/unify10.C: New.
+
+2005-08-11 James A. Morrison <phython@gcc.gnu.org>
+
+ * g++.dg/parse/pr22514.C: Move to...
+ * g++.dg/debug/pr22514.C: here.
+
+2005-08-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/23266
+ * g++.dg/inherit/pure1.C: New test.
+
+ * ChangeLog: Fix typos.
+
+2005-08-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+ Steven Bosscher <stevenb@suse.de>
+
+ * gfortran.dg/runtime_warning_1.f90: New test.
+
+2005-08-11 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/23219
+ * g++.dg/parse/crash28.C: New.
+
+2005-08-11 Richard Guenther <rguenther@suse.de>
+
+ PR target/23289
+ * gcc.target/i386/tailcall-1.c: New testcase.
+
+2005-08-10 James A. Morrison <phython@gcc.gnu.org>
+
+ * gcc.dg/vect/vect-67.c: Un-xfail.
+
+2005-08-10 James A. Morrison <phython@gcc.gnu.org>
+
+ PR c++/23225
+ * g++.dg/testsuite/parse/crash27.C: new test.
+
+2005-08-10 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/22143
+ * gfortran.dg/shift-kind.f90: New testcase.
+
+2005-08-10 Richard Sandiford <richard@codesourcery.com>
+
+ * gcc.dg/arm-eabi1.c: Test aeabi_idiv, __aeabi_uidiv, __aeabi_uread4,
+ __aeabi_uread8, __aeabi_uwrite4 and __aeabi_uwrite8.
+
+2005-08-10 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/20646
+ * g++.dg/other/mult-stor1.C: New test.
+
+2005-08-09 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * gcc.c-torture/pr18299-1.c: Move to ...
+ * gcc.c-torture/compile/pr18299-1.c: Here.
+
+2005-08-09 Thomas Koenig <Thomas.Koenig@online.de>
+
+ * gfortran/fortran.torture/execute/character_passing.f90:
+ Fix types for LSAME.
+
+2005-08-09 Dorit Nuzman <dorit@il.ibm.com>
+
+ * gcc.dg/vect/vect-reduc-1char.c: Reverse last change - change
+ input data back to what it was originally.
+
+2005-08-09 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * objc.dg/try-catch-8.m: Enable for all targets.
+
+2005-08-09 James A. Morrison <phython@gcc.gnu.org>
+
+ * gcc.dg/pr23165.c: New test.
+
+2005-08-09 Steven Bosscher <stevenb@suse.de>
+
+ PR tree-optimization/23234
+ * gcc.dg/tree-ssa/pr23234.c: New test.
+
+2005-08-08 Josh Conner <jconner@apple.com>
+
+ PR rtl-optimization/23241
+ * gcc.dg/char-compare.c: New test.
+
+2005-08-08 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/22508
+ * g++.dg/init/new13.C: New test.
+
+2005-08-08 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/21166
+ * g++.dg/other/crash-4.C: Adjust
+ * g++/dg/ext/packed9.C: New.
+
+2005-08-08 Richard Sandiford <richard@codesourcery.com>
+
+ PR middle-end/21964
+ * gcc.c-torture/execute/pr21964-1.c: New test.
+
+2005-08-08 Richard Sandiford <richard@codesourcery.com>
+
+ PR c/22458
+ * gcc.dg/pr22458-1.c: New test.
+
+2005-08-07 Janne Blomqvist <jblomqvi@cc.hut.fi>
+ Steven G. Kargl <kargls@comcast.net>
+
+ PR fortran/22390
+ * gfortran.dg/flush_1.f90: New test.
+
+2005-08-06 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/23191
+ * g++.dg/template/eh2.C: New test.
+
+2005-08-06 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/19498
+ * g++.dg/template/instantiate7.C: New test.
+
+2005-08-06 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/23113
+ * gcc.dg/Wunused-value-1.c: New test.
+
+2005-08-06 Richard Sandiford <richard@codesourcery.com>
+
+ PR rtl-optimization/23233
+ * gcc.c-torture/compile/pr23233-1.c: New test.
+
+2005-08-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/18833
+ PR fortran/20850
+ * gfortran.dg/equiv_1.f90: New test.
+ * gfortran.dg/equiv_2.f90: New test.
+ * gfortran.fortran-torture/execute/equiv_2.f90: New test.
+ * gfortran.fortran-torture/execute/equiv_3.f90: New test.
+ * gfortran.fortran-torture/execute/equiv_4.f90: New test.
+
+2005-08-05 James A. Morrison <phython@gcc.gnu.org>
+
+ * gcc.c-torture/execute/vrp-5.c: New test.
+ * gcc.c-torture/execute/vrp-6.c: New test.
+ * gcc.dg/tree-ssa/vrp21.c: New test.
+
+2005-08-05 James A. Morrison <phython@gcc.gnu.org>
+
+ * g++.dg/parse/pr22514.C: New test.
+
+2005-08-05 J"orn Rennecke <joern.rennecke@st.com>
+
+ * gcc.dg/intmax_t-1.c: Extend dg-error to cover sh*-*-elf targets.
+
+ * gcc.dg/tree-ssa/loop-1.c: For sh*-*-*, look for function calls
+ instead of constant loads / pool entries.
+
+2005-08-05 David Edelsohn <edelsohn@gnu.org>
+
+ * gcc.dg/torture/builtin-wctype-1.c: Use __WINT_TYPE__ for
+ TEST_TO_WCTYPE.
+
+2005-08-04 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * gcc.dg/torture/builtin-wctype-1.c: Use __WCHAR_TYPE__ and
+ __WINT_TYPE__ in generated prototypes if possible.
+
+2005-08-04 Diego Novillo <dnovillo@redhat.com>
+
+ PR 22037
+ * g++.dg/tree-ssa/pr22037.C:
+
+2005-08-04 Richard Henderson <rth@redhat.com>
+
+ * gcc.dg/tree-ssa/update-cunroll.c: Fix mistakes in
+ scan-tree-dump-times directive.
+
+2005-08-04 Jan Hubicka <jh@suse.cz>
+
+ * gcov-1.C: Fix switch counts.
+ * gcov-4b.c: Likewise.
+
+2005-08-03 Jeff Law <law@redhat.com>
+
+ * g++.dg/tree-ssa/pr14814.C: xfail test for &this count.
+
+2005-08-03 J"orn Rennecke <joern.rennecke@st.com>
+
+ * gcc.c-torture/execute/pr23135.c: New test.
+
+2005-08-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR tree-optimization/19899
+ * gcc.dg/tree-ssa/scev-1.c: New test.
+ * gcc.dg/tree-ssa/scev-2.c: New test.
+
+2005-08-03 Richard Sandiford <richard@codesourcery.com>
+
+ PR target/18582
+ * testsuite/gcc.dg/torture/pr18582-1.c: New test.
+
+2005-08-03 Jan Hubicka <jh@suse.cz>
+
+ * update-conroll.c: New testcase.
+ * update-conroll-2.c: New testcase.
+
+2005-08-02 David Edelsohn <edelsohn@gnu.org>
+
+ * gfortran.dg/constant_substring.f: New test.
+ * gfortran.dg/pr22491.f: New test.
+
+2005-08-02 Jan Hubicka <jh@suse.cz>
+
+ * update-threading.c: Replace by the proper one.
+
+2005-08-02 Diego Novillo <dnovillo@redhat.com>
+
+ PR 23164
+ * g++.dg/tree-ssa/pr23164.C: New test.
+
+2005-08-02 Diego Novillo <dnovillo@redhat.com>
+
+ * gcc.dg/tree-ssa/pr23192.c: New test.
+
+2005-08-02 James A. Morrison <phython@gcc.gnu.org>
+
+ * gcc.c-torture/execute/vrp-4.c: New test.
+
+2005-08-02 Jan Hubicka <jh@suse.cz>
+
+ * update-threading.c: New test.
+
+2005-08-01 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * gcc.c-torture/compile/20050801-1.c: New test.
+ * gcc.c-torture/compile/20050801-2.c: New test.
+
+2005-08-01 Jan Hubicka <jh@suse.cz>
+
+ * val-prof-5.c: New test.
+
+2005-08-01 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/22311
+ * gcc.dg/pr22311-1.c : New test.
+
+2005-07-31 Steven Bosscher <stevenb@suse.de>
+
+ PR target/23095
+ * gfortran.dg/pr23095.f: New test.
+
+ PR c++/22003
+ * g++.dg/other/pr22003.C: New test.
+
+2005-07-31 Richard Sandiford <richard@codesourcery.com>
+
+ PR target/20621
+ * gcc.c-torture/execute/pr20621-1.c: New test.
+
+2005-07-30 Thomas Koenig <Thomas.Koenig@online.de>
+
+ * gfortran.dg/comma_format_extension_4.f: Adjust length
+ of string for format.
+ * gfortran.dg/der_array_io_1.f: Replace illegal internal
+ print statement with internal write.
+ * gfortran.dg/der_array_io_2.f: Likewise.
+ * gfortran.dg/der_array_io_3.f: Likewise.
+
+2005-07-30 James A. Morrison <phython@gcc.gnu.org>
+
+ * gcc.dg/fold-abs-4.c: new test.
+
+2005-07-30 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/22570 an related issues.
+ * gfortran.dg/x_slash_1.f: New test.
+
+2005-07-30 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/23143
+ * gcc.dg/parm-forwdecl-1.c, gcc.dg/parm-forwdecl-2.c,
+ gcc.dg/parm-forwdecl-3.c, gcc.dg/parm-forwdecl-4.c: New tests.
+
+2005-07-29 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/529
+ * gcc.dg/Wshadow-3.c: New test.
+
+2005-07-29 Thomas Koenig <Thomas.Koenig@online.de>
+
+ * gfortran.dg/matmul_1.f90: Correct LHS of matmul test (it
+ used to have the wrong bounds).
+
+2005-07-29 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/21720
+ * gcc.dg/hex-round-1.c: Test more cases.
+ * gcc.dg/hex-round-2.c: New test.
+
+2005-07-29 Diego Novillo <dnovillo@redhat.com>
+
+ PR 22550
+ * g++.dg/tree-ssa/pr22550.C: New test.
+
+2005-07-29 James A. Morrison <phython@gcc.gnu.org>
+
+ * gcc.dg/tree-ssa/vrp19.c: New test.
+ * gcc.dg/tree-ssa-vrp20.c: New test.
+
+2005-07-29 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/22240
+ * gcc.dg/transparent-union-4.c: New test.
+
+2005-07-29 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/22192
+ * gcc.dg/c99-vla-2.c: New test.
+
+2005-07-29 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/21720
+ * gcc.dg/hex-round-1.c: New test.
+
+2005-07-28 Jan Hubicka <jh@suse.cz>
+
+ * inliner-1.c: Do not dump everything.
+ * tree-prof.exp: Do not pass -ftree-based-profiling.
+ * bprob.exp: Likewise.
+
+ * gcc.dg/tree-prof/update-loopch.c: Fix thinkos.
+
+2005-07-28 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/22545
+ * g++.dg/expr/ptrmem7.C: New test.
+
+2005-07-28 Mike Stump <mrs@apple.com>
+
+ * g++.old-deja/g++.mike/visibility-1.C: New test.
+
+2005-07-28 Richard Sandiford <richard@codesourcery.com>
+
+ PR c/20187
+ * gcc.c-torture/execute/pr20187-1.c: New test.
+
+2005-07-28 Jeff Law <law@redhat.com>
+
+ * gcc.dg/tree-ssa/vrp17.c: Update expected output.
+ * gcc.dg/tree-ssa/vrp18.c: New test.
+
+2005-07-28 Dorit Nuzman <dorit@il.ibm.com>
+
+ * gcc.dg/vect/vect-reduc-1char.c: Fix data to fit in char.
+
+2005-07-28 Dorit Nuzman <dorit@il.ibm.com>
+
+ PR tree-optimization/22506
+ * gcc.dg/vect/ps22506.c: New test.
+
+2005-07-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/21149
+ * gcc.target/i386/sse-3.c: New test.
+
+2005-07-28 Richard Sandiford <richard@codesourcery.com>
+
+ * gcc.target/mips/mips32-dsp.c: Use -march=mips32 instead of -mips32.
+ * gcc.target/mips/mips32-dsp-type.c: Likewise.
+
+2005-07-28 Richard Sandiford <richard@codesourcery.com>
+
+ PR c/22589
+ * gcc.c-torture/compile/pr22589-1.c: New test.
+
+2005-07-28 Jan Hubicka <jh@suse.cz>
+
+ * update-loopch.c: New testcase.
+
+2005-07-27 James A. Morrison <phython@gcc.gnu.org>
+
+ PR rtl-optimization/23047
+ * gcc.c-torture/execute/pr23047.c: New test.
+ * gcc.c-torture/execute/pr23047.x: New.
+
+2005-07-27 James A. Morrison <phython@gcc.gnu.org>
+
+ PR tree-optimization/22493
+ * gcc.c-torture/execute/pr22493-1.c: New test.
+ * gcc.c-torture/execute/pr22493-1.x: New.
+ * gcc.c-torture/execute/vrp-1.c: New test.
+ * gcc.c-torture/execute/vrp-2.c: New test.
+ * gcc.c-torture/execute/vrp-2.c: New test.
+
+2005-07-27 Aldy Hernandez <aldyh@redhat.com>
+
+ * gcc.target/frv/all-builtin-read8.c: Delete.
+ * gcc.target/frv/all-builtin-read16.c: Delete.
+ * gcc.target/frv/all-builtin-read32.c: Delete.
+ * gcc.target/frv/all-builtin-read64.c: Delete.
+ * gcc.target/frv/all-builtin-write8.c: Delete.
+ * gcc.target/frv/all-builtin-write16.c: Delete.
+ * gcc.target/frv/all-builtin-write32.c: Delete.
+ * gcc.target/frv/all-builtin-write64.c: Delete.
+ * gcc.target/frv/all-read-write-1.c: New.
+
+2005-07-27 Jeff Law <law@redhat.com>
+
+ * gcc.c-torture/execute/pr22630.c: New test.
+
+2005-07-27 Dorit Nuzman <dorit@il.ibm.com>
+
+ PR tree-optimization/23073
+ * gcc.dg/vect/nodump-pr23073.c: New test.
+ * gcc.dg/vect/vect.exp: Allow running some tests without dump flags.
+
+2005-07-27 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimize/22348
+ * gcc.c-torture/execute/pr22348.c: New.
+
+2005-07-27 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/salias-1.c: New testcase.
+
2005-07-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
PR fortran/22503
@@ -94,7 +1010,7 @@
2005-07-23 Jerry DeLisle <jvdelisle@verizon.net>
* gfortran.fortran-torture/execute/nan_inf_fmt.f90: Revise test to
- include case of field width of zero.
+ include case of field width of zero.
2005-07-23 Jerry DeLisle <jvdelisle@verizon.net>
@@ -163,7 +1079,7 @@
PR c++/2922
* g++.dg/lookup/two-stage5.C: New test from bug comments.
-
+
2005-07-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
PR c++/15938
@@ -205,14 +1121,14 @@
* g++.dg/lookup/two-stage4.C: New. Illustrates how we have not yet
fixed two-stage name lookup for operators.
* g++.dg/template/call3.C: Compiler now produces an appropriate
- error message.
+ error message.
* g++.dg/template/crash37.C: Compiler now describes bla() on line
- 14 as a candidate.
+ 14 as a candidate.
* g++.dg/template/ptrmem4.C: Compiler produces different error
message.
* g++.old-deja/g++.other/pmf3.C: Compiler now describes
connect_to_method as a candidate.
-
+
2005-07-20 James A. Morrison <phython@gcc.gnu.org>
* gcc.dg/fold-alloc-1.c: New test.
@@ -271,7 +1187,7 @@
* gfortran.fortran-torture/execute/nan_inf_fmt.f90: Change case of field
width of 8 to +Inf and -Inf.
-
+
2005-07-17 Mark Mitchell <mark@codesourcery.com>
PR c++/22139
@@ -649,7 +1565,7 @@
2005-05-29 Richard Henderson <rth@redhat.com>
- * lib/target-supports.exp (check_effective_target_vect_no_max):
+ * lib/target-supports.exp (check_effective_target_vect_no_max):
Remove i386 and x86_64.
2005-06-29 Steve Ellcey <sje@cup.hp.com>
@@ -671,7 +1587,7 @@
* gcc.dg/inline3.c: Ditto.
* gcc.dg/inline4.c: Ditto.
* gcc.dg/inline5.c: Ditto.
-
+
2005-06-28 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/22142
@@ -878,7 +1794,7 @@
* gfortran.dg/f2c_4.f90: Add tests for complex functions
* gfortran.dg/f2c_4.c: Likewise
-
+
2005-06-22 Paul Brook <paul@codesourcery.com>
PR fortran/21034
@@ -929,7 +1845,7 @@
2005-06-21 Dorit Nuzman <dorit@il.ibm.com>
- * lib/target-supports.exp (check_effective_target_vect_reduction):
+ * lib/target-supports.exp (check_effective_target_vect_reduction):
Remove.
* gcc.dg/vect/vect.exp: Run tests with additional flags separately.
* gcc.dg/vect/vect-reduc-1.c: Vectorizable on all relevant platforms -
@@ -950,7 +1866,7 @@
* gfortran.dg/func_derived_2.f90, gfortran.dg/func_derived_3.f90:
New tests.
-
+
2005-06-20 Francois-Xavier Coudert <coudert@clipper.ens.fr>
* gfortran.dg/backslash_1.f90: New test.
@@ -2036,8 +2952,8 @@
2005-05-17 Jeff Law <law@redhat.com>
- * g++.dg/tree-ssa/pr18414.C: New test.
- * gcc.dg/tree-ssa/pr18414.C: New test.
+ * g++.dg/tree-ssa/pr14814.C: New test.
+ * gcc.dg/tree-ssa/pr14814.C: New test.
* gcc.dg/tree-ssa/pr17141-1.C: New test.
* gcc.dg/tree-ssa/pr17141-2.C: New test.
@@ -6031,7 +6947,7 @@
PR c++/18378
* g++.dg/ext/packed8.C: New test.
- PR c++/13268
+ PR c++/19063
* g++.dg/template/crash31.C: New test.
PR c++/19034
diff --git a/gcc/testsuite/g++.dg/bprob/bprob.exp b/gcc/testsuite/g++.dg/bprob/bprob.exp
index 64df32fd851..f4b971bff3c 100644
--- a/gcc/testsuite/g++.dg/bprob/bprob.exp
+++ b/gcc/testsuite/g++.dg/bprob/bprob.exp
@@ -52,10 +52,6 @@ load_lib profopt.exp
set profile_options "-fprofile-arcs"
set feedback_options "-fbranch-probabilities"
-if {[check_profiling_available "-ftree-based-profiling"]} {
- lappend profile_options "-ftree-based-profiling -fprofile-arcs"
- lappend feedback_options "-ftree-based-profiling -fbranch-probabilities"
-}
# Main loop.
foreach profile_option $profile_options feedback_option $feedback_options {
diff --git a/gcc/testsuite/g++.dg/expr/anew1.C b/gcc/testsuite/g++.dg/expr/anew1.C
index 9e0d0ec601f..d7a4288802a 100644
--- a/gcc/testsuite/g++.dg/expr/anew1.C
+++ b/gcc/testsuite/g++.dg/expr/anew1.C
@@ -1,5 +1,4 @@
-// { dg-do run { xfail *-*-* } }
-// XFAILed until PR2123 is fixed
+// { dg-do run }
// PR 11228: array operator new, with zero-initialization and a variable sized array.
// Regression test for PR
// Author: Matt Austern <austern@apple.com>
diff --git a/gcc/testsuite/g++.dg/expr/anew2.C b/gcc/testsuite/g++.dg/expr/anew2.C
index aa11eef149c..fbf2152d4ac 100644
--- a/gcc/testsuite/g++.dg/expr/anew2.C
+++ b/gcc/testsuite/g++.dg/expr/anew2.C
@@ -1,5 +1,4 @@
-// { dg-do run { xfail *-*-* } }
-// XFAILed until PR2123 is fixed
+// { dg-do run }
// PR 11228: array operator new, with zero-initialization and a variable sized array.
// Regression test for PR
// Author: Matt Austern <austern@apple.com>
diff --git a/gcc/testsuite/g++.dg/expr/anew3.C b/gcc/testsuite/g++.dg/expr/anew3.C
index c8ab44183ca..9bb64ea4ea7 100644
--- a/gcc/testsuite/g++.dg/expr/anew3.C
+++ b/gcc/testsuite/g++.dg/expr/anew3.C
@@ -1,5 +1,4 @@
-// { dg-do run { xfail *-*-* } }
-// XFAILed until PR2123 is fixed
+// { dg-do run }
// PR 11228: array operator new, with zero-initialization and a variable sized array.
// Regression test for PR
// Author: Matt Austern <austern@apple.com>
diff --git a/gcc/testsuite/g++.dg/ext/packed8.C b/gcc/testsuite/g++.dg/ext/packed8.C
index a68fa2c8a41..61d248e9928 100644
--- a/gcc/testsuite/g++.dg/ext/packed8.C
+++ b/gcc/testsuite/g++.dg/ext/packed8.C
@@ -1,4 +1,8 @@
// PR c++/18378
+// NOTE: This test assumes packed structure layout differs from unpacked
+// structure layout. This isn't true, e.g., with the default
+// arm-none-elf options.
+// { dg-options "-mstructure-size-boundary=8" { target arm-*-* } }
class A
{
diff --git a/gcc/testsuite/g++.dg/gcov/gcov-1.C b/gcc/testsuite/g++.dg/gcov/gcov-1.C
index 6089adac05b..c279b1452fc 100644
--- a/gcc/testsuite/g++.dg/gcov/gcov-1.C
+++ b/gcc/testsuite/g++.dg/gcov/gcov-1.C
@@ -253,7 +253,7 @@ test_switch (int i, int j)
{
int result = 0; /* count(5) */
- /* branch(80 25) */
+ /* branch(20 0 60 20) */
switch (i) /* count(5) */
/* branch(end) */
{
diff --git a/gcc/testsuite/g++.dg/init/array16.C b/gcc/testsuite/g++.dg/init/array16.C
index fa4c1b65088..bcffa71c347 100644
--- a/gcc/testsuite/g++.dg/init/array16.C
+++ b/gcc/testsuite/g++.dg/init/array16.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-options "-mstructure-size-boundary=8" { target arm-*-* } }
// Copyright (C) 2004 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 8 Dec 2004 <nathan@codesourcery.com>
@@ -6,6 +7,9 @@
// PR 16681 too much memory used
// Origin: Matt LaFary <lafary@activmedia.com>
+// NOTE: This test assumes that 4M instances of struct ELT can fit into
+// a 5MB array. This isn't true, e.g., with the default
+// arm-none-elf options.
struct elt
{
diff --git a/gcc/testsuite/g++.dg/init/member1.C b/gcc/testsuite/g++.dg/init/member1.C
index 1c89d5a1d43..aededf23e7b 100644
--- a/gcc/testsuite/g++.dg/init/member1.C
+++ b/gcc/testsuite/g++.dg/init/member1.C
@@ -11,8 +11,11 @@ template<int> struct B {};
template<typename T> struct C
{
static const int i = A<T>::i; // { dg-error "incomplete" }
- static const int j = i; // { dg-error "initialized by a non-const" }
+ static const int j = i;
B<j> b; // { dg-error "not a valid template arg" }
};
C<int> c;
+
+int i = C<int>::i;
+int j = C<int>::j;
diff --git a/gcc/testsuite/g++.dg/other/crash-4.C b/gcc/testsuite/g++.dg/other/crash-4.C
index 35f23e8ccc0..900afb7f90b 100644
--- a/gcc/testsuite/g++.dg/other/crash-4.C
+++ b/gcc/testsuite/g++.dg/other/crash-4.C
@@ -4,12 +4,19 @@
// PR 20678: ICE on error message
// Origin: Andrew Pinski pinskia@gcc.gnu.org
+// NOTE: This test assumes packed structure layout differs from unpacked
+// structure layout. This isn't true, e.g., with the default
+// arm-none-elf options.
+// { dg-options "-mstructure-size-boundary=8" { target arm-*-* } }
+
struct a
{
+ int m;
a(const a&);
};
struct b
{ // { dg-error "cannot bind packed field" }
+ char c;
a aa __attribute__((packed));
};
struct c
diff --git a/gcc/testsuite/g++.dg/tc1/dr101.C b/gcc/testsuite/g++.dg/tc1/dr101.C
index ede2215601f..8d9cab518b9 100644
--- a/gcc/testsuite/g++.dg/tc1/dr101.C
+++ b/gcc/testsuite/g++.dg/tc1/dr101.C
@@ -17,10 +17,10 @@ namespace Test1 {
namespace Test2 {
- typedef unsigned int X;
+ typedef unsigned int X; // { dg-bogus "declared" "" { xfail *-*-* } }
extern "C" int f2();
namespace N {
- typedef unsigned int X;
+ typedef unsigned int X; // { dg-bogus "declared" "" { xfail *-*-* } }
extern "C" int f2();
}
using namespace N;
diff --git a/gcc/testsuite/g++.dg/template/ttp5.C b/gcc/testsuite/g++.dg/template/ttp5.C
index d26b8164eed..ee9d1ff7cc9 100644
--- a/gcc/testsuite/g++.dg/template/ttp5.C
+++ b/gcc/testsuite/g++.dg/template/ttp5.C
@@ -16,5 +16,5 @@ template <template <int> class F> struct C {
};
template <int n> struct D {
- enum { v = C<A<n>::B>::v }; // { dg-error "mismatch|class template|not a member" }
+ enum { v = C<A<n>::B>::v }; // { dg-error "mismatch|class template" }
};
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr14814.C b/gcc/testsuite/g++.dg/tree-ssa/pr14814.C
index 59e3c9bc9b4..c793f88f22f 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr14814.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr14814.C
@@ -14,7 +14,7 @@ int foo(XX& r) {
if (r.direction().y() < 0.000001) return 0;
return 1; }
-/* { dg-final { scan-tree-dump-times "&this" 0 "forwprop2" } } */
+/* { dg-final { scan-tree-dump-times "&this" 0 "forwprop2" { xfail *-*-* } } }*/
/* { dg-final { scan-tree-dump-times "&r" 0 "forwprop2" } } */
/* { dg-final { cleanup-tree-dump "forwprop2" } } */
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/13908.C b/gcc/testsuite/g++.old-deja/g++.benjamin/13908.C
index e26556210e2..d18434eca19 100644
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/13908.C
+++ b/gcc/testsuite/g++.old-deja/g++.benjamin/13908.C
@@ -17,5 +17,5 @@ void bar (chile* pobj, pmf pmethod)
{
//-edg: expected member name
//-g++: taking address of bound pointer-to-member expression
- foo = (void*) &(pobj->*pmethod); // { dg-error "" }
+ foo = (void*) &(pobj->*pmethod); // { dg-error "invalid use" }
}
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp b/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp
index e95f45e83a9..ec1b7330218 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp
@@ -19,10 +19,11 @@
# Written by Jeffrey Wheat (cassidy@cygnus.com)
#
-#
+# Load support procs.
+load_lib gcc-dg.exp
+
# These tests come from Torbjorn Granlund's (tege@cygnus.com)
# C torture test suite, and other contributors.
-#
# Disable tests on machines with no hardware support for IEEE arithmetic.
if { [istarget "vax-*-*"] || [ istarget "powerpc-*-*spe"] } { return }
diff --git a/gcc/testsuite/gcc.c-torture/execute/stdarg-2.c b/gcc/testsuite/gcc.c-torture/execute/stdarg-2.c
index 3d32ec8b422..40246f937ef 100644
--- a/gcc/testsuite/gcc.c-torture/execute/stdarg-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/stdarg-2.c
@@ -143,8 +143,8 @@ f12 (int i, ...)
int
main (void)
{
- f1 (1, 79);
- if (x != 79)
+ f1 (1, 79L);
+ if (x != 79L)
abort ();
f2 (0x4002, 13, -14.0);
if (bar_arg != 0x4002)
diff --git a/gcc/testsuite/gcc.c-torture/pr18299-1.c b/gcc/testsuite/gcc.c-torture/pr18299-1.c
deleted file mode 100644
index 7dc1157011f..00000000000
--- a/gcc/testsuite/gcc.c-torture/pr18299-1.c
+++ /dev/null
@@ -1,12 +0,0 @@
-/* We used to ICE in gimple-lower because we
- would produce __t (VAR_DECL) as a statement in the
- instruction stream which is not valid. */
-
-static inline int f(int i)
-{
- const int __t = (__t);
-}
-int g(void)
-{
- return f(0);
-}
diff --git a/gcc/testsuite/gcc.dg/20020103-1.c b/gcc/testsuite/gcc.dg/20020103-1.c
index 3082247fb0d..54ad83c21e5 100644
--- a/gcc/testsuite/gcc.dg/20020103-1.c
+++ b/gcc/testsuite/gcc.dg/20020103-1.c
@@ -2,7 +2,7 @@
spilled to the stack, or regenerated, but not dropped to memory. */
/* { dg-do compile { target i?86-*-* powerpc-*-* rs6000-*-* alpha*-*-* x86_64-*-*} } */
/* { dg-options "-O2 -fpic -fno-omit-frame-pointer -fno-asynchronous-unwind-tables" } */
-/* { dg-final { scan-assembler-not "LC" } } */
+/* { dg-final { scan-assembler-not "LC\[0-9\]" } } */
/* Clobber all call-saved registers that can hold a pointer value. */
#if defined(__i386__)
diff --git a/gcc/testsuite/gcc.dg/20020926-1.c b/gcc/testsuite/gcc.dg/20020926-1.c
index d2d65740be7..7a8c716dcb2 100644
--- a/gcc/testsuite/gcc.dg/20020926-1.c
+++ b/gcc/testsuite/gcc.dg/20020926-1.c
@@ -2,7 +2,7 @@
negative displacements. */
/* { dg-do compile { target s390-*-* } } */
-/* { dg-options "-O2" } */
+/* { dg-options "-O2 -mesa" } */
int test (int *addr)
{
diff --git a/gcc/testsuite/gcc.dg/20030711-1.c b/gcc/testsuite/gcc.dg/20030711-1.c
index 25f515cbe50..edba6b74e91 100644
--- a/gcc/testsuite/gcc.dg/20030711-1.c
+++ b/gcc/testsuite/gcc.dg/20030711-1.c
@@ -1,8 +1,11 @@
/* Test whether strncmp has not been "optimized" into memcmp
nor any code with memcmp semantics. */
-/* { dg-do run { target i?86-*-linux* x86_64-*-linux* ia64-*-linux* alpha*-*-linux* powerpc*-*-linux* s390*-*-linux* sparc*-*-linux* } } */
+/* { dg-do run { target i?86-*-linux* x86_64-*-linux* ia64-*-linux* alpha*-*-linux* powerpc*-*-linux* s390*-*-linux* sparc*-*-linux* *-*-darwin* } } */
/* { dg-options "-O2" } */
#include <sys/mman.h>
+#ifndef MAP_ANONYMOUS
+#define MAP_ANONYMOUS MAP_ANON
+#endif
#include <stdlib.h>
void __attribute__((noinline)) test (const char *p)
diff --git a/gcc/testsuite/gcc.dg/altivec-nomfcr.c b/gcc/testsuite/gcc.dg/altivec-nomfcr.c
deleted file mode 100644
index 5c8c96b6b69..00000000000
--- a/gcc/testsuite/gcc.dg/altivec-nomfcr.c
+++ /dev/null
@@ -1,10 +0,0 @@
-/* { dg-do compile { target powerpc-*-* } } */
-/* { dg-options "-O3 -maltivec" } */
-/* { dg-final { scan-assembler-not "mfcr" } } */
-
-#include <altivec.h>
-
-int foo(vector float x, vector float y) {
- if (vec_all_eq(x,y)) return 3245;
- else return 12;
-}
diff --git a/gcc/testsuite/gcc.dg/arm-eabi1.c b/gcc/testsuite/gcc.dg/arm-eabi1.c
index 0df295aa726..6a8d0e044b1 100644
--- a/gcc/testsuite/gcc.dg/arm-eabi1.c
+++ b/gcc/testsuite/gcc.dg/arm-eabi1.c
@@ -23,9 +23,8 @@
require the use of inline assembly to test. It would be good to
add such tests, but they have not yet been implemented.
- There are also no tests for the "division by zero", "unaligned
- memory access", "memory copying, clearing, and setting"
- functions. */
+ There are also no tests for the "division by zero", "memory copying,
+ clearing, and setting" functions. */
#include <stdio.h>
#include <stdlib.h>
@@ -74,6 +73,12 @@ extern long long __aeabi_llsr (long long, int);
extern long long __aeabi_lasr (long long, int);
extern int __aeabi_lcmp (long long, long long);
extern int __aeabi_ulcmp (unsigned long long, unsigned long long);
+extern int __aeabi_idiv (int, int);
+extern unsigned int __aeabi_uidiv (unsigned int, unsigned int);
+extern int __eabi_uread4 (void *);
+extern int __eabi_uwrite4 (int, void *);
+extern long long __eabi_uread8 (void *);
+extern long long __eabi_uwrite8 (long long, void *);
#define eq(a, b, type, abs, epsilon, format) \
{ \
@@ -99,6 +104,9 @@ extern int __aeabi_ulcmp (unsigned long long, unsigned long long);
#define deq(a, b) eq (a, b, double, fabs, depsilon, "%g")
int main () {
+ unsigned char bytes[256];
+ int i;
+
/* Table 2. Double-precision floating-point arithmetic. */
deq (__aeabi_dadd (dzero, done), done);
deq (__aeabi_dadd (done, done), dtwo);
@@ -232,4 +240,32 @@ int main () {
ieq (__aeabi_ulcmp (0LL, 1LL), -1);
ieq (__aeabi_ulcmp (0LL, 0LL), 0);
ieq (__aeabi_ulcmp (1LL, 0LL), 1);
+
+ ieq (__aeabi_idiv (-550, 11), -50);
+ ueq (__aeabi_uidiv (4000000000U, 1000000U), 4000U);
+
+ for (i = 0; i < 256; i++)
+ bytes[i] = i;
+
+#ifdef __ARMEB__
+ ieq (__aeabi_uread4 (bytes + 1), 0x01020304U);
+ leq (__aeabi_uread8 (bytes + 3), 0x030405060708090aLL);
+ ieq (__aeabi_uwrite4 (0x66778899U, bytes + 5), 0x66778899U);
+ leq (__aeabi_uwrite8 (0x2030405060708090LL, bytes + 15),
+ 0x2030405060708090LL);
+#else
+ ieq (__aeabi_uread4 (bytes + 1), 0x04030201U);
+ leq (__aeabi_uread8 (bytes + 3), 0x0a09080706050403LL);
+ ieq (__aeabi_uwrite4 (0x99887766U, bytes + 5), 0x99887766U);
+ leq (__aeabi_uwrite8 (0x9080706050403020LL, bytes + 15),
+ 0x9080706050403020LL);
+#endif
+
+ for (i = 0; i < 4; i++)
+ ieq (bytes[5 + i], (6 + i) * 0x11);
+
+ for (i = 0; i < 8; i++)
+ ieq (bytes[15 + i], (2 + i) * 0x10);
+
+ exit (0);
}
diff --git a/gcc/testsuite/gcc.dg/builtin-stringop-chk-1.c b/gcc/testsuite/gcc.dg/builtin-stringop-chk-1.c
index aaf32884e50..f401d39c2be 100644
--- a/gcc/testsuite/gcc.dg/builtin-stringop-chk-1.c
+++ b/gcc/testsuite/gcc.dg/builtin-stringop-chk-1.c
@@ -2,6 +2,7 @@
are emitted properly. */
/* { dg-do compile } */
/* { dg-options "-O2 -std=gnu99" } */
+/* { dg-options "-mstructure-size-boundary=8 -O2 -std=gnu99" { target arm-*-* } } */
extern void abort (void);
diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die1.c b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die1.c
index 39f0bf2792a..fdfbf83215e 100644
--- a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die1.c
+++ b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die1.c
@@ -1,5 +1,5 @@
/* Verify that inline function never actually inlined has no abstract DIE. */
-/* { dg-do compile */
+/* { dg-do compile } */
/* { dg-options "-O2 -gdwarf-2 -dA" } */
/* { dg-final { scan-assembler-not "DW_AT_inline" } } */
inline int t()
diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die2.c b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die2.c
index 48bce243d41..ac897ab78c1 100644
--- a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die2.c
+++ b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die2.c
@@ -1,5 +1,5 @@
/* Verify that inline function never actually emit has no DIE. */
-/* { dg-do compile */
+/* { dg-do compile } */
/* { dg-options "-O0 -gdwarf-2 -dA" } */
/* { dg-final { scan-assembler-not "CIE Version" } } */
static inline int t()
diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die3.c b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die3.c
index 34fddfaffc0..04b2f36c3b3 100644
--- a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die3.c
+++ b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die3.c
@@ -1,5 +1,5 @@
/* Verify that extern inline function never actually inlined has no abstract DIE. */
-/* { dg-do compile */
+/* { dg-do compile } */
/* { dg-options "-O0 -gdwarf-2 -dA" } */
/* { dg-final { scan-assembler-not "DW_AT_inline" } } */
extern inline int t()
diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die5.c b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die5.c
index b3a245d2b11..3fefd41ef94 100644
--- a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die5.c
+++ b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die5.c
@@ -1,5 +1,5 @@
/* Inlined inline function must have abstract DIE */
-/* { dg-do compile */
+/* { dg-do compile } */
/* { dg-options "-O2 -gdwarf-2 -dA -fpreprocessed" } */
/* { dg-final { scan-assembler "3.*DW_AT_inline" } } */
#1 "test.h"
diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die6.c b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die6.c
index 40cdc8dee37..d8f477f54e8 100644
--- a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die6.c
+++ b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die6.c
@@ -1,5 +1,5 @@
/* not inline inline function must not have abstract DIE */
-/* { dg-do compile */
+/* { dg-do compile } */
/* { dg-options "-O2 -fno-inline -gdwarf-2 -dA -fpreprocessed" } */
/* { dg-final { scan-assembler-not "DW_AT_inline" } } */
#1 "test.h"
diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die7.c b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die7.c
index d8d013af38c..b747076bac6 100644
--- a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die7.c
+++ b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die7.c
@@ -1,5 +1,5 @@
/* Inlined non-inline function must have abstract DIE */
-/* { dg-do compile */
+/* { dg-do compile } */
/* { dg-options "-O2 -gdwarf-2 -dA -fpreprocessed" } */
/* { dg-final { scan-assembler "1.*DW_AT_inline" } } */
#1 "test.h"
diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-uninit.c b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-uninit.c
index f0237cc823c..7bcebe355e5 100644
--- a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-uninit.c
+++ b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-uninit.c
@@ -1,4 +1,4 @@
-/* { dg-do compile */
+/* { dg-do compile } */
/* { dg-options "-O2 -gdwarf-2 -dA" } */
/* { dg-final { scan-assembler "DW_TAG_variable" } } */
/* PR debug/21828 */
diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-macro.c b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-macro.c
index 45e93737283..4efb25e8c22 100644
--- a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-macro.c
+++ b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-macro.c
@@ -1,5 +1,5 @@
/* Test to make sure the mcaro info includes a start file command for the main source */
-/* { dg-do compile */
+/* { dg-do compile } */
/* { dg-options "-g3 -gdwarf-2 -dA -fverbose-asm" } */
/* { dg-final { scan-assembler "Start new file" } } */
diff --git a/gcc/testsuite/gcc.dg/intmax_t-1.c b/gcc/testsuite/gcc.dg/intmax_t-1.c
index 6c9820a2da9..bdcd9e212a6 100644
--- a/gcc/testsuite/gcc.dg/intmax_t-1.c
+++ b/gcc/testsuite/gcc.dg/intmax_t-1.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-Wall" } */
-/* { dg-error "" "" { target *-*-solaris2.5.1 mmix-*-* mips*-*-elf* *arm*-*-*elf* } 0 } */
+/* { dg-error "" "" { target *-*-solaris2.5.1 mmix-*-* mips*-*-elf* *arm*-*-*elf* sh*-*-elf } 0 } */
/* Compile with -Wall to get a warning if built-in and system intmax_t don't
match. */
diff --git a/gcc/testsuite/gcc.dg/special/weak-1.c b/gcc/testsuite/gcc.dg/special/weak-1.c
index b7fb909716a..fd45acdc726 100644
--- a/gcc/testsuite/gcc.dg/special/weak-1.c
+++ b/gcc/testsuite/gcc.dg/special/weak-1.c
@@ -1,6 +1,7 @@
-/* { dg-do run } */
+/* { dg-do run { xfail { hppa*-*-hpux* && { ! hppa*64*-*-* } } } } */
/* { dg-require-weak "" } */
/* { dg-additional-sources weak-1a.c } */
+/* See PR target/23387 for hppa xfail details. */
#include <stdlib.h>
diff --git a/gcc/testsuite/gcc.dg/torture/builtin-wctype-1.c b/gcc/testsuite/gcc.dg/torture/builtin-wctype-1.c
index b8338de0bd1..5b4371e1417 100644
--- a/gcc/testsuite/gcc.dg/torture/builtin-wctype-1.c
+++ b/gcc/testsuite/gcc.dg/torture/builtin-wctype-1.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004 Free Software Foundation.
+/* Copyright (C) 2004, 2005 Free Software Foundation.
Verify that built-in wctype function attributes are correctly set
by the compiler.
@@ -7,32 +7,47 @@
/* { dg-do link } */
+/* Use the target type definitions if we can. */
+#ifndef __WINT_TYPE__
+#define __WINT_TYPE__ int
+#endif
+
+#ifndef __WCHAR_TYPE__
+#define __WCHAR_TYPE__ int
+#endif
void test(int i)
{
/* All of these ctype functions should be const/pure and thus
eliminated. */
-#define TEST_CTYPE(FN) \
- extern int FN(int); \
+#define TEST_IS_WCTYPE(FN) \
+ extern int FN(__WINT_TYPE__); \
+ extern void link_failure_##FN(void); \
+ if (FN(i) != FN(i)) \
+ link_failure_##FN()
+
+#define TEST_TO_WCTYPE(FN) \
+ extern __WINT_TYPE__ FN(__WINT_TYPE__); \
extern void link_failure_##FN(void); \
if (FN(i) != FN(i)) \
link_failure_##FN()
+
#ifdef __OPTIMIZE__
- TEST_CTYPE(iswalnum);
- TEST_CTYPE(iswalpha);
- TEST_CTYPE(iswblank);
- TEST_CTYPE(iswcntrl);
- TEST_CTYPE(iswdigit);
- TEST_CTYPE(iswgraph);
- TEST_CTYPE(iswlower);
- TEST_CTYPE(iswprint);
- TEST_CTYPE(iswpunct);
- TEST_CTYPE(iswspace);
- TEST_CTYPE(iswupper);
- TEST_CTYPE(iswxdigit);
- TEST_CTYPE(towlower);
- TEST_CTYPE(towupper);
+ TEST_IS_WCTYPE(iswalnum);
+ TEST_IS_WCTYPE(iswalpha);
+ TEST_IS_WCTYPE(iswblank);
+ TEST_IS_WCTYPE(iswcntrl);
+ TEST_IS_WCTYPE(iswdigit);
+ TEST_IS_WCTYPE(iswgraph);
+ TEST_IS_WCTYPE(iswlower);
+ TEST_IS_WCTYPE(iswprint);
+ TEST_IS_WCTYPE(iswpunct);
+ TEST_IS_WCTYPE(iswspace);
+ TEST_IS_WCTYPE(iswupper);
+ TEST_IS_WCTYPE(iswxdigit);
+ TEST_TO_WCTYPE(towlower);
+ TEST_TO_WCTYPE(towupper);
#endif /* __OPTIMIZE__ */
}
diff --git a/gcc/testsuite/gcc.dg/tree-prof/inliner-1.c b/gcc/testsuite/gcc.dg/tree-prof/inliner-1.c
index b27b4fdc81b..8d7c87919a5 100644
--- a/gcc/testsuite/gcc.dg/tree-prof/inliner-1.c
+++ b/gcc/testsuite/gcc.dg/tree-prof/inliner-1.c
@@ -1,4 +1,4 @@
-/* { dg-options "-O2 -fdump-tree-optimized -fdump-tree-all" } */
+/* { dg-options "-O2 -fdump-tree-optimized" } */
int a;
int b[100];
void abort (void);
diff --git a/gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp b/gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp
index 5f495a00e63..f7438194396 100644
--- a/gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp
+++ b/gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp
@@ -20,7 +20,7 @@
load_lib target-supports.exp
# Some targets don't support tree profiling.
-if { ![check_profiling_available "-ftree-based-profiling"] } {
+if { ![check_profiling_available ""] } {
return
}
@@ -41,8 +41,8 @@ load_lib profopt.exp
# These are globals used by profopt-execute. The first is options
# needed to generate profile data, the second is options to use the
# profile data.
-set profile_option "-ftree-based-profiling -fprofile-generate"
-set feedback_option "-ftree-based-profiling -fprofile-use"
+set profile_option "-fprofile-generate"
+set feedback_option "-fprofile-use"
foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.c]] {
# If we're only testing specific files and this isn't one of them, skip it.
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-1.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-1.c
index 87d94918f82..944dd74c106 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/loop-1.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-1.c
@@ -31,9 +31,13 @@ void xxx(void)
/* Because hppa and ia64 targets include an external declaration for foo as
well as the calls we need to look for something more specific then just
foo in order to count only the calls and not the declaration. */
+/* The SH targets always use separate instructions to load the address
+ and to do the actual call - bsr is only generated by link time
+ relaxation. */
-/* { dg-final { scan-assembler-times "foo" 5 { xfail hppa*-*-* ia64*-*-* } } } */
+/* { dg-final { scan-assembler-times "foo" 5 { xfail hppa*-*-* ia64*-*-* sh*-*-* } } } */
/* { dg-final { scan-assembler-times "foo,%r" 5 { target hppa*-*-* } } } */
/* { dg-final { scan-assembler-times "= foo" 5 { target ia64*-*-* } } } */
+/* { dg-final { scan-assembler-times "jsr|blink\ttr?,r18" 5 { target sh*-*-* } } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp17.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp17.c
index 3df4acdd66c..217929d9c03 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp17.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp17.c
@@ -27,6 +27,6 @@ gimplify_for_stmt (tree stmt)
abort ();
}
-/* { dg-final { scan-tree-dump-times "== 3" 1 "vrp" } } */
+/* { dg-final { scan-tree-dump-times "Simplified relational" 1 "vrp" } } */
/* { dg-final { cleanup-tree-dump "vrp" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-105.c b/gcc/testsuite/gcc.dg/vect/vect-105.c
index c8f8e5b6813..aa1ea1c9829 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-105.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-105.c
@@ -60,7 +60,7 @@ int main (void)
return main1 (N);
}
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 0 "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-22.c b/gcc/testsuite/gcc.dg/vect/vect-22.c
index f15a4ff50fc..af46e8216ed 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-22.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-22.c
@@ -42,6 +42,17 @@ main1 ()
1,1,0,0,1,0,1,0,
1,1,0,0,1,0,1,0};
+ float fa[N];
+ float fb[N] =
+ {1,1,0,0,1,0,1,0,
+ 1,1,0,0,1,0,1,0,
+ 1,1,0,0,1,0,1,0,
+ 1,1,0,0,1,0,1,0,
+ 1,1,0,0,1,0,1,0,
+ 1,1,0,0,1,0,1,0,
+ 1,1,0,0,1,0,1,0,
+ 1,1,0,0,1,0,1,0};
+
/* Check ints. */
for (i = 0; i < N; i++)
@@ -84,6 +95,20 @@ main1 ()
abort ();
}
+ /* Check floats. */
+
+ for (i = 0; i < N; i++)
+ {
+ fa[i] = -fb[i];
+ }
+
+ /* check results: */
+ for (i = 0; i <N; i++)
+ {
+ if (fa[i] != -fb[i])
+ abort ();
+ }
+
return 0;
}
@@ -94,7 +119,7 @@ int main (void)
return main1 ();
}
-/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 4 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-35.c b/gcc/testsuite/gcc.dg/vect/vect-35.c
index 897868daeda..ef36d1ca6e8 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-35.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-35.c
@@ -3,24 +3,24 @@
#include <stdarg.h>
#include "tree-vect.h"
-typedef char achar __attribute__ ((__aligned__(16)));
-
#define N 16
-achar x[N];
int main1 ()
{
union {
- achar a[N];
- achar b[N];
+ char a[N] __attribute__ ((__aligned__(16)));
+ char b[N] __attribute__ ((__aligned__(16)));
} s;
int i;
+ /* Initialization. */
for (i = 0; i < N; i++)
{
s.b[i] = 3*i;
}
+ /* Can't vectorize - dependence analysis fails cause s.a and s.b may
+ overlap. */
for (i = 0; i < N; i++)
{
s.a[i] = s.b[i] + 1;
@@ -29,7 +29,7 @@ int main1 ()
/* check results: */
for (i = 0; i < N; i++)
{
- if (s.a[i] != s.b[i])
+ if (s.a[i] != 3*i + 1)
abort ();
}
@@ -44,6 +44,6 @@ int main (void)
}
-/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" } } */
-/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "can't determine dependence between" 1 "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-40.c b/gcc/testsuite/gcc.dg/vect/vect-40.c
index 89fc88e2879..7abacd65903 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-40.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-40.c
@@ -38,9 +38,9 @@ main1 (afloat * __restrict__ pa, afloat * __restrict__ pb, afloat * __restrict__
int main (void)
{
int i;
- afloat a[N];
- afloat b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
- afloat c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+ float a[N] __attribute__ ((__aligned__(16)));
+ float b[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
+ float c[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
check_vect ();
diff --git a/gcc/testsuite/gcc.dg/vect/vect-41.c b/gcc/testsuite/gcc.dg/vect/vect-41.c
index 21591b6af61..ee2ccdf4b87 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-41.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-41.c
@@ -40,9 +40,9 @@ main1 (afloat * pa, afloat * pb, afloat * pc)
int main (void)
{
int i;
- afloat a[N];
- afloat b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
- afloat c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+ float a[N] __attribute__ ((__aligned__(16)));
+ float b[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
+ float c[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
check_vect ();
diff --git a/gcc/testsuite/gcc.dg/vect/vect-42.c b/gcc/testsuite/gcc.dg/vect/vect-42.c
index 4cab6311314..714596891d3 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-42.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-42.c
@@ -26,8 +26,8 @@ int
main1 (afloat * __restrict__ pa)
{
int i;
- afloat pb[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
- afloat pc[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+ float pb[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
+ float pc[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
for (i = 0; i < N; i++)
@@ -41,9 +41,9 @@ main1 (afloat * __restrict__ pa)
int main (void)
{
int i;
- afloat a[N];
- afloat b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
- afloat c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+ float a[N] __attribute__ ((__aligned__(16)));
+ float b[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
+ float c[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
check_vect ();
diff --git a/gcc/testsuite/gcc.dg/vect/vect-43.c b/gcc/testsuite/gcc.dg/vect/vect-43.c
index 12db333b39b..e47bdaaeb81 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-43.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-43.c
@@ -26,8 +26,8 @@ int
main1 (afloat * pa)
{
int i;
- afloat pb[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
- afloat pc[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+ float pb[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
+ float pc[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
/* Not vectorizable: pa may alias pb and/or pc, since their addresses escape. */
for (i = 0; i < N; i++)
@@ -66,9 +66,9 @@ main2 (afloat * pa)
int main (void)
{
int i;
- afloat a[N];
- afloat b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
- afloat c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+ float a[N] __attribute__ ((__aligned__(16)));
+ float b[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
+ float c[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
check_vect ();
diff --git a/gcc/testsuite/gcc.dg/vect/vect-44.c b/gcc/testsuite/gcc.dg/vect/vect-44.c
index 46eb2a6d0e9..0bd2d22e006 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-44.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-44.c
@@ -5,8 +5,6 @@
#define N 256
-typedef float afloat __attribute__ ((__aligned__(16)));
-
void bar (float *pa, float *pb, float *pc)
{
int i;
@@ -21,7 +19,6 @@ void bar (float *pa, float *pb, float *pc)
return;
}
-
int
main1 (float * __restrict__ pa, float * __restrict__ pb, float * __restrict__ pc)
{
@@ -40,9 +37,9 @@ main1 (float * __restrict__ pa, float * __restrict__ pb, float * __restrict__ pc
int main (void)
{
int i;
- afloat a[N+4];
- afloat b[N+4] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69};
- afloat c[N+4] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23};
+ float a[N+4] __attribute__ ((__aligned__(16)));
+ float b[N+4] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69};
+ float c[N+4] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23};
check_vect ();
diff --git a/gcc/testsuite/gcc.dg/vect/vect-46.c b/gcc/testsuite/gcc.dg/vect/vect-46.c
index 4ced75a4642..687393400a9 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-46.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-46.c
@@ -39,9 +39,9 @@ int main (void)
{
int i;
int n=N;
- afloat a[N];
- afloat b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
- afloat c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+ float a[N] __attribute__ ((__aligned__(16)));
+ float b[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
+ float c[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
check_vect ();
diff --git a/gcc/testsuite/gcc.dg/vect/vect-47.c b/gcc/testsuite/gcc.dg/vect/vect-47.c
index 12a7a5afb8c..4f21ffc88c8 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-47.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-47.c
@@ -41,9 +41,9 @@ int main (void)
{
int i;
int n=N;
- afloat a[N];
- afloat b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
- afloat c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+ float a[N] __attribute__ ((__aligned__(16)));
+ float b[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
+ float c[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
check_vect ();
diff --git a/gcc/testsuite/gcc.dg/vect/vect-48.c b/gcc/testsuite/gcc.dg/vect/vect-48.c
index b4da6d01f47..83ec09a37ca 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-48.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-48.c
@@ -40,9 +40,9 @@ main1 (afloat * __restrict__ pa, float * __restrict__ pb, float * __restrict__ p
int main (void)
{
int i;
- afloat a[N];
- afloat b[N+1] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60};
- afloat c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+ float a[N] __attribute__ ((__aligned__(16)));
+ float b[N+1] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60};
+ float c[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
check_vect ();
diff --git a/gcc/testsuite/gcc.dg/vect/vect-52.c b/gcc/testsuite/gcc.dg/vect/vect-52.c
index d321dcfdee6..2cca9f7820c 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-52.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-52.c
@@ -40,9 +40,9 @@ main1 (int n, afloat * __restrict__ pa, float * __restrict__ pb, float * __restr
int main (void)
{
int i;
- afloat a[N];
- afloat b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60};
- afloat c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
+ float a[N] __attribute__ ((__aligned__(16)));
+ float b[N+1] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60};
+ float c[N+1] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
check_vect ();
diff --git a/gcc/testsuite/gcc.dg/vect/vect-53.c b/gcc/testsuite/gcc.dg/vect/vect-53.c
index ff3c1037467..1fd7c9305e3 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-53.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-53.c
@@ -40,9 +40,9 @@ main1 (int n, afloat *pa, float *pb, float *pc)
int main (void)
{
int i;
- afloat a[N];
- afloat b[N+1] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60};
- afloat c[N+1] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
+ float a[N] __attribute__ ((__aligned__(16)));
+ float b[N+1] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60};
+ float c[N+1] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
check_vect ();
diff --git a/gcc/testsuite/gcc.dg/vect/vect-54.c b/gcc/testsuite/gcc.dg/vect/vect-54.c
index b68c61badc3..197e6d12680 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-54.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-54.c
@@ -40,9 +40,9 @@ main1 (afloat * __restrict__ pa, afloat * __restrict__ pb, afloat * __restrict__
int main (void)
{
int i;
- afloat a[N];
- afloat b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
- afloat c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+ float a[N] __attribute__ ((__aligned__(16)));
+ float b[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
+ float c[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
check_vect ();
diff --git a/gcc/testsuite/gcc.dg/vect/vect-55.c b/gcc/testsuite/gcc.dg/vect/vect-55.c
index 6d130df0c5c..6601b2fc7f1 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-55.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-55.c
@@ -40,9 +40,9 @@ main1 (afloat * pa, afloat * pb, afloat * pc)
int main (void)
{
int i;
- afloat a[N];
- afloat b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
- afloat c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+ float a[N] __attribute__ ((__aligned__(16)));
+ float b[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
+ float c[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
check_vect ();
diff --git a/gcc/testsuite/gcc.dg/vect/vect-56.c b/gcc/testsuite/gcc.dg/vect/vect-56.c
index de53a2ad595..fe4c7b6482e 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-56.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-56.c
@@ -40,9 +40,9 @@ main1 (afloat * __restrict__ pa, afloat * __restrict__ pb, afloat * __restrict__
int main (void)
{
int i;
- afloat a[N];
- afloat b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
- afloat c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+ float a[N] __attribute__ ((__aligned__(16)));
+ float b[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
+ float c[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
check_vect ();
diff --git a/gcc/testsuite/gcc.dg/vect/vect-57.c b/gcc/testsuite/gcc.dg/vect/vect-57.c
index 950cdaeb13b..f197eb4b69d 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-57.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-57.c
@@ -40,9 +40,9 @@ main1 (afloat * pa, afloat * pb, afloat * pc)
int main (void)
{
int i;
- afloat a[N];
- afloat b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
- afloat c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+ float a[N] __attribute__ ((__aligned__(16)));
+ float b[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
+ float c[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
check_vect ();
diff --git a/gcc/testsuite/gcc.dg/vect/vect-58.c b/gcc/testsuite/gcc.dg/vect/vect-58.c
index 5d282d47f41..67bce93cc90 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-58.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-58.c
@@ -41,9 +41,9 @@ int main (void)
{
int i;
int n=N;
- afloat a[N];
- afloat b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
- afloat c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+ float a[N] __attribute__ ((__aligned__(16)));
+ float b[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
+ float c[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
check_vect ();
diff --git a/gcc/testsuite/gcc.dg/vect/vect-59.c b/gcc/testsuite/gcc.dg/vect/vect-59.c
index 568dc0e662c..c061a3a28e5 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-59.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-59.c
@@ -41,9 +41,9 @@ int main (void)
{
int i;
int n=N;
- afloat a[N];
- afloat b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
- afloat c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+ float a[N] __attribute__ ((__aligned__(16)));
+ float b[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
+ float c[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
check_vect ();
diff --git a/gcc/testsuite/gcc.dg/vect/vect-60.c b/gcc/testsuite/gcc.dg/vect/vect-60.c
index 188fa15aeba..3021ee4436c 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-60.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-60.c
@@ -41,9 +41,9 @@ int main (void)
{
int i;
int n=N;
- afloat a[N];
- afloat b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
- afloat c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+ float a[N] __attribute__ ((__aligned__(16)));
+ float b[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
+ float c[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
check_vect ();
diff --git a/gcc/testsuite/gcc.dg/vect/vect-61.c b/gcc/testsuite/gcc.dg/vect/vect-61.c
index 2911048f723..5b0f5d95432 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-61.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-61.c
@@ -42,9 +42,9 @@ int main (void)
{
int i;
int n=N;
- afloat a[N];
- afloat b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
- afloat c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+ float a[N] __attribute__ ((__aligned__(16)));
+ float b[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
+ float c[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
check_vect ();
diff --git a/gcc/testsuite/gcc.dg/vect/vect-67.c b/gcc/testsuite/gcc.dg/vect/vect-67.c
index 2ad072a8818..7bc728dc179 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-67.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-67.c
@@ -41,6 +41,6 @@ int main (void)
return main1 (2 ,7);
}
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-74.c b/gcc/testsuite/gcc.dg/vect/vect-74.c
index 86e09c9098d..d4593cbb891 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-74.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-74.c
@@ -7,9 +7,13 @@
typedef float afloat __attribute__ ((__aligned__(16)));
-afloat a[N];
-afloat b[N+4] = {0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 7.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0};
-afloat c[N] = {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 7.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5};
+/* Check handling of accesses for which the "initial condition" -
+ the expression that represents the first location accessed - is
+ more involved than just an ssa_name. */
+
+float a[N] __attribute__ ((__aligned__(16)));
+float b[N+4] __attribute__ ((__aligned__(16))) = {0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 7.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0};
+float c[N] __attribute__ ((__aligned__(16))) = {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 7.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5};
int
main1 (afloat *__restrict__ pa, afloat * __restrict__ pb, afloat * __restrict__ pc)
diff --git a/gcc/testsuite/gcc.dg/vect/vect-75.c b/gcc/testsuite/gcc.dg/vect/vect-75.c
index 121eddd54dc..d923a83e28d 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-75.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-75.c
@@ -8,7 +8,11 @@
typedef int aint __attribute__ ((__aligned__(16)));
-aint ib[N+OFF] = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
+/* Check handling of accesses for which the "initial condition" -
+ the expression that represents the first location accessed - is
+ more involved than just an ssa_name. */
+
+int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
int main1 (aint *ib)
{
diff --git a/gcc/testsuite/gcc.dg/vect/vect-76.c b/gcc/testsuite/gcc.dg/vect/vect-76.c
index 1c3eba95a58..b8312780f5b 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-76.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-76.c
@@ -8,7 +8,11 @@
typedef int aint __attribute__ ((__aligned__(16)));
-aint ib[N+OFF] = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10};
+/* Check handling of accesses for which the "initial condition" -
+ the expression that represents the first location accessed - is
+ more involved than just an ssa_name. */
+
+int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10};
int main1 (aint *pib)
{
diff --git a/gcc/testsuite/gcc.dg/vect/vect-77.c b/gcc/testsuite/gcc.dg/vect/vect-77.c
index 8557b298bf8..0e456797ff0 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-77.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-77.c
@@ -8,7 +8,11 @@
typedef int aint __attribute__ ((__aligned__(16)));
-aint ib[N+OFF] = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
+/* Check handling of accesses for which the "initial condition" -
+ the expression that represents the first location accessed - is
+ more involved than just an ssa_name. */
+
+int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
int main1 (aint *ib, int off)
{
diff --git a/gcc/testsuite/gcc.dg/vect/vect-78.c b/gcc/testsuite/gcc.dg/vect/vect-78.c
index a059f308b9c..f231e0dc73a 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-78.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-78.c
@@ -8,7 +8,11 @@
typedef int aint __attribute__ ((__aligned__(16)));
-aint ib[N+OFF] = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
+/* Check handling of accesses for which the "initial condition" -
+ the expression that represents the first location accessed - is
+ more involved than just an ssa_name. */
+
+int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
int off = 8;
int main1 (aint *ib)
diff --git a/gcc/testsuite/gcc.dg/vect/vect-80.c b/gcc/testsuite/gcc.dg/vect/vect-80.c
index e05ff04fb52..25ca6d638c7 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-80.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-80.c
@@ -5,13 +5,14 @@
#define N 16
-typedef float afloat __attribute__ ((__aligned__(16)));
+float fa[N] __attribute__ ((__aligned__(16)));
+float fb[N+4] __attribute__ ((__aligned__(16))) = {0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 7.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0};
+float fc[N] __attribute__ ((__aligned__(16))) = {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 7.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5};
-afloat fa[N];
-afloat fb[N+4] = {0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 7.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0};
-afloat fc[N] = {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 7.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5};
+/* Check handling of accesses for which the "initial condition" -
+ the expression that represents the first location accessed - is
+ more involved than just an ssa_name. */
-/* Not vectorizable: not aligned pointers. */
int
main1 (float * __restrict__ pa, float * __restrict__ pb, float *__restrict__ pc)
{
diff --git a/gcc/testsuite/gcc.dg/vect/vect-85.c b/gcc/testsuite/gcc.dg/vect/vect-85.c
index 7d193999a2a..4c242626427 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-85.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-85.c
@@ -5,8 +5,6 @@
#define N 16
-typedef int aint __attribute__ ((__aligned__(16)));
-
int main1 (int *a)
{
int i, j, k;
@@ -36,7 +34,7 @@ int main1 (int *a)
int main (void)
{
- aint a[N];
+ int a[N] __attribute__ ((__aligned__(16)));
check_vect ();
diff --git a/gcc/testsuite/gcc.dg/vect/vect-87.c b/gcc/testsuite/gcc.dg/vect/vect-87.c
index 959a466a8e9..6b74a0d5109 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-87.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-87.c
@@ -5,8 +5,6 @@
#define N 16
-typedef int aint __attribute__ ((__aligned__(16)));
-
int main1 (int n, int *a)
{
int i, j, k;
@@ -36,7 +34,7 @@ int main1 (int n, int *a)
int main (void)
{
- aint a[N];
+ int a[N] __attribute__ ((__aligned__(16)));
check_vect ();
diff --git a/gcc/testsuite/gcc.dg/vect/vect-88.c b/gcc/testsuite/gcc.dg/vect/vect-88.c
index 884b3b2c5fc..478a142bfb0 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-88.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-88.c
@@ -5,8 +5,6 @@
#define N 16
-typedef int aint __attribute__ ((__aligned__(16)));
-
int main1 (int n, int *a)
{
int i, j, k;
@@ -36,7 +34,7 @@ int main1 (int n, int *a)
int main (void)
{
- aint a[N+1];
+ int a[N+1] __attribute__ ((__aligned__(16)));
check_vect ();
diff --git a/gcc/testsuite/gcc.dg/vect/vect-92.c b/gcc/testsuite/gcc.dg/vect/vect-92.c
index a2c57407ed1..b47d859548d 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-92.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-92.c
@@ -5,12 +5,20 @@
#define N 256
-typedef float afloat __attribute__ ((__aligned__(16)));
-
-/* known misalignment: same alignment */
+float pa[N] __attribute__ ((__aligned__(16)));
+float pb[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
+float pc[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+
+/* Check handling of unaligned accesses when the misalignment is
+ known at compile time and different accesses have the same
+ misalignment (e.g. peeling to align one access will align all
+ accesses with the same misalignment. Also, the number of
+ peeled iterations is known in this case, and the vectorizer
+ can use this information (generate prolog and epilog loops
+ with known number of iterations, and only if needed). */
int
-main1 (afloat * __restrict__ pa, afloat * __restrict__ pb, afloat * __restrict__ pc)
+main1 ()
{
int i;
@@ -30,7 +38,7 @@ main1 (afloat * __restrict__ pa, afloat * __restrict__ pb, afloat * __restrict__
}
int
-main2 (afloat * __restrict__ pa, afloat * __restrict__ pb, afloat * __restrict__ pc)
+main2 ()
{
int i;
@@ -50,7 +58,7 @@ main2 (afloat * __restrict__ pa, afloat * __restrict__ pb, afloat * __restrict__
}
int
-main3 (afloat * __restrict__ pa, afloat * __restrict__ pb, afloat * __restrict__ pc, int n)
+main3 (int n)
{
int i;
@@ -72,15 +80,12 @@ main3 (afloat * __restrict__ pa, afloat * __restrict__ pb, afloat * __restrict__
int main (void)
{
int i;
- afloat a[N];
- afloat b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
- afloat c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
check_vect ();
- main1 (a,b,c);
- main2 (a,b,c);
- main3 (a,b,c,N-1);
+ main1 ();
+ main2 ();
+ main3 (N-1);
return 0;
}
diff --git a/gcc/testsuite/gcc.dg/vect/vect-93.c b/gcc/testsuite/gcc.dg/vect/vect-93.c
index 87650ab440b..af2f1663a22 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-93.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-93.c
@@ -5,7 +5,6 @@
#define N 3001
-typedef float afloat __attribute__ ((__aligned__(16)));
int
main1 (float *pa)
@@ -42,8 +41,8 @@ main1 (float *pa)
int main (void)
{
int i;
- afloat a[N];
- afloat b[N];
+ float a[N] __attribute__ ((__aligned__(16)));
+ float b[N] __attribute__ ((__aligned__(16)));
check_vect ();
diff --git a/gcc/testsuite/gcc.dg/vect/vect.exp b/gcc/testsuite/gcc.dg/vect/vect.exp
index 07b7e946f80..ccfe0543aa8 100644
--- a/gcc/testsuite/gcc.dg/vect/vect.exp
+++ b/gcc/testsuite/gcc.dg/vect/vect.exp
@@ -23,8 +23,7 @@ load_lib gcc-dg.exp
set DEFAULT_VECTCFLAGS ""
# These flags are used for all targets.
-lappend DEFAULT_VECTCFLAGS "-O2" "-ftree-vectorize" \
- "-ftree-vectorizer-verbose=4" "-fdump-tree-vect-stats"
+lappend DEFAULT_VECTCFLAGS "-O2" "-ftree-vectorize"
# If the target system supports vector instructions, the default action
# for a test is 'run', otherwise it's 'compile'. Save current default.
@@ -75,6 +74,12 @@ if [istarget "powerpc*-*-*"] {
# Initialize `dg'.
dg-init
+# Tests that should be run without generating dump info
+dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/nodump-*.\[cS\]]] \
+ "" $DEFAULT_VECTCFLAGS
+
+lappend DEFAULT_VECTCFLAGS "-ftree-vectorizer-verbose=4" "-fdump-tree-vect-stats"
+
# Main loop.
dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/pr*.\[cS\]]] \
"" $DEFAULT_VECTCFLAGS
diff --git a/gcc/testsuite/gcc.misc-tests/bprob.exp b/gcc/testsuite/gcc.misc-tests/bprob.exp
index f7f7072c392..745c43993fa 100644
--- a/gcc/testsuite/gcc.misc-tests/bprob.exp
+++ b/gcc/testsuite/gcc.misc-tests/bprob.exp
@@ -49,10 +49,6 @@ load_lib profopt.exp
set profile_options "-fprofile-arcs"
set feedback_options "-fbranch-probabilities"
-if {[check_profiling_available "-ftree-based-profiling"]} {
- lappend profile_options "-ftree-based-profiling -fprofile-arcs"
- lappend feedback_options "-ftree-based-profiling -fbranch-probabilities"
-}
foreach profile_option $profile_options feedback_option $feedback_options {
foreach src [lsort [glob -nocomplain $srcdir/$subdir/bprob-*.c]] {
diff --git a/gcc/testsuite/gcc.misc-tests/gcov-4b.c b/gcc/testsuite/gcc.misc-tests/gcov-4b.c
index 7653c5897ad..da98749f719 100644
--- a/gcc/testsuite/gcc.misc-tests/gcov-4b.c
+++ b/gcc/testsuite/gcc.misc-tests/gcov-4b.c
@@ -207,7 +207,7 @@ test_switch (int i, int j)
{
int result = 0;
- switch (i) /* branch(80 25) */
+ switch (i) /* branch(20 0 60 20) */
/* branch(end) */
{
case 1:
diff --git a/gcc/testsuite/gcc.target/frv/all-builtin-read16.c b/gcc/testsuite/gcc.target/frv/all-builtin-read16.c
deleted file mode 100644
index 362cc8468e0..00000000000
--- a/gcc/testsuite/gcc.target/frv/all-builtin-read16.c
+++ /dev/null
@@ -1,11 +0,0 @@
-/* { dg-do compile } */
-
-unsigned short z;
-
-void foo (void *x)
-{
- z = __builtin_read16 (x);
-}
-
-/* { dg-final { scan-assembler "lduh" } } */
-/* { dg-final { scan-assembler "membar" } } */
diff --git a/gcc/testsuite/gcc.target/frv/all-builtin-read32.c b/gcc/testsuite/gcc.target/frv/all-builtin-read32.c
deleted file mode 100644
index 7e988a4378f..00000000000
--- a/gcc/testsuite/gcc.target/frv/all-builtin-read32.c
+++ /dev/null
@@ -1,12 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-O" } */
-
-unsigned long z;
-
-void foo (void *x)
-{
- z = __builtin_read32 (x);
-}
-
-/* { dg-final { scan-assembler "ld " } } */
-/* { dg-final { scan-assembler "membar" } } */
diff --git a/gcc/testsuite/gcc.target/frv/all-builtin-read64.c b/gcc/testsuite/gcc.target/frv/all-builtin-read64.c
deleted file mode 100644
index 1d5b6562a4a..00000000000
--- a/gcc/testsuite/gcc.target/frv/all-builtin-read64.c
+++ /dev/null
@@ -1,11 +0,0 @@
-/* { dg-do compile } */
-
-unsigned long long z;
-
-void foo (void *x)
-{
- z = __builtin_read64 (x);
-}
-
-/* { dg-final { scan-assembler "ldd" } } */
-/* { dg-final { scan-assembler "membar" } } */
diff --git a/gcc/testsuite/gcc.target/frv/all-builtin-read8.c b/gcc/testsuite/gcc.target/frv/all-builtin-read8.c
deleted file mode 100644
index b53fb61797d..00000000000
--- a/gcc/testsuite/gcc.target/frv/all-builtin-read8.c
+++ /dev/null
@@ -1,11 +0,0 @@
-/* { dg-do compile } */
-
-unsigned char z;
-
-void foo (void *x)
-{
- z = __builtin_read8 (x);
-}
-
-/* { dg-final { scan-assembler "ldub" } } */
-/* { dg-final { scan-assembler "membar" } } */
diff --git a/gcc/testsuite/gcc.target/frv/all-builtin-write16.c b/gcc/testsuite/gcc.target/frv/all-builtin-write16.c
deleted file mode 100644
index f9f1cb517ee..00000000000
--- a/gcc/testsuite/gcc.target/frv/all-builtin-write16.c
+++ /dev/null
@@ -1,12 +0,0 @@
-/* { dg-do compile } */
-
-unsigned short *addr;
-unsigned short datum;
-
-void foo ()
-{
- __builtin_write16 (addr, datum);
-}
-
-/* { dg-final { scan-assembler "sth" } } */
-/* { dg-final { scan-assembler "membar" } } */
diff --git a/gcc/testsuite/gcc.target/frv/all-builtin-write32.c b/gcc/testsuite/gcc.target/frv/all-builtin-write32.c
deleted file mode 100644
index b97715313c7..00000000000
--- a/gcc/testsuite/gcc.target/frv/all-builtin-write32.c
+++ /dev/null
@@ -1,12 +0,0 @@
-/* { dg-do compile } */
-
-unsigned long *addr;
-unsigned long datum;
-
-void foo ()
-{
- __builtin_write32 (addr, datum);
-}
-
-/* { dg-final { scan-assembler "st " } } */
-/* { dg-final { scan-assembler "membar" } } */
diff --git a/gcc/testsuite/gcc.target/frv/all-builtin-write64.c b/gcc/testsuite/gcc.target/frv/all-builtin-write64.c
deleted file mode 100644
index eac50a266c7..00000000000
--- a/gcc/testsuite/gcc.target/frv/all-builtin-write64.c
+++ /dev/null
@@ -1,12 +0,0 @@
-/* { dg-do compile } */
-
-unsigned long long *addr;
-unsigned long long datum;
-
-void foo ()
-{
- __builtin_write64 (addr, datum);
-}
-
-/* { dg-final { scan-assembler "std " } } */
-/* { dg-final { scan-assembler "membar" } } */
diff --git a/gcc/testsuite/gcc.target/frv/all-builtin-write8.c b/gcc/testsuite/gcc.target/frv/all-builtin-write8.c
deleted file mode 100644
index 56e4f3e41b5..00000000000
--- a/gcc/testsuite/gcc.target/frv/all-builtin-write8.c
+++ /dev/null
@@ -1,12 +0,0 @@
-/* { dg-do compile } */
-
-unsigned char *addr;
-unsigned char datum;
-
-void foo ()
-{
- __builtin_write8 (addr, datum);
-}
-
-/* { dg-final { scan-assembler "stb" } } */
-/* { dg-final { scan-assembler "membar" } } */
diff --git a/gcc/testsuite/gcc.target/mips/mips32-dsp-type.c b/gcc/testsuite/gcc.target/mips/mips32-dsp-type.c
index 030a9552c0c..1aa75770284 100644
--- a/gcc/testsuite/gcc.target/mips/mips32-dsp-type.c
+++ b/gcc/testsuite/gcc.target/mips/mips32-dsp-type.c
@@ -1,6 +1,6 @@
/* Test MIPS32 DSP instructions */
/* { dg-do compile } */
-/* { dg-mips-options "-mips32 -mdsp" } */
+/* { dg-mips-options "-march=mips32 -mdsp" } */
/* { dg-final { scan-assembler "addq.ph" } } */
/* { dg-final { scan-assembler "addu.qb" } } */
/* { dg-final { scan-assembler "subq.ph" } } */
diff --git a/gcc/testsuite/gcc.target/mips/mips32-dsp.c b/gcc/testsuite/gcc.target/mips/mips32-dsp.c
index cc38c1b798a..0d015362dd2 100644
--- a/gcc/testsuite/gcc.target/mips/mips32-dsp.c
+++ b/gcc/testsuite/gcc.target/mips/mips32-dsp.c
@@ -1,6 +1,6 @@
/* Test MIPS32 DSP instructions */
/* { dg-do compile } */
-/* { dg-mips-options "-mips32 -mdsp" } */
+/* { dg-mips-options "-march=mips32 -mdsp" } */
/* { dg-final { scan-assembler "addq.ph" } } */
/* { dg-final { scan-assembler "addq_s.ph" } } */
/* { dg-final { scan-assembler "addq_s.w" } } */
diff --git a/gcc/testsuite/gfortran.dg/comma_format_extension_4.f b/gcc/testsuite/gfortran.dg/comma_format_extension_4.f
index 138c163bffb..3053d3fb145 100644
--- a/gcc/testsuite/gfortran.dg/comma_format_extension_4.f
+++ b/gcc/testsuite/gfortran.dg/comma_format_extension_4.f
@@ -2,7 +2,7 @@
! Note the missing , before i1 in the format.
! { dg-do run }
! { dg-options "" }
- character*5 c
+ character*6 c
write (c,1001) 1
if (c .ne. ' 1 ') call abort
diff --git a/gcc/testsuite/gfortran.dg/der_array_io_1.f90 b/gcc/testsuite/gfortran.dg/der_array_io_1.f90
index 5bfd0c64547..b43864d6e14 100644
--- a/gcc/testsuite/gfortran.dg/der_array_io_1.f90
+++ b/gcc/testsuite/gfortran.dg/der_array_io_1.f90
@@ -17,8 +17,8 @@ program main
foo(i)%z = 100*i+40
enddo
- print (buf1, '(20i4)'), foo
- print (buf2, '(20i4)'), (foo(i)%x, (foo(i)%y(j), j=1,3), foo(i)%z, i=1,4)
+ write (buf1, '(20i4)') foo
+ write (buf2, '(20i4)') (foo(i)%x, (foo(i)%y(j), j=1,3), foo(i)%z, i=1,4)
if (buf1.ne.buf2) call abort
end program main
diff --git a/gcc/testsuite/gfortran.dg/der_array_io_2.f90 b/gcc/testsuite/gfortran.dg/der_array_io_2.f90
index 5d4a7ce01e3..c62fd1eb1a0 100644
--- a/gcc/testsuite/gfortran.dg/der_array_io_2.f90
+++ b/gcc/testsuite/gfortran.dg/der_array_io_2.f90
@@ -23,7 +23,7 @@ program main
foo(2)%z = 50
foo(2)%a = "HELLO WORLD"
- print (buf1,*), foo
- print (buf2,*), ((foo(i)%x(j),j=1,3), (foo(i)%y(j),j=1,4), (foo(i)%z(j),j=1,5), (foo(i)%a(j),j=1,3), i=1,2)
+ write (buf1,*) foo
+ write (buf2,*) ((foo(i)%x(j),j=1,3), (foo(i)%y(j),j=1,4), (foo(i)%z(j),j=1,5), (foo(i)%a(j),j=1,3), i=1,2)
if (buf1.ne.buf2) call abort
end program main
diff --git a/gcc/testsuite/gfortran.dg/der_array_io_3.f90 b/gcc/testsuite/gfortran.dg/der_array_io_3.f90
index 7898a1e8c5c..ae89b3dce78 100644
--- a/gcc/testsuite/gfortran.dg/der_array_io_3.f90
+++ b/gcc/testsuite/gfortran.dg/der_array_io_3.f90
@@ -7,7 +7,7 @@ program main
end type foo_type
type (foo_type) :: foo
! foo = foo_type("hello world ")
- print (buf1,*), foo
- print (buf2,*), (foo%name(i), i=1,13)
+ write (buf1,*) foo
+ write (buf2,*) (foo%name(i), i=1,13)
if (buf1.ne.buf2) call abort
end program main
diff --git a/gcc/testsuite/gfortran.dg/eoshift.f90 b/gcc/testsuite/gfortran.dg/eoshift.f90
index bb1cba4712d..ae7643bfd8f 100644
--- a/gcc/testsuite/gfortran.dg/eoshift.f90
+++ b/gcc/testsuite/gfortran.dg/eoshift.f90
@@ -2,5 +2,5 @@
! PR 18958: We used to segfault for eoshifting off the end of an array.
program main
character(len=20) line
- write (line,'(I4)') eoshift((/1, 3/), 3)
+ write (line,'(2I4)') eoshift((/1, 3/), 3)
end program main
diff --git a/gcc/testsuite/gfortran.dg/matmul_1.f90 b/gcc/testsuite/gfortran.dg/matmul_1.f90
index b3881c9facc..6496f88a2c7 100644
--- a/gcc/testsuite/gfortran.dg/matmul_1.f90
+++ b/gcc/testsuite/gfortran.dg/matmul_1.f90
@@ -33,7 +33,7 @@ Program matmul_1
! array sections
c = 0.0_T
- c = matmul (a(7:9,3:N), b(3:N,3:4))
+ c(1:3,1:2) = matmul (a(7:9,3:N), b(3:N,3:4))
if (sum (c) /= 576.0_T) call abort ()
! uses a temp
diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/character_passing.f90 b/gcc/testsuite/gfortran.fortran-torture/execute/character_passing.f90
index ade7f9d0c29..af06a84e471 100644
--- a/gcc/testsuite/gfortran.fortran-torture/execute/character_passing.f90
+++ b/gcc/testsuite/gfortran.fortran-torture/execute/character_passing.f90
@@ -1,13 +1,14 @@
! PR middle-end/20030
! we were messing up the access in LSAME for
-! the character agruments.
+! the character arguments.
program foo
character*1 a1, a2, b
+ logical LSAME, x
a1='A'
a2='A'
b='B'
x = LSAME(a1,a2)
- if ( x.ne.1 ) then
+ if ( .not. x ) then
call abort ();
endif
end
diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_count.f90 b/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_count.f90
index f95c198c1f5..0892d629c04 100644
--- a/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_count.f90
+++ b/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_count.f90
@@ -2,7 +2,7 @@
program intrinsic_count
implicit none
logical(kind=4), dimension (3, 5) :: a
- integer(kind=4), dimension (5) :: b
+ integer(kind=4), dimension (3) :: b
integer i
character(len=10) line
diff --git a/gcc/testsuite/lib/obj-c++.exp b/gcc/testsuite/lib/obj-c++.exp
index 476016a7a15..c58051821dc 100644
--- a/gcc/testsuite/lib/obj-c++.exp
+++ b/gcc/testsuite/lib/obj-c++.exp
@@ -23,6 +23,7 @@
#
load_lib prune.exp
load_lib gcc-defs.exp
+load_lib target-libpath.exp
#
# OBJCXX_UNDER_TEST is the compiler under test.
@@ -127,6 +128,18 @@ proc obj-c++_link_flags { paths } {
if [file exists "${gccpath}/librx/librx.a"] {
append flags "-L${gccpath}/librx "
}
+
+ set objcpath "[get_multilibs]"
+ set libobjc_dir [lookfor_file ${objcpath} libobjc/.libs/libobjc.a]
+ if { $libobjc_dir == ""} {
+ set libobjc_dir [lookfor_file ${objcpath} libobjc/.libs/libobjc-gnu.a]
+ }
+ if { $libobjc_dir != "" } {
+ set libobjc_dir [file dirname ${libobjc_dir}]
+ append flags "-L${libobjc_dir}"
+ append ld_library_path ":${libobjc_dir}"
+ }
+
append ld_library_path ":${rootme}"
set compiler [lindex $OBJCXX_UNDER_TEST 0]
if { [is_remote host] == 0 && [which $compiler] != 0 } {
@@ -165,36 +178,7 @@ proc obj-c++_link_flags { paths } {
}
}
- # On IRIX 6, we have to set variables akin to LD_LIBRARY_PATH, but
- # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
- # (for the 64-bit ABI). The right way to do this would be to modify
- # unix.exp -- but that's not an option since it's part of DejaGNU
- # proper, so we do it here.
- # The same applies to Darwin (DYLD_LIBRARY_PATH), Solaris 32 bit
- # (LD_LIBRARY_PATH_32), Solaris 64 bit (LD_LIBRARY_PATH_64), and HP-UX
- # (SHLIB_PATH).
- # Doing this does cause trouble when testing cross-compilers.
- if {![is_remote target]} {
- global env;
- if [info exists env(LD_LIBRARY_PATH)] {
- # If we've already added these directories once, keep the
- # existing path.
- if {$ld_library_path == $env(LD_LIBRARY_PATH)
- || [string first $ld_library_path: \
- $env(LD_LIBRARY_PATH)] == 0} {
- set ld_library_path $env(LD_LIBRARY_PATH)
- } elseif { $env(LD_LIBRARY_PATH) != "" } {
- append ld_library_path ":$env(LD_LIBRARY_PATH)"
- }
- }
- setenv LD_LIBRARY_PATH $ld_library_path
- setenv SHLIB_PATH $ld_library_path
- setenv LD_LIBRARYN32_PATH $ld_library_path
- setenv LD_LIBRARY64_PATH $ld_library_path
- setenv LD_LIBRARY_PATH_32 $ld_library_path
- setenv LD_LIBRARY_PATH_64 $ld_library_path
- setenv DYLD_LIBRARY_PATH $ld_library_path
- }
+ set_ld_library_path_env_vars
return "$flags"
}
@@ -306,18 +290,14 @@ proc obj-c++_target_compile { source dest type options } {
set libobjc_dir [lookfor_file ${objcpath} libobjc/.libs/libobjc.a]
if { $libobjc_dir == ""} {
- verbose "see if we have -fgnu-runtime in [target_info name]"
- if [regexp ".*-fgnu-runtime.*" [target_info name]] {
+ verbose "see if we have -fgnu-runtime in options"
+ if [regexp ".*-fgnu-runtime.*" "${options}" ] {
set libobjc_dir [lookfor_file ${objcpath} libobjc/.libs/libobjc-gnu.a]
}
}
if { $libobjc_dir != "" } {
set objc_include_dir "${srcdir}/../../libobjc"
lappend options "additional_flags=-I${objc_include_dir}"
- set libobjc_dir [file dirname ${libobjc_dir}]
- set objc_link_flags "-L${libobjc_dir}"
- lappend options "additional_flags=${objc_link_flags}"
- append ld_library_path ":${libobjc_dir}"
}
lappend options "additional_flags=[libio_include_flags]"
diff --git a/gcc/testsuite/lib/objc-torture.exp b/gcc/testsuite/lib/objc-torture.exp
index 4f7826a513d..09d0c7761ff 100644
--- a/gcc/testsuite/lib/objc-torture.exp
+++ b/gcc/testsuite/lib/objc-torture.exp
@@ -21,6 +21,24 @@ load_lib file-format.exp
# The default option list can be overridden by
# TORTURE_OPTIONS="{ { list1 } ... { listN } }"
+if ![info exists OBJC_RUNTIME_OPTIONS] {
+ set OBJC_RUNTIME_OPTIONS ""
+ foreach type {-fgnu-runtime -fnext-runtime} {
+ global srcdir subdir
+
+ set comp_output [objc_target_compile \
+ "$srcdir/$subdir/trivial.m" "trivial.exe" executable "additional_flags=$type"]
+
+ # If we get any error, then we failed
+ if ![string match "" $comp_output] then {
+ continue;
+ }
+ lappend OBJC_RUNTIME_OPTIONS $type
+ }
+}
+verbose -log "Using the following runtimes: $OBJC_RUNTIME_OPTIONS"
+
+
if ![info exists TORTURE_OPTIONS] {
# It is theoretically beneficial to group all of the O2/O3 options together,
# as in many cases the compiler will generate identical executables for
@@ -30,28 +48,33 @@ if ![info exists TORTURE_OPTIONS] {
# items below, even though -O3 is also specified, because some ports may
# choose to disable inlining functions by default, even when optimizing.
set TORTURE_OPTIONS [list \
- { -O0 } \
- { -O1 } \
- { -O2 } \
- { -O3 -fomit-frame-pointer } \
- { -O3 -fomit-frame-pointer -funroll-loops } \
- { -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions } \
- { -O3 -g } \
- { -Os } ]
+ " -O0 " \
+ " -O1 " \
+ " -O2 " \
+ " -O3 -fomit-frame-pointer " \
+ " -O3 -fomit-frame-pointer -funroll-loops " \
+ " -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions " \
+ " -O3 -g " \
+ " -Os " ]
}
# Split TORTURE_OPTIONS into two choices: one for testcases with loops and
-# one for testcases without loops.
+# one for testcases without loops. Add in the objc runtime options also.
-set torture_with_loops $TORTURE_OPTIONS
+set torture_with_loops ""
set torture_without_loops ""
-foreach option $TORTURE_OPTIONS {
+foreach objc_option $OBJC_RUNTIME_OPTIONS {
+ foreach option $TORTURE_OPTIONS {
+
if ![string match "*loop*" $option] {
- lappend torture_without_loops $option
+ lappend torture_without_loops "$option $objc_option"
}
+ lappend torture_with_loops "$option $objc_option"
+ }
}
+
#
# objc-torture-compile -- runs the Tege OBJC-torture test
#
diff --git a/gcc/testsuite/lib/objc.exp b/gcc/testsuite/lib/objc.exp
index 9dbbc3c757d..87ccdac6050 100644
--- a/gcc/testsuite/lib/objc.exp
+++ b/gcc/testsuite/lib/objc.exp
@@ -159,8 +159,8 @@ proc objc_target_compile { source dest type options } {
set libobjc_dir [lookfor_file ${objcpath} libobjc/.libs/libobjc.a]
if { $libobjc_dir == ""} {
- verbose "see if we have -fgnu-runtime in [target_info name]"
- if [regexp ".*-fgnu-runtime.*" [target_info name]] {
+ verbose "see if we have -fgnu-runtime in options"
+ if [regexp ".*-fgnu-runtime.*" "${options}"] {
set libobjc_dir [lookfor_file ${objcpath} libobjc/.libs/libobjc-gnu.a]
}
}
diff --git a/gcc/testsuite/objc.dg/image-info.m b/gcc/testsuite/objc.dg/image-info.m
index 87f14779295..3ffe81438d4 100644
--- a/gcc/testsuite/objc.dg/image-info.m
+++ b/gcc/testsuite/objc.dg/image-info.m
@@ -35,4 +35,4 @@ extern void abort(void);
}
@end
-/* { dg-final { scan-assembler "\t.section __OBJC, __image_info.*\n\t.align.*\nL_OBJC_IMAGE_INFO.*:\n\t.long\t0\n\t.long\t1\n\t.objc_module_info\n" } } */
+/* { dg-final { scan-assembler "\t.section __OBJC, __image_info.*\n\t.align.*\nL_OBJC_IMAGE_INFO.*:\n\t.long\t0\n\t.long\t1" } } */
diff --git a/gcc/testsuite/objc.dg/nested-func-1.m b/gcc/testsuite/objc.dg/nested-func-1.m
deleted file mode 100644
index 8ec3f722c11..00000000000
--- a/gcc/testsuite/objc.dg/nested-func-1.m
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Test basic nested C function functionality within ObjC
- methods. */
-/* Contributed by Ziemowit Laski <zlaski@apple.com>. */
-/* { dg-options "-lobjc" } */
-/* { dg-do run } */
-#include <stdio.h>
-#include <stdlib.h>
-#include <objc/objc.h>
-#include <objc/Object.h>
-
-int bappy (int (*blargh) (int a, int b, int c))
-{
- return blargh (4, 7, 2) + 3;
-}
-
-@interface Foo: Object
-+ (int)foo;
-@end
-
-@implementation Foo
-+ (int)foo
-{
- int blargh (int a, int b, int c)
- {
- return a * b + c;
- }
- return bappy (blargh);
-}
-@end
-
-int main ()
-{
- int f = [Foo foo];
- if (f != 33)
- abort ();
-
- return 0;
-}
diff --git a/gcc/testsuite/objc.dg/stubify-2.m b/gcc/testsuite/objc.dg/stubify-2.m
index 6e9b3a019fd..2a60686d017 100644
--- a/gcc/testsuite/objc.dg/stubify-2.m
+++ b/gcc/testsuite/objc.dg/stubify-2.m
@@ -28,4 +28,4 @@ extern int bogonic (int, int, int) ;
/* Any symbol_ref of an un-stubified objc_msgSend is an error; look
for "objc_msgSend" in quotes, without the $stub suffix. */
-/* { dg-final { scan-file-not stubify-2.m.03.jump "symbol_ref.*\"objc_msgSend\"" } } */
+/* { dg-final { scan-file-not stubify-2.m.08.jump "symbol_ref.*\"objc_msgSend\"" } } */
diff --git a/gcc/testsuite/objc.dg/try-catch-11.m b/gcc/testsuite/objc.dg/try-catch-11.m
deleted file mode 100644
index 745deca7c1d..00000000000
--- a/gcc/testsuite/objc.dg/try-catch-11.m
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Check that throwing an exception from a -forward:: works. */
-/* Developed by Marcin Koziej <creep@desk.pl>. */
-
-/* { dg-do run } */
-/* { dg-options "-fobjc-exceptions -w" } */
-
-#import <objc/Object.h>
-#import <objc/objc-api.h>
-#include <stdlib.h>
-
-static int i;
-
-@interface Thrower : Object
-- forward: (SEL) s : (void*) a;
-@end
-
-@implementation Thrower
-- forward: (SEL) s : (void*) a
-{
- i++;
- @throw [Object new];
-}
-@end
-int
-main()
-{
- id t = [Thrower new];
- @try
- {
- [t doesnotexist];
- }
- @catch (id error)
- {
- i++;
- [error free];
- }
-
- if (i != 2)
- abort ();
-
- return 0;
-} \ No newline at end of file
diff --git a/gcc/testsuite/objc.dg/try-catch-2.m b/gcc/testsuite/objc.dg/try-catch-2.m
deleted file mode 100644
index 35d60e96c00..00000000000
--- a/gcc/testsuite/objc.dg/try-catch-2.m
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Test out '@catch(id foo) {...}', which should catch all uncaught
- exceptions. */
-/* Developed by Ziemowit Laski <zlaski@apple.com>. */
-
-/* { dg-options "-fobjc-exceptions" } */
-/* { dg-do run } */
-
-#include <objc/Object.h>
-#include <stdio.h>
-
-/* The following is not required in actual user code; we include it
- here to check that the compiler generates an internal definition of
- _setjmp that is consistent with what <setjmp.h> provides. */
-#include <setjmp.h>
-
-extern void abort(void);
-#define CHECK_IF(expr) if(!(expr)) abort()
-
-@interface Frob: Object
-@end
-
-@implementation Frob: Object
-@end
-
-static Frob* _connection = nil;
-
-//--------------------------------------------------------------------
-
-
-void test (Object* sendPort)
-{
- int cleanupPorts = 1;
- Frob* receivePort = nil;
-
- @try {
- printf ("receivePort = %p\n", receivePort);
- printf ("sendPort = %p\n", sendPort);
- printf ("cleanupPorts = %d\n", cleanupPorts);
- printf ("---\n");
-
- receivePort = (Frob *) -1;
- _connection = (Frob *) -1;
- printf ("receivePort = %p\n", receivePort);
- printf ("sendPort = %p\n", sendPort);
- printf ("cleanupPorts = %d\n", cleanupPorts);
- printf ("---\n");
-
- receivePort = nil;
- sendPort = nil;
- cleanupPorts = 0;
-
- printf ("receivePort = %p\n", receivePort);
- printf ("sendPort = %p\n", sendPort);
- printf ("cleanupPorts = %d\n", cleanupPorts);
- printf ("---\n");
-
- @throw [Object new];
- }
- @catch(Frob *obj) {
- printf ("Exception caught by incorrect handler!\n");
- CHECK_IF(0);
- }
- @catch(id exc) {
- printf ("Exception caught by correct handler.\n");
- printf ("receivePort = %p (expected 0x0)\n", receivePort);
- printf ("sendPort = %p (expected 0x0)\n", sendPort);
- printf ("cleanupPorts = %d (expected 0)\n", cleanupPorts);
- printf ("---");
- CHECK_IF(!receivePort);
- CHECK_IF(!sendPort);
- CHECK_IF(!cleanupPorts);
- }
-}
-
-int main (void) {
-
- test((Object *)-1);
- return 0;
-}
diff --git a/gcc/testsuite/objc.dg/try-catch-8.m b/gcc/testsuite/objc.dg/try-catch-8.m
deleted file mode 100644
index 1e5230edffe..00000000000
--- a/gcc/testsuite/objc.dg/try-catch-8.m
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Check that local variables that get modified inside the @try
- block survive until the @catch block is reached. */
-/* Developed by Ziemowit Laski <zlaski@apple.com>. */
-
-/* { dg-options "-fobjc-exceptions -O2" } */
-/* { dg-do run { target *-*-darwin* } } */
-
-#include <objc/Object.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-int gi1 = 9, gi2 = 19;
-float gf1 = 9.0, gf2 = 19.0;
-id obj2 = nil;
-
-void foo (int arg1, float *arg2)
-{
- int *pi = &gi1;
- float *pf = &gf1;
- id obj1 = nil;
- int local1 = 45, local2 = 47;
- float local3 = 3.0, local4 = 4.0;
- register int local5 = 15;
- static float local6 = 16.0;
-
- @try {
- local1 = 123;
- local2 = 345;
- local3 = 5.0;
- local4 = 6.0;
- local5 = 17;
- local6 = 18.0;
- pi = &gi2;
- pf = &gf2;
- obj2 = obj1 = [Object new];
- arg1 = 17;
- arg2 = &gf2;
-
- @throw [Object new];
- }
- @catch (Object *obj) {
- if (local1 != 123 || local2 != 345 || local3 != 5.0 || local4 != 6.0
- || local5 != 17 || local6 != 18.0) {
- printf("Abort 1\n");
- abort();
- }
- if(pi != &gi2 || pf != &gf2) {
- printf("Abort 2\n");
- abort();
- }
- if(!obj1 || obj1 != obj2) {
- printf("Abort 3\n");
- abort();
- }
- if(arg1 != 17 || arg2 != &gf2) {
- printf("Abort 4\n");
- abort();
- }
- }
-}
-
-int main(void) {
- foo(15, &gf1);
- return 0;
-}
diff --git a/gcc/testsuite/treelang/ChangeLog b/gcc/testsuite/treelang/ChangeLog
index 7eae88607e0..1eb4cea362b 100644
--- a/gcc/testsuite/treelang/ChangeLog
+++ b/gcc/testsuite/treelang/ChangeLog
@@ -1,8 +1,19 @@
-2005-07-23 James A. Morrrison <phython@gcc.gnu.org>
+2005-08-06 James A. Morrison <phython@gcc.gnu.org>
+
+ * treetests.exp: Remove.
+ * a01gcco01runpgm: Move to...
+ * output/output-1.out: here.
+ * a01gcci01.c: Move to...
+ * output/output-1.c: here.
+ * a01gcci01.tree: Move to...
+ * output/output-1.tree: here.
+ * output/output.exp: New.
+
+2005-07-23 James A. Morrison <phython@gcc.gnu.org>
* compile/var_defs.tree: Remove extra lines.
-2005-07-19 James A. Morrrison <phython@gcc.gnu.org>
+2005-07-19 James A. Morrison <phython@gcc.gnu.org>
* compile/var_defs.tree: Remove duplicate variable.
* compile/var_defs-2.tree: Add duplicate variable test.
diff --git a/gcc/testsuite/treelang/a01gcci01.c b/gcc/testsuite/treelang/a01gcci01.c
deleted file mode 100644
index 745f93eecbf..00000000000
--- a/gcc/testsuite/treelang/a01gcci01.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Driver for treelang test pgm */
-
-/*
-
- Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-
- This 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 2, or (at your option) any
- later version.
-
- This program 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 program; if not, write to the Free Software
- Foundation, 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-
- In other words, you are welcome to use, share and improve this program.
- You are forbidden to forbid anyone else to use, share and improve
- what you give them. Help stamp out software-hoarding!
-*/
-
-int add(int, int);
-int subtract(int, int);
-int first_nonzero(int, int);
-extern int printf(char *template, ...);
-
-int
-main (int argc, char *argv[])
-{
- printf("2:%d\n", add(1,1));
- printf("7:%d\n", add(3,4));
- printf("-1:%d\n", subtract(3,4));
- printf("1:%d\n", subtract(2,1));
- printf("3:%d\n", first_nonzero(0,3));
- printf("0:%d\n", first_nonzero(0,0));
- printf("1:%d\n", first_nonzero(1,0));
- printf("15:%d\n", double_plus_one(7));
- return 0;
-}
diff --git a/gcc/testsuite/treelang/a01gcci01.tree b/gcc/testsuite/treelang/a01gcci01.tree
deleted file mode 100644
index be811a463fa..00000000000
--- a/gcc/testsuite/treelang/a01gcci01.tree
+++ /dev/null
@@ -1,60 +0,0 @@
-// -*- c -*- c mode in emacs
-
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-// This 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 2, or (at your option) any
-// later version.
-//
-// This program 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 program; if not, write to the Free Software
-// Foundation, 51 Franklin Street, Fifth Floor,
-// Boston, MA 02110-1301, USA.
-//
-// In other words, you are welcome to use, share and improve this program.
-// You are forbidden to forbid anyone else to use, share and improve
-// what you give them. Help stamp out software-hoarding!
-
-
-external_definition int add(int arg1, int arg2);
-external_definition int subtract(int arg3, int arg4);
-external_definition int first_nonzero(int arg5, int arg6);
-external_definition int double_plus_one(int arg7);
-
-add
-{
- return arg1 + arg2;
-}
-
-
-subtract
-{
- return arg3 - arg4;
-}
-
-double_plus_one
-{
- automatic int aaa;
- aaa=add(arg7, arg7);
- aaa=add(aaa, aaa);
- aaa=subtract(subtract(aaa, arg7), arg7) + 1;
- return aaa;
-}
-
-first_nonzero
-{
- if (arg5)
- {
- return arg5;
- }
- else
- {
- }
- return arg6;
-}
-
diff --git a/gcc/testsuite/treelang/a01gcco01runpgm b/gcc/testsuite/treelang/a01gcco01runpgm
deleted file mode 100644
index 3c2c743c77d..00000000000
--- a/gcc/testsuite/treelang/a01gcco01runpgm
+++ /dev/null
@@ -1,8 +0,0 @@
-2:2
-7:7
--1:-1
-1:1
-3:3
-0:0
-1:1
-15:15
diff --git a/gcc/testsuite/treelang/treetests.exp b/gcc/testsuite/treelang/treetests.exp
deleted file mode 100644
index 4fe9bce4ecd..00000000000
--- a/gcc/testsuite/treelang/treetests.exp
+++ /dev/null
@@ -1,307 +0,0 @@
-
-# Tests for treelang; run from gcc/treelang/Make-lang.in => gcc/Makefile
-# find ttt for the actual tests
-
-# Copyright (C) 1999, 2000, 2001, 2002 by The Free Software Foundation
-
-# This 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 2, or (at your option) any
-# later version.
-#
-# This program 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 program; if not, write to the Free Software
-# Foundation, 51 Franklin Street, Fifth Floor,
-# Boston, MA 02110-1301, USA.
-#
-# In other words, you are welcome to use, share and improve this program.
-# You are forbidden to forbid anyone else to use, share and improve
-# what you give them. Help stamp out software-hoarding!
-
-# Check the pgm is even there and set up the basics
-proc init_utility {pgm} {
- global transform
- global pgm_actual
- global pgm_base
- global fix_progname
- global path
-# maybe add "X" to front of fail to say it is an expected failure
- global X
-
- set pgm_base ${pgm}
- set pgm_actual ${pgm}
-
- if { ${transform} != "s,x,x,"} {
- verbose "1. program name was ${pgm}" 2
- set sed_rc [catch {eval exec sed -e "${transform}" <<${pgm} } catch_res]
- if { ${sed_rc} != "0" } {
- verbose "2. Program name transform failed rc=${sed_rc} stat=${catch_res}" 1
- ${X}fail "${pgm} sed"
- return 0
- }
- set pgm_actual ${catch_res}
- verbose "3. program name after transformation is ${pgm_actual}" 2
- }
-
- set which_rc [catch {exec which ${pgm_actual}} stat]
- if { ${which_rc} != "0" } {
- verbose "4. ${pgm_base} cannot be found rc=${which_rc} stat=${stat}" 1
- ${X}fail "${pgm} = ${pgm_actual} not found in path (${path})"
- return 0
- }
- set fix_progname "s,${pgm_actual},${pgm_base},"
- verbose "5. fix program name value = ${fix_progname}" 4
- return 1
-}
-
-#run pgm, option to remove file names from outputs
-proc run3 {srcdd testdd parms group_nbr item_nbr nonzero_RC_expected check_file sanitize_output tree1 pipe} {
-
- global transform
- global pgm_actual
- global pgm_base
- global fix_progname
- global X
- global extras
-
- set error_msg 0
- set basefile "a${group_nbr}${pgm_base}.out${item_nbr}"
- set infile ""
- set outfile ""
- set suffix ""
- set temp_extras "-O3 "
- set real_pgm_actual ${pgm_actual}
-
- if {${tree1} > 0} {
- if {"${pgm_actual}" == "gcc"} {
- set real_pgm_actual "xgcc"
- set temp_extras "${extras}"
- }
- set infile "${srcdd}/a${group_nbr}${pgm_base}i${item_nbr}.tree"
- set mainfile "${srcdd}/a${group_nbr}${pgm_base}i${item_nbr}.c"
- set outfile "-o ${testdd}/a${group_nbr}${pgm_base}o${item_nbr}${suffix}"
- }
-
- verbose "6. exec ${real_pgm_actual} ${temp_extras} ${parms} ${mainfile} ${infile} ${outfile} >${testdd}/${basefile} 2>${testdd}/${basefile}err" 2
- set run_rc [catch {eval exec ${real_pgm_actual} ${temp_extras} ${parms} ${mainfile} ${infile} ${outfile} >${testdd}/${basefile} 2>${testdd}/${basefile}err} catch_res]
- if {${run_rc} == 1} {
- if {${nonzero_RC_expected} == 0} {
- verbose "7. ${real_pgm_actual} ${group_nbr} ${item_nbr} failed due to rc=${run_rc} status=${catch_res}" 1
- ${X}fail "${pgm_base} ${group_nbr} ${item_nbr} rc!=0"
- return
- }
- } else {
- if {${nonzero_RC_expected} == 1} {
- verbose "8. ${pgm_actual} ${group_nbr} ${item_nbr} failed - did not produce nonzero return code as expected rc=${run_rc} status=${catch_res}" 1
- ${X}fail "${pgm_base} ${group_nbr} ${item_nbr} rc=0"
- return
- }
- }
-
-# change the filenames to (file) in output if needed to allow testing
- set checkfile1 "${srcdd}/${basefile}"
- set checkfile2 "${testdd}/${basefile}"
- if {${sanitize_output} != 0} {
- set oldcheckfile1 "${checkfile1}"
- set oldcheckfile2 "${checkfile2}"
- set checkfile1 "${testdd}/${basefile}.test.nofilename"
- set checkfile2 "${testdd}/${basefile}.run.nofilename"
- set run_rc [catch {eval exec sed -f ${srcdd}/filefix.sed <${oldcheckfile1} >${checkfile1}} catch_res]
- if {${run_rc} == 1} {
- verbose "9. sed to cleanup filenames (std 1) in pgm output failed due to rc=${run_rc} status=${catch_res}" 1
- if {${error_msg} == 0} {
- set error_msg "9. sed to cleanup filenames (std 1) in pgm output failed due to rc=${run_rc} status=${catch_res}"
- }
- }
- set run_rc [catch {eval exec sed -f ${srcdd}/filefix.sed <${oldcheckfile2} | sed -e "${fix_progname}" >${checkfile2}} catch_res]
- if {${run_rc} == 1} {
- verbose "10. sed to cleanup filenames (std 2) in pgm output failed due to rc=${run_rc} status=${catch_res}" 1
- if {${error_msg} == 0} {
- set error_msg "10. sed to cleanup filenames (std 2) in pgm output failed due to rc=${run_rc} status=${catch_res}"
- }
- }
- }
- set diff [diff ${checkfile1} ${checkfile2}]
- if {${diff} != 1} {
- verbose "11. ${pgm_actual} ${group_nbr} ${item_nbr} diff stdout failed rc=${diff}" 1
- if {${error_msg} == 0} {
- set error_msg "11. ${pgm_actual} ${group_nbr} ${item_nbr} diff stdout failed rc=${diff}"
- }
- }
-
- set checkfile1 "${srcdd}/${basefile}err"
- set checkfile2 "${testdd}/${basefile}err"
- if {${sanitize_output} != 0} {
- set oldcheckfile1 "${checkfile1}"
- set oldcheckfile2 "${checkfile2}"
- set checkfile1 "${testdd}/${basefile}err.test.nofilename"
- set checkfile2 "${testdd}/${basefile}err.run.nofilename"
- set run_rc [catch {eval exec sed -f ${srcdd}/filefix.sed <${oldcheckfile1} >${checkfile1}} catch_res]
- if {${run_rc} == 1} {
- verbose "12. sed to cleanup filenames (err 1) in pgm output failed due to rc=${run_rc} status=${catch_res}" 1
- if {${error_msg} == 0} {
- set error_msg "12. sed to cleanup filenames (err 1) in pgm output failed due to rc=${run_rc} status=${catch_res}"
- }
- }
- set run_rc [catch {eval exec sed -f ${srcdd}/filefix.sed <${oldcheckfile2} | sed -e "${fix_progname}" >${checkfile2}} catch_res]
- if {${run_rc} == 1} {
- verbose "13. sed to cleanup filenames (err 2) in pgm output failed due to rc=${run_rc} status=${catch_res}" 1
- if {${error_msg} == 0} {
- set error_msg "13. sed to cleanup filenames (err 2) in pgm output failed due to rc=${run_rc} status=${catch_res}"
- }
- }
- }
- set diff [diff ${checkfile1} ${checkfile2}]
- if {${diff} != 1} {
- verbose "14. ${pgm_actual} ${group_nbr} ${item_nbr} diff stderr failed rc=${diff}" 1
- if {${error_msg} == 0} {
- set error_msg "14. ${pgm_actual} ${group_nbr} ${item_nbr} diff stderr failed rc=${diff}"
- }
- }
-
- if {${check_file} >0} {
- if {${tree1} == 0} {
- set checkfile1 "${srcdd}/${basefile}file"
- set checkfile2 "${testdd}/${basefile}file"
- if {${sanitize_output} != 0} {
- set oldcheckfile1 "${checkfile1}"
- set oldcheckfile2 "${checkfile2}"
- set checkfile1 "${testdd}/${basefile}file.test.nofilename"
- set checkfile2 "${testdd}/${basefile}file.run.nofilename"
- set run_rc [catch {eval exec sed -f ${srcdd}/filefix.sed <${oldcheckfile1} >${checkfile1}} catch_res]
- if {${run_rc} == 1} {
- verbose "15. sed to cleanup filenames (err 1) in pgm stdout failed due to rc=${run_rc} status=${catch_res}" 1
- if {${error_msg} == 0} {
- set error_msg "15. sed to cleanup filenames (err 1) in pgm stdout failed due to rc=${run_rc} status=${catch_res}"
- }
- }
- set run_rc [catch {eval exec sed -f ${srcdd}/filefix.sed <${oldcheckfile2} | sed -e "${fix_progname}" >${checkfile2}} catch_res]
- if {${run_rc} == 1} {
- verbose "16. sed to cleanup filenames (err 2) in pgm stdout failed due to rc=${run_rc} status=${catch_res}" 1
- if {${error_msg} == 0} {
- set error_msg "16. sed to cleanup filenames (err 2) in pgm stdout failed due to rc=${run_rc} status=${catch_res}"
- }
- }
- }
- set diff [diff ${checkfile1} ${checkfile2}]
- if {${diff} != 1} {
- verbose "17. ${pgm_actual} ${group_nbr} ${item_nbr} diff stdout file failed rc=${diff}" 1
- if {${error_msg} == 0} {
- set error_msg "17. ${pgm_actual} ${group_nbr} ${item_nbr} diff stdout file failed rc=${diff}"
- }
- }
- }
- }
-
- if {${check_file} >1} {
- if {${tree1} == 0} {
- set checkfile1 "${srcdd}/${outfile}"
- set checkfile2 "${testdd}/${outfile}"
- if {${sanitize_output} != 0} {
- set oldcheckfile1 "${checkfile1}"
- set oldcheckfile2 "${checkfile2}"
- set checkfile1 "${testdd}/${basefile}out.test.nofilename"
- set checkfile2 "${testdd}/${basefile}out.run.nofilename"
- set run_rc [catch {eval exec sed -f ${srcdd}/filefix.sed <${oldcheckfile1} >${checkfile1}} catch_res]
- if {${run_rc} == 1} {
- verbose "18. sed to cleanup filenames (err 1) in pgm output failed due to rc=${run_rc} status=${catch_res}" 1
- if {${error_msg} == 0} {
- set error_msg "18. sed to cleanup filenames (err 1) in pgm output failed due to rc=${run_rc} status=${catch_res}"
- }
- }
- set run_rc [catch {eval exec sed -f ${srcdd}/filefix.sed <${oldcheckfile2} | sed -e "${fix_progname}" >${checkfile2}} catch_res]
- if {${run_rc} == 1} {
- verbose "19. sed to cleanup filenames (err 2) in pgm output failed due to rc=${run_rc} status=${catch_res}" 1
- if {${error_msg} == 0} {
- set error_msg "19. sed to cleanup filenames (err 2) in pgm output failed due to rc=${run_rc} status=${catch_res}"
- }
- }
- }
- set diff [diff ${checkfile1} ${checkfile2}]
- if {${diff} != 1} {
- verbose "20. ${pgm_actual} ${group_nbr} ${item_nbr} diff output file failed rc=${diff}" 1
- if {${error_msg} == 0} {
- set error_msg "20. ${pgm_actual} ${group_nbr} ${item_nbr} diff output file failed rc=${diff}"
- }
- }
- }
- }
-
- if {${check_file} >2} {
- set outfile "a${group_nbr}${pgm_base}o${item_nbr}${suffix}"
- set pgmrun "${testdd}/a${group_nbr}${pgm_base}o${item_nbr}${suffix}"
- set checkfile1 "${srcdd}/${outfile}runpgm"
- set checkfile2 "${testdd}/${outfile}runpgm"
- verbose "21. exec ${pgmrun} >${checkfile2} 2>${checkfile2}err" 2
- set run_rc [catch {eval exec ${pgmrun} >${checkfile2} 2>${checkfile2}err} catch_res]
- if {${run_rc} == 1} {
- if {${nonzero_RC_expected} == 0} {
- verbose "22. ${pgm_actual} ${group_nbr} ${item_nbr} failed due to rc=${run_rc} status=${catch_res}" 1
- ${X}fail "${pgm_base} ${group_nbr} ${item_nbr} run"
- return
- }
- } else {
- if {${nonzero_RC_expected} == 1} {
- verbose "23. ${pgm_actual} ${group_nbr} ${item_nbr} failed - did not produce nonzero return code as expected rc=${run_rc} status=${catch_res}" 1
- ${X}fail "${pgm_base} ${group_nbr} ${item_nbr} run"
- return
- }
- }
- set diff [diff ${checkfile1} ${checkfile2}]
- if {${diff} != 1} {
- verbose "24. ${pgm_actual} ${group_nbr} ${item_nbr} diff run output file failed rc=${diff}" 1
- if {${error_msg} == 0} {
- set error_msg "24. ${pgm_actual} ${group_nbr} ${item_nbr} diff run output file failed rc=${diff}"
- }
- }
- set diff [diff ${checkfile1}err ${checkfile2}err]
- if {${diff} != 1} {
- verbose "25. ${pgm_actual} ${group_nbr} ${item_nbr} diff run stderr file failed rc=${diff}" 1
- if {${error_msg} == 0} {
- set error_msg "25. ${pgm_actual} ${group_nbr} ${item_nbr} diff run stderr file failed rc=${diff}"
- }
- }
- }
-
- if {${error_msg}>0} {
- ${X}fail "${pgm_base} ${group_nbr} ${item_nbr} fail code=${error_msg}"
- } else {
- pass "${pgm_base} ${group_nbr} ${item_nbr}"
- }
- return
-}
-
-set extras "$env(gcc_extras)"
-set path $env(PATH)
-set transform $env(TRANSFORM)
-set srcdir $env(srcdir)
-verbose "source directory ${srcdir}\n" 2
-verbose "transform ${transform}\n" 2
-set sourcedir "${srcdir}/testsuite/treelang"
-set testdir "treelang"
-
-set pgm_actual ""
-
-# srcdd testdd parms group_nbr item_nbr nonzero_RC_expected check_file sanitize_output tree1
-
-# ttt
-
-#GCC - main C compiler tests via GCC
-
-set X ""
-
-set check_rc [init_utility "gcc"]
-
-if {${check_rc} == 1} {
-#
-#set X "x"
-set X ""
-run3 "${sourcedir}" "${testdir}" " -g -O3 --param ggc-min-heapsize=0 --param ggc-min-expand=0 " 01 01 0 3 0 1 0
-set X ""
-}
-
diff --git a/gcc/timevar.def b/gcc/timevar.def
index 05d8b386246..38e18031fd3 100644
--- a/gcc/timevar.def
+++ b/gcc/timevar.def
@@ -42,6 +42,7 @@ DEFTIMEVAR (TV_DUMP , "dump files")
DEFTIMEVAR (TV_CGRAPH , "callgraph construction")
DEFTIMEVAR (TV_CGRAPHOPT , "callgraph optimization")
+DEFTIMEVAR (TV_IPA_CONSTANT_PROP , "ipa cp")
DEFTIMEVAR (TV_IPA_REFERENCE , "ipa reference")
DEFTIMEVAR (TV_IPA_PURE_CONST , "ipa pure const")
DEFTIMEVAR (TV_IPA_TYPE_ESCAPE , "ipa type escape")
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 4c425a5ed89..72e66105edc 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -1549,17 +1549,6 @@ process_options (void)
if (flag_value_profile_transformations)
flag_profile_values = 1;
- /* Speculative prefetching implies the value profiling. We also switch off
- the prefetching in the loop optimizer, so that we do not emit double
- prefetches. TODO -- we should teach these two to cooperate; the loop
- based prefetching may sometimes do a better job, especially in connection
- with reuse analysis. */
- if (flag_speculative_prefetching)
- {
- flag_profile_values = 1;
- flag_prefetch_loop_arrays = 0;
- }
-
/* Warn about options that are not supported on this machine. */
#ifndef INSN_SCHEDULING
if (flag_schedule_insns || flag_schedule_insns_after_reload)
@@ -1719,24 +1708,12 @@ process_options (void)
warning (0, "-fprefetch-loop-arrays not supported for this target");
flag_prefetch_loop_arrays = 0;
}
- if (flag_speculative_prefetching)
- {
- if (flag_speculative_prefetching_set)
- warning (0, "-fspeculative-prefetching not supported for this target");
- flag_speculative_prefetching = 0;
- }
#else
if (flag_prefetch_loop_arrays && !HAVE_prefetch)
{
warning (0, "-fprefetch-loop-arrays not supported for this target (try -march switches)");
flag_prefetch_loop_arrays = 0;
}
- if (flag_speculative_prefetching && !HAVE_prefetch)
- {
- if (flag_speculative_prefetching_set)
- warning (0, "-fspeculative-prefetching not supported for this target (try -march switches)");
- flag_speculative_prefetching = 0;
- }
#endif
/* This combination of options isn't handled for i386 targets and doesn't
diff --git a/gcc/toplev.h b/gcc/toplev.h
index 45797b13381..e293c9ec25a 100644
--- a/gcc/toplev.h
+++ b/gcc/toplev.h
@@ -128,7 +128,6 @@ extern int flag_unroll_all_loops;
extern int flag_unswitch_loops;
extern int flag_cprop_registers;
extern int time_report;
-extern int flag_tree_based_profiling;
/* Things to do with target switches. */
extern void print_version (FILE *, const char *);
diff --git a/gcc/tracer.c b/gcc/tracer.c
index a92dcbc35dd..27f06c57d89 100644
--- a/gcc/tracer.c
+++ b/gcc/tracer.c
@@ -281,7 +281,7 @@ tail_duplicate (void)
e = find_edge (bb, bb2);
nduplicated += counts [bb2->index];
- bb2 = duplicate_block (bb2, e);
+ bb2 = duplicate_block (bb2, e, bb);
/* Reconsider the original copy of block we've duplicated.
Removing the most common predecessor may make it to be
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 5e06476c76a..df97058afe2 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -577,6 +577,7 @@ make_cond_expr_edges (basic_block bb)
tree entry = last_stmt (bb);
basic_block then_bb, else_bb;
tree then_label, else_label;
+ edge e;
gcc_assert (entry);
gcc_assert (TREE_CODE (entry) == COND_EXPR);
@@ -587,8 +588,21 @@ make_cond_expr_edges (basic_block bb)
then_bb = label_to_block (then_label);
else_bb = label_to_block (else_label);
- make_edge (bb, then_bb, EDGE_TRUE_VALUE);
- make_edge (bb, else_bb, EDGE_FALSE_VALUE);
+ e = make_edge (bb, then_bb, EDGE_TRUE_VALUE);
+#ifdef USE_MAPPED_LOCATION
+ e->goto_locus = EXPR_LOCATION (COND_EXPR_THEN (entry));
+#else
+ e->goto_locus = EXPR_LOCUS (COND_EXPR_THEN (entry));
+#endif
+ e = make_edge (bb, else_bb, EDGE_FALSE_VALUE);
+ if (e)
+ {
+#ifdef USE_MAPPED_LOCATION
+ e->goto_locus = EXPR_LOCATION (COND_EXPR_ELSE (entry));
+#else
+ e->goto_locus = EXPR_LOCUS (COND_EXPR_ELSE (entry));
+#endif
+ }
}
/* Hashing routine for EDGE_TO_CASES. */
@@ -1259,7 +1273,11 @@ replace_uses_by (tree name, tree val)
if (TREE_CODE (rhs) == ADDR_EXPR)
recompute_tree_invarant_for_addr_expr (rhs);
- update_stmt (stmt);
+ /* If the statement could throw and now cannot, we need to prune cfg. */
+ if (maybe_clean_or_replace_eh_stmt (stmt, stmt))
+ tree_purge_dead_eh_edges (bb_for_stmt (stmt));
+
+ mark_new_vars_to_rename (stmt);
}
VEC_free (tree, heap, stmts);
@@ -1290,18 +1308,15 @@ tree_merge_blocks (basic_block a, basic_block b)
if (dump_file)
fprintf (dump_file, "Merging blocks %d and %d\n", a->index, b->index);
- /* Remove the phi nodes. */
+ /* Remove all single-valued PHI nodes from block B of the form
+ V_i = PHI <V_j> by propagating V_j to all the uses of V_i. */
bsi = bsi_last (a);
for (phi = phi_nodes (b); phi; phi = phi_nodes (b))
{
tree def = PHI_RESULT (phi), use = PHI_ARG_DEF (phi, 0);
tree copy;
- if (!may_propagate_copy (def, use)
- /* Propagating pointers might cause the set of vops for statements
- to be changed, and thus require ssa form update. */
- || (is_gimple_reg (def)
- && POINTER_TYPE_P (TREE_TYPE (def))))
+ if (!may_propagate_copy (def, use))
{
gcc_assert (is_gimple_reg (def));
@@ -1316,6 +1331,7 @@ tree_merge_blocks (basic_block a, basic_block b)
}
else
replace_uses_by (def, use);
+
remove_phi_node (phi, NULL);
}
@@ -1971,11 +1987,23 @@ remove_bb (basic_block bb)
{
tree stmt = bsi_stmt (i);
if (TREE_CODE (stmt) == LABEL_EXPR
- && FORCED_LABEL (LABEL_EXPR_LABEL (stmt)))
+ && (FORCED_LABEL (LABEL_EXPR_LABEL (stmt))
+ || DECL_NONLOCAL (LABEL_EXPR_LABEL (stmt))))
{
- basic_block new_bb = bb->prev_bb;
- block_stmt_iterator new_bsi = bsi_start (new_bb);
+ basic_block new_bb;
+ block_stmt_iterator new_bsi;
+
+ /* A non-reachable non-local label may still be referenced.
+ But it no longer needs to carry the extra semantics of
+ non-locality. */
+ if (DECL_NONLOCAL (LABEL_EXPR_LABEL (stmt)))
+ {
+ DECL_NONLOCAL (LABEL_EXPR_LABEL (stmt)) = 0;
+ FORCED_LABEL (LABEL_EXPR_LABEL (stmt)) = 1;
+ }
+ new_bb = bb->prev_bb;
+ new_bsi = bsi_start (new_bb);
bsi_remove (&i);
bsi_insert_before (&new_bsi, stmt, BSI_NEW_STMT);
}
@@ -3013,6 +3041,22 @@ reinstall_phi_args (edge new_edge, edge old_edge)
PENDING_STMT (old_edge) = NULL;
}
+/* Returns the basic block after that the new basic block created
+ by splitting edge EDGE_IN should be placed. Tries to keep the new block
+ near its "logical" location. This is of most help to humans looking
+ at debugging dumps. */
+
+static basic_block
+split_edge_bb_loc (edge edge_in)
+{
+ basic_block dest = edge_in->dest;
+
+ if (dest->prev_bb && find_edge (dest->prev_bb, dest))
+ return edge_in->src;
+ else
+ return dest->prev_bb;
+}
+
/* Split a (typically critical) edge EDGE_IN. Return the new block.
Abort on abnormal edges. */
@@ -3028,13 +3072,7 @@ tree_split_edge (edge edge_in)
src = edge_in->src;
dest = edge_in->dest;
- /* Place the new block in the block list. Try to keep the new block
- near its "logical" location. This is of most help to humans looking
- at debugging dumps. */
- if (dest->prev_bb && find_edge (dest->prev_bb, dest))
- after_bb = edge_in->src;
- else
- after_bb = dest->prev_bb;
+ after_bb = split_edge_bb_loc (edge_in);
new_bb = create_empty_bb (after_bb);
new_bb->frequency = EDGE_FREQUENCY (edge_in);
@@ -4246,7 +4284,8 @@ tree_duplicate_sese_region (edge entry, edge exit,
edge exit_copy;
basic_block *doms;
edge redirected;
- int total_freq, entry_freq;
+ int total_freq = 0, entry_freq = 0;
+ gcov_type total_count = 0, entry_count = 0;
if (!can_copy_bbs_p (region, n_region))
return false;
@@ -4300,19 +4339,43 @@ tree_duplicate_sese_region (edge entry, edge exit,
n_doms = get_dominated_by_region (CDI_DOMINATORS, region, n_region, doms);
- total_freq = entry->dest->frequency;
- entry_freq = EDGE_FREQUENCY (entry);
- /* Fix up corner cases, to avoid division by zero or creation of negative
- frequencies. */
- if (total_freq == 0)
- total_freq = 1;
- else if (entry_freq > total_freq)
- entry_freq = total_freq;
+ if (entry->dest->count)
+ {
+ total_count = entry->dest->count;
+ entry_count = entry->count;
+ /* Fix up corner cases, to avoid division by zero or creation of negative
+ frequencies. */
+ if (entry_count > total_count)
+ entry_count = total_count;
+ }
+ else
+ {
+ total_freq = entry->dest->frequency;
+ entry_freq = EDGE_FREQUENCY (entry);
+ /* Fix up corner cases, to avoid division by zero or creation of negative
+ frequencies. */
+ if (total_freq == 0)
+ total_freq = 1;
+ else if (entry_freq > total_freq)
+ entry_freq = total_freq;
+ }
- copy_bbs (region, n_region, region_copy, &exit, 1, &exit_copy, loop);
- scale_bbs_frequencies_int (region, n_region, total_freq - entry_freq,
- total_freq);
- scale_bbs_frequencies_int (region_copy, n_region, entry_freq, total_freq);
+ copy_bbs (region, n_region, region_copy, &exit, 1, &exit_copy, loop,
+ split_edge_bb_loc (entry));
+ if (total_count)
+ {
+ scale_bbs_frequencies_gcov_type (region, n_region,
+ total_count - entry_count,
+ total_count);
+ scale_bbs_frequencies_gcov_type (region_copy, n_region, entry_count,
+ total_count);
+ }
+ else
+ {
+ scale_bbs_frequencies_int (region, n_region, total_freq - entry_freq,
+ total_freq);
+ scale_bbs_frequencies_int (region_copy, n_region, entry_freq, total_freq);
+ }
if (copying_header)
{
@@ -4454,7 +4517,7 @@ static void print_pred_bbs (FILE *, basic_block bb);
static void print_succ_bbs (FILE *, basic_block bb);
-/* Print the predecessors indexes of edge E on FILE. */
+/* Print on FILE the indexes for the predecessors of basic_block BB. */
static void
print_pred_bbs (FILE *file, basic_block bb)
@@ -4463,11 +4526,11 @@ print_pred_bbs (FILE *file, basic_block bb)
edge_iterator ei;
FOR_EACH_EDGE (e, ei, bb->preds)
- fprintf (file, "bb_%d", e->src->index);
+ fprintf (file, "bb_%d ", e->src->index);
}
-/* Print the successors indexes of edge E on FILE. */
+/* Print on FILE the indexes for the successors of basic_block BB. */
static void
print_succ_bbs (FILE *file, basic_block bb)
@@ -4476,7 +4539,7 @@ print_succ_bbs (FILE *file, basic_block bb)
edge_iterator ei;
FOR_EACH_EDGE (e, ei, bb->succs)
- fprintf (file, "bb_%d", e->src->index);
+ fprintf (file, "bb_%d ", e->dest->index);
}
diff --git a/gcc/tree-cfgcleanup.c b/gcc/tree-cfgcleanup.c
index 51b2fc59465..7e719c1dc33 100644
--- a/gcc/tree-cfgcleanup.c
+++ b/gcc/tree-cfgcleanup.c
@@ -81,11 +81,11 @@ cleanup_control_expr_graph (basic_block bb, block_stmt_iterator bsi)
switch (TREE_CODE (expr))
{
case COND_EXPR:
- val = COND_EXPR_COND (expr);
+ val = fold (COND_EXPR_COND (expr));
break;
case SWITCH_EXPR:
- val = SWITCH_COND (expr);
+ val = fold (SWITCH_COND (expr));
if (TREE_CODE (val) != INTEGER_CST)
return false;
break;
@@ -489,14 +489,12 @@ cleanup_forwarder_blocks (void)
return changed;
}
-/* Remove unreachable blocks and other miscellaneous clean up work. */
+/* Do one round of CFG cleanup. */
-bool
-cleanup_tree_cfg (void)
+static bool
+cleanup_tree_cfg_1 (void)
{
- bool retval = false;
-
- timevar_push (TV_TREE_CLEANUP_CFG);
+ bool retval;
retval = cleanup_control_flow ();
retval |= delete_unreachable_blocks ();
@@ -516,27 +514,44 @@ cleanup_tree_cfg (void)
end_recording_case_labels ();
}
-#ifdef ENABLE_CHECKING
- if (retval)
+ /* Merging the blocks may create new opportunities for folding
+ conditional branches (due to the elimination of single-valued PHI
+ nodes). */
+ retval |= merge_seq_blocks ();
+
+ return retval;
+}
+
+
+/* Remove unreachable blocks and other miscellaneous clean up work.
+ Return true if the flowgraph was modified, false otherwise. */
+
+bool
+cleanup_tree_cfg (void)
+{
+ bool retval, changed;
+
+ timevar_push (TV_TREE_CLEANUP_CFG);
+
+ /* Iterate until there are no more cleanups left to do. If any
+ iteration changed the flowgraph, set CHANGED to true. */
+ changed = false;
+ do
{
- gcc_assert (!cleanup_control_flow ());
- gcc_assert (!delete_unreachable_blocks ());
- if (optimize > 0)
- gcc_assert (!cleanup_forwarder_blocks ());
+ retval = cleanup_tree_cfg_1 ();
+ changed |= retval;
}
-#endif
-
- /* Merging the blocks creates no new opportunities for the other
- optimizations, so do it here. */
- retval |= merge_seq_blocks ();
+ while (retval);
compact_blocks ();
#ifdef ENABLE_CHECKING
verify_flow_info ();
#endif
+
timevar_pop (TV_TREE_CLEANUP_CFG);
- return retval;
+
+ return changed;
}
/* Cleanup cfg and repair loop structures. */
diff --git a/gcc/tree-chrec.c b/gcc/tree-chrec.c
index b48813c8daf..8dae9167ef6 100644
--- a/gcc/tree-chrec.c
+++ b/gcc/tree-chrec.c
@@ -30,6 +30,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
#include "tm.h"
#include "ggc.h"
#include "tree.h"
+#include "real.h"
#include "diagnostic.h"
#include "varray.h"
#include "cfgloop.h"
@@ -119,7 +120,9 @@ chrec_fold_plus_poly_poly (enum tree_code code,
(CHREC_VARIABLE (poly1),
chrec_fold_minus (type, poly0, CHREC_LEFT (poly1)),
chrec_fold_multiply (type, CHREC_RIGHT (poly1),
- build_int_cst_type (type, -1)));
+ SCALAR_FLOAT_TYPE_P (type)
+ ? build_real (type, dconstm1)
+ : build_int_cst_type (type, -1)));
}
if (CHREC_VARIABLE (poly0) > CHREC_VARIABLE (poly1))
@@ -208,7 +211,9 @@ chrec_fold_multiply_poly_poly (tree type,
CHREC_RIGHT (poly1)));
/* "2*b*d". */
t2 = chrec_fold_multiply (type, CHREC_RIGHT (poly0), CHREC_RIGHT (poly1));
- t2 = chrec_fold_multiply (type, build_int_cst_type (type, 2), t2);
+ t2 = chrec_fold_multiply (type, SCALAR_FLOAT_TYPE_P (type)
+ ? build_real (type, dconst2)
+ : build_int_cst_type (type, 2), t2);
var = CHREC_VARIABLE (poly0);
return build_polynomial_chrec (var, t0,
@@ -284,8 +289,10 @@ chrec_fold_plus_1 (enum tree_code code,
return build_polynomial_chrec
(CHREC_VARIABLE (op1),
chrec_fold_minus (type, op0, CHREC_LEFT (op1)),
- chrec_fold_multiply (type, CHREC_RIGHT (op1),
- build_int_cst_type (type, -1)));
+ chrec_fold_multiply (type, CHREC_RIGHT (op1),
+ SCALAR_FLOAT_TYPE_P (type)
+ ? build_real (type, dconstm1)
+ : build_int_cst_type (type, -1)));
default:
{
@@ -532,6 +539,9 @@ chrec_apply (unsigned var,
if (dump_file && (dump_flags & TDF_DETAILS))
fprintf (dump_file, "(chrec_apply \n");
+ if (TREE_CODE (x) == INTEGER_CST && SCALAR_FLOAT_TYPE_P (type))
+ x = build_real_from_int_cst (type, x);
+
if (evolution_function_is_affine_p (chrec))
{
/* "{a, +, b} (x)" -> "a + b*x". */
@@ -1110,9 +1120,24 @@ chrec_convert (tree type, tree chrec, tree at_stmt)
if (evolution_function_is_affine_p (chrec))
{
- tree step = convert_step (current_loops->parray[CHREC_VARIABLE (chrec)],
- type, CHREC_LEFT (chrec), CHREC_RIGHT (chrec),
- at_stmt);
+ tree step;
+ bool dummy;
+
+ /* Avoid conversion of (signed char) {(uchar)1, +, (uchar)1}_x
+ when it is not possible to prove that the scev does not wrap.
+ See PR22236, where a sequence 1, 2, ..., 255 has to be
+ converted to signed char, but this would wrap:
+ 1, 2, ..., 127, -128, ... The result should not be
+ {(schar)1, +, (schar)1}_x, but instead, we should keep the
+ conversion: (schar) {(uchar)1, +, (uchar)1}_x. */
+ if (scev_probably_wraps_p (type, CHREC_LEFT (chrec), CHREC_RIGHT (chrec),
+ at_stmt,
+ current_loops->parray[CHREC_VARIABLE (chrec)],
+ &dummy, &dummy))
+ return fold_convert (type, chrec);
+
+ step = convert_step (current_loops->parray[CHREC_VARIABLE (chrec)], type,
+ CHREC_LEFT (chrec), CHREC_RIGHT (chrec), at_stmt);
if (!step)
return fold_convert (type, chrec);
diff --git a/gcc/tree-complex.c b/gcc/tree-complex.c
index a63134f0ec1..de231191824 100644
--- a/gcc/tree-complex.c
+++ b/gcc/tree-complex.c
@@ -502,7 +502,7 @@ set_component_ssa_name (tree ssa_name, bool imag_p, tree value)
;
/* If we've nothing assigned, and the value we're given is already stable,
- then install that as the value for this SSA_NAME. This pre-emptively
+ then install that as the value for this SSA_NAME. This preemptively
copy-propagates the value, which avoids unnecessary memory allocation. */
else if (is_gimple_min_invariant (value))
{
diff --git a/gcc/tree-data-ref.c b/gcc/tree-data-ref.c
index 05361a2fc16..d7a4253320c 100644
--- a/gcc/tree-data-ref.c
+++ b/gcc/tree-data-ref.c
@@ -384,11 +384,18 @@ base_object_differ_p (struct data_reference *a,
/* Function base_addr_differ_p.
This is the simplest data dependence test: determines whether the
- data references A and B access the same array/region. Returns
+ data references DRA and DRB access the same array/region. Returns
false when the property is not computable at compile time.
- Otherwise return true, and DIFFER_P will record the result. This
- utility will not be necessary when alias_sets_conflict_p will be
- less conservative. */
+ Otherwise return true, and DIFFER_P will record the result.
+
+ The algorithm:
+ 1. if (both DRA and DRB are represented as arrays)
+ compare DRA.BASE_OBJECT and DRB.BASE_OBJECT
+ 2. else if (both DRA and DRB are represented as pointers)
+ try to prove that DRA.FIRST_LOCATION == DRB.FIRST_LOCATION
+ 3. else if (DRA and DRB are represented differently or 2. fails)
+ only try to prove that the bases are surely different
+*/
static bool
@@ -409,26 +416,27 @@ base_addr_differ_p (struct data_reference *dra,
gcc_assert (POINTER_TYPE_P (type_a) && POINTER_TYPE_P (type_b));
- /* Compare base objects first if possible. If DR_BASE_OBJECT is NULL, it means
- that the data-ref is of INDIRECT_REF, and alias analysis will be applied to
- reveal the dependence. */
- if (DR_BASE_OBJECT (dra) && DR_BASE_OBJECT (drb))
+ /* 1. if (both DRA and DRB are represented as arrays)
+ compare DRA.BASE_OBJECT and DRB.BASE_OBJECT. */
+ if (DR_TYPE (dra) == ARRAY_REF_TYPE && DR_TYPE (drb) == ARRAY_REF_TYPE)
return base_object_differ_p (dra, drb, differ_p);
+
+ /* 2. else if (both DRA and DRB are represented as pointers)
+ try to prove that DRA.FIRST_LOCATION == DRB.FIRST_LOCATION. */
/* If base addresses are the same, we check the offsets, since the access of
the data-ref is described by {base addr + offset} and its access function,
i.e., in order to decide whether the bases of data-refs are the same we
compare both base addresses and offsets. */
- if (addr_a == addr_b
- || (TREE_CODE (addr_a) == ADDR_EXPR && TREE_CODE (addr_b) == ADDR_EXPR
- && TREE_OPERAND (addr_a, 0) == TREE_OPERAND (addr_b, 0)))
+ if (DR_TYPE (dra) == POINTER_REF_TYPE && DR_TYPE (drb) == POINTER_REF_TYPE
+ && (addr_a == addr_b
+ || (TREE_CODE (addr_a) == ADDR_EXPR && TREE_CODE (addr_b) == ADDR_EXPR
+ && TREE_OPERAND (addr_a, 0) == TREE_OPERAND (addr_b, 0))))
{
/* Compare offsets. */
tree offset_a = DR_OFFSET (dra);
tree offset_b = DR_OFFSET (drb);
- gcc_assert (!DR_BASE_OBJECT (dra) && !DR_BASE_OBJECT (drb));
-
STRIP_NOPS (offset_a);
STRIP_NOPS (offset_b);
@@ -445,6 +453,9 @@ base_addr_differ_p (struct data_reference *dra,
}
}
+ /* 3. else if (DRA and DRB are represented differently or 2. fails)
+ only try to prove that the bases are surely different. */
+
/* Apply alias analysis. */
if (may_alias_p (addr_a, addr_b, dra, drb, &aliased) && !aliased)
{
@@ -468,13 +479,11 @@ base_addr_differ_p (struct data_reference *dra,
/* Returns true iff A divides B. */
static inline bool
-tree_fold_divides_p (tree type,
- tree a,
+tree_fold_divides_p (tree a,
tree b)
{
/* Determines whether (A == gcd (A, B)). */
- return integer_zerop
- (fold_build2 (MINUS_EXPR, type, a, tree_fold_gcd (a, b)));
+ return tree_int_cst_equal (a, tree_fold_gcd (a, b));
}
/* Compute the greatest common denominator of two numbers using
@@ -731,23 +740,6 @@ dump_ddrs (FILE *file, varray_type ddrs)
-/* Initialize LOOP->ESTIMATED_NB_ITERATIONS with the lowest safe
- approximation of the number of iterations for LOOP. */
-
-static void
-compute_estimated_nb_iterations (struct loop *loop)
-{
- struct nb_iter_bound *bound;
-
- for (bound = loop->bounds; bound; bound = bound->next)
- if (TREE_CODE (bound->bound) == INTEGER_CST
- /* Update only when there is no previous estimation. */
- && (chrec_contains_undetermined (loop->estimated_nb_iterations)
- /* Or when the current estimation is smaller. */
- || tree_int_cst_lt (bound->bound, loop->estimated_nb_iterations)))
- loop->estimated_nb_iterations = bound->bound;
-}
-
/* Estimate the number of iterations from the size of the data and the
access functions. */
@@ -757,7 +749,7 @@ estimate_niter_from_size_of_data (struct loop *loop,
tree access_fn,
tree stmt)
{
- tree estimation;
+ tree estimation = NULL_TREE;
tree array_size, data_size, element_size;
tree init, step;
@@ -779,11 +771,28 @@ estimate_niter_from_size_of_data (struct loop *loop,
&& TREE_CODE (init) == INTEGER_CST
&& TREE_CODE (step) == INTEGER_CST)
{
- estimation = fold_build2 (CEIL_DIV_EXPR, integer_type_node,
- fold_build2 (MINUS_EXPR, integer_type_node,
- data_size, init), step);
-
- record_estimate (loop, estimation, boolean_true_node, stmt);
+ tree i_plus_s = fold_build2 (PLUS_EXPR, integer_type_node, init, step);
+ tree sign = fold_build2 (GT_EXPR, boolean_type_node, i_plus_s, init);
+
+ if (sign == boolean_true_node)
+ estimation = fold_build2 (CEIL_DIV_EXPR, integer_type_node,
+ fold_build2 (MINUS_EXPR, integer_type_node,
+ data_size, init), step);
+
+ /* When the step is negative, as in PR23386: (init = 3, step =
+ 0ffffffff, data_size = 100), we have to compute the
+ estimation as ceil_div (init, 0 - step) + 1. */
+ else if (sign == boolean_false_node)
+ estimation =
+ fold_build2 (PLUS_EXPR, integer_type_node,
+ fold_build2 (CEIL_DIV_EXPR, integer_type_node,
+ init,
+ fold_build2 (MINUS_EXPR, unsigned_type_node,
+ integer_zero_node, step)),
+ integer_one_node);
+
+ if (estimation)
+ record_estimate (loop, estimation, boolean_true_node, stmt);
}
}
@@ -830,7 +839,7 @@ analyze_array_indexes (struct loop *loop,
set to true when REF is in the right hand side of an
assignment. */
-static struct data_reference *
+struct data_reference *
analyze_array (tree stmt, tree ref, bool is_read)
{
struct data_reference *res;
@@ -1712,7 +1721,7 @@ analyze_offset (tree offset, tree *invariant, tree *constant)
*constant = constant_0 ? constant_0 : constant_1;
if (invariant_0 && invariant_1)
*invariant =
- fold (build (code, TREE_TYPE (invariant_0), invariant_0, invariant_1));
+ fold_build2 (code, TREE_TYPE (invariant_0), invariant_0, invariant_1);
else
*invariant = invariant_0 ? invariant_0 : invariant_1;
}
@@ -1794,8 +1803,8 @@ create_data_ref (tree memref, tree stmt, bool is_read)
if (constant)
{
DR_INIT (dr) = fold_convert (ssizetype, constant);
- init_cond = fold (build (TRUNC_DIV_EXPR, TREE_TYPE (constant),
- constant, type_size));
+ init_cond = fold_build2 (TRUNC_DIV_EXPR, TREE_TYPE (constant),
+ constant, type_size);
}
else
DR_INIT (dr) = init_cond = ssize_int (0);;
@@ -2175,8 +2184,7 @@ analyze_siv_subscript_cst_affine (tree chrec_a,
chrec_b = {10, +, 1}
*/
- if (tree_fold_divides_p
- (integer_type_node, CHREC_RIGHT (chrec_b), difference))
+ if (tree_fold_divides_p (CHREC_RIGHT (chrec_b), difference))
{
*overlaps_a = integer_zero_node;
*overlaps_b = fold_build2 (EXACT_DIV_EXPR, integer_type_node,
@@ -2188,7 +2196,7 @@ analyze_siv_subscript_cst_affine (tree chrec_a,
return;
}
- /* When the step does not divides the difference, there are
+ /* When the step does not divide the difference, there are
no overlaps. */
else
{
@@ -2230,18 +2238,17 @@ analyze_siv_subscript_cst_affine (tree chrec_a,
chrec_a = 3
chrec_b = {10, +, -1}
*/
- if (tree_fold_divides_p
- (integer_type_node, CHREC_RIGHT (chrec_b), difference))
+ if (tree_fold_divides_p (CHREC_RIGHT (chrec_b), difference))
{
*overlaps_a = integer_zero_node;
- *overlaps_b = fold
- (build (EXACT_DIV_EXPR, integer_type_node, difference,
- CHREC_RIGHT (chrec_b)));
+ *overlaps_b = fold_build2 (EXACT_DIV_EXPR,
+ integer_type_node, difference,
+ CHREC_RIGHT (chrec_b));
*last_conflicts = integer_one_node;
return;
}
- /* When the step does not divides the difference, there
+ /* When the step does not divide the difference, there
are no overlaps. */
else
{
@@ -2805,7 +2812,7 @@ chrec_steps_divide_constant_p (tree chrec,
switch (TREE_CODE (chrec))
{
case POLYNOMIAL_CHREC:
- return (tree_fold_divides_p (integer_type_node, CHREC_RIGHT (chrec), cst)
+ return (tree_fold_divides_p (CHREC_RIGHT (chrec), cst)
&& chrec_steps_divide_constant_p (CHREC_LEFT (chrec), cst));
default:
@@ -3023,8 +3030,8 @@ subscript_dependence_tester (struct data_dependence_relation *ddr)
NB_LOOPS is the total number of loops we are considering.
FIRST_LOOP_DEPTH is the loop->depth of the first loop in the analyzed
loop nest.
- Return FALSE if the dependence relation is outside of the loop nest
- starting at FIRST_LOOP_DEPTH.
+ Return FALSE when fail to represent the data dependence as a distance
+ vector.
Return TRUE otherwise. */
static bool
@@ -3189,6 +3196,23 @@ build_classic_dist_vector (struct data_dependence_relation *ddr,
DDR_DIST_VECT (ddr) = dist_v;
DDR_SIZE_VECT (ddr) = nb_loops;
+
+ /* Verify a basic constraint: classic distance vectors should always
+ be lexicographically positive. */
+ if (!lambda_vector_lexico_pos (DDR_DIST_VECT (ddr),
+ DDR_SIZE_VECT (ddr)))
+ {
+ if (DDR_SIZE_VECT (ddr) == 1)
+ /* This one is simple to fix, and can be fixed.
+ Multidimensional arrays cannot be fixed that simply. */
+ lambda_vector_negate (DDR_DIST_VECT (ddr), DDR_DIST_VECT (ddr),
+ DDR_SIZE_VECT (ddr));
+ else
+ /* This is not valid: we need the delta test for properly
+ fixing all this. */
+ return false;
+ }
+
return true;
}
@@ -3644,9 +3668,6 @@ find_data_references_in_loop (struct loop *loop, varray_type *datarefs)
if (!ZERO_SSA_OPERANDS (stmt, SSA_OP_VIRTUAL_DEFS))
loop->parallel_p = false;
}
-
- if (chrec_contains_undetermined (loop->estimated_nb_iterations))
- compute_estimated_nb_iterations (loop);
}
free (bbs);
diff --git a/gcc/tree-data-ref.h b/gcc/tree-data-ref.h
index d0e670149d3..f845fcd4dcf 100644
--- a/gcc/tree-data-ref.h
+++ b/gcc/tree-data-ref.h
@@ -264,6 +264,7 @@ extern void free_dependence_relation (struct data_dependence_relation *);
extern void free_dependence_relations (varray_type);
extern void free_data_refs (varray_type);
extern void compute_subscript_distance (struct data_dependence_relation *);
+extern struct data_reference *analyze_array (tree, tree, bool);
diff --git a/gcc/tree-dfa.c b/gcc/tree-dfa.c
index beb83fbe829..7504d790f74 100644
--- a/gcc/tree-dfa.c
+++ b/gcc/tree-dfa.c
@@ -463,7 +463,7 @@ debug_dfa_stats (void)
}
-/* Collect DFA statistics and store them in the structure pointed by
+/* Collect DFA statistics and store them in the structure pointed to by
DFA_STATS_P. */
static void
diff --git a/gcc/tree-dump.c b/gcc/tree-dump.c
index 2beecc74456..632687108e8 100644
--- a/gcc/tree-dump.c
+++ b/gcc/tree-dump.c
@@ -752,7 +752,7 @@ static const struct dump_option_value_info dump_options[] =
{"uid", TDF_UID},
{"stmtaddr", TDF_STMTADDR},
{"all", ~(TDF_RAW | TDF_SLIM | TDF_LINENO | TDF_TREE | TDF_RTL | TDF_IPA
- | TDF_STMTADDR)},
+ | TDF_STMTADDR | TDF_GRAPH)},
{NULL, 0}
};
diff --git a/gcc/tree-flow-inline.h b/gcc/tree-flow-inline.h
index 7bcfefd1776..b0f5e888551 100644
--- a/gcc/tree-flow-inline.h
+++ b/gcc/tree-flow-inline.h
@@ -56,7 +56,7 @@ end_htab_p (htab_iterator *hti)
return false;
}
-/* Advance the hashtable iterator pointed by HTI to the next element of the
+/* Advance the hashtable iterator pointed to by HTI to the next element of the
hashtable. */
static inline void *
@@ -321,7 +321,7 @@ link_imm_use (ssa_use_operand_t *linknode, tree def)
}
}
-/* Set the value of a use pointed by USE to VAL. */
+/* Set the value of a use pointed to by USE to VAL. */
static inline void
set_ssa_use_from_ptr (use_operand_p use, tree val)
{
@@ -1191,7 +1191,7 @@ op_iter_init_must_and_may_def (ssa_op_iter *ptr, tree stmt,
/* If there is a single operand in STMT matching FLAGS, return it. Otherwise
- return NULL. PTR is the iterator to use. */
+ return NULL. */
static inline tree
single_ssa_tree_operand (tree stmt, int flags)
{
@@ -1209,7 +1209,7 @@ single_ssa_tree_operand (tree stmt, int flags)
/* If there is a single operand in STMT matching FLAGS, return it. Otherwise
- return NULL. PTR is the iterator to use. */
+ return NULL. */
static inline use_operand_p
single_ssa_use_operand (tree stmt, int flags)
{
@@ -1228,7 +1228,7 @@ single_ssa_use_operand (tree stmt, int flags)
/* If there is a single operand in STMT matching FLAGS, return it. Otherwise
- return NULL. PTR is the iterator to use. */
+ return NULL. */
static inline def_operand_p
single_ssa_def_operand (tree stmt, int flags)
{
@@ -1246,7 +1246,7 @@ single_ssa_def_operand (tree stmt, int flags)
/* If there is a single operand in STMT matching FLAGS, return it. Otherwise
- return NULL. PTR is the iterator to use. */
+ return NULL. */
static inline bool
zero_ssa_operands (tree stmt, int flags)
{
diff --git a/gcc/tree-flow.h b/gcc/tree-flow.h
index e83376a148f..23e44adc26f 100644
--- a/gcc/tree-flow.h
+++ b/gcc/tree-flow.h
@@ -728,7 +728,8 @@ tree find_loop_niter (struct loop *, edge *);
tree loop_niter_by_eval (struct loop *, edge);
tree find_loop_niter_by_eval (struct loop *, edge *);
void estimate_numbers_of_iterations (struct loops *);
-bool scev_probably_wraps_p (tree, tree, tree, tree, struct loop *, bool *);
+bool scev_probably_wraps_p (tree, tree, tree, tree, struct loop *, bool *,
+ bool *);
tree convert_step (struct loop *, tree, tree, tree, tree);
void free_numbers_of_iterations_estimates (struct loops *);
void rewrite_into_loop_closed_ssa (bitmap, unsigned);
@@ -738,6 +739,8 @@ bool for_each_index (tree *, bool (*) (tree, tree *, void *), void *);
void create_iv (tree, tree, tree, struct loop *, block_stmt_iterator *, bool,
tree *, tree *);
void split_loop_exit_edge (edge);
+void compute_phi_arg_on_exit (edge, tree, tree);
+unsigned force_expr_to_var_cost (tree);
basic_block bsi_insert_on_edge_immediate_loop (edge, tree);
void standard_iv_increment_position (struct loop *, block_stmt_iterator *,
bool *);
diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c
index 11f0ca10b7a..303ae2b659d 100644
--- a/gcc/tree-if-conv.c
+++ b/gcc/tree-if-conv.c
@@ -110,7 +110,7 @@ static void tree_if_convert_cond_expr (struct loop *, tree, tree,
static bool if_convertible_phi_p (struct loop *, basic_block, tree);
static bool if_convertible_modify_expr_p (struct loop *, basic_block, tree);
static bool if_convertible_stmt_p (struct loop *, basic_block, tree);
-static bool if_convertible_bb_p (struct loop *, basic_block, bool);
+static bool if_convertible_bb_p (struct loop *, basic_block, basic_block);
static bool if_convertible_loop_p (struct loop *, bool);
static void add_to_predicate_list (basic_block, tree);
static tree add_to_dst_predicate_list (struct loop * loop, basic_block, tree, tree,
@@ -437,7 +437,7 @@ if_convertible_stmt_p (struct loop *loop, basic_block bb, tree stmt)
BB is inside loop LOOP. */
static bool
-if_convertible_bb_p (struct loop *loop, basic_block bb, bool exit_bb_seen)
+if_convertible_bb_p (struct loop *loop, basic_block bb, basic_block exit_bb)
{
edge e;
edge_iterator ei;
@@ -445,7 +445,7 @@ if_convertible_bb_p (struct loop *loop, basic_block bb, bool exit_bb_seen)
if (dump_file && (dump_flags & TDF_DETAILS))
fprintf (dump_file, "----------[%d]-------------\n", bb->index);
- if (exit_bb_seen)
+ if (exit_bb)
{
if (bb != loop->latch)
{
@@ -459,6 +459,14 @@ if_convertible_bb_p (struct loop *loop, basic_block bb, bool exit_bb_seen)
fprintf (dump_file, "non empty basic block after exit bb\n");
return false;
}
+ else if (bb == loop->latch
+ && bb != exit_bb
+ && !dominated_by_p (CDI_DOMINATORS, bb, exit_bb))
+ {
+ if (dump_file && (dump_flags & TDF_DETAILS))
+ fprintf (dump_file, "latch is not dominated by exit_block\n");
+ return false;
+ }
}
/* Be less adventurous and handle only normal edges. */
@@ -494,7 +502,7 @@ if_convertible_loop_p (struct loop *loop, bool for_vectorizer ATTRIBUTE_UNUSED)
unsigned int i;
edge e;
edge_iterator ei;
- bool exit_bb_seen = false;
+ basic_block exit_bb = NULL;
/* Handle only inner most loop. */
if (!loop || loop->inner)
@@ -547,7 +555,7 @@ if_convertible_loop_p (struct loop *loop, bool for_vectorizer ATTRIBUTE_UNUSED)
{
bb = ifc_bbs[i];
- if (!if_convertible_bb_p (loop, bb, exit_bb_seen))
+ if (!if_convertible_bb_p (loop, bb, exit_bb))
return false;
/* Check statements. */
@@ -562,7 +570,7 @@ if_convertible_loop_p (struct loop *loop, bool for_vectorizer ATTRIBUTE_UNUSED)
return false;
if (bb_with_exit_edge_p (loop, bb))
- exit_bb_seen = true;
+ exit_bb = bb;
}
/* OK. Did not find any potential issues so go ahead in if-convert
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index 21d8ac003ed..afec40df005 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -49,7 +49,7 @@ Boston, MA 02110-1301, USA. */
#include "except.h"
#include "debug.h"
#include "pointer-set.h"
-#include "integrate.h"
+#include "ipa-prop.h"
/* I'm not real happy about this, but we need to handle gimple and
non-gimple trees. */
@@ -127,12 +127,15 @@ typedef struct inline_data
bool cloning_p;
/* Similarly for saving function body. */
bool saving_p;
+ /* Versioning function is slightly different from inlining. */
+ bool versioning_p;
/* Callgraph node of function we are inlining into. */
struct cgraph_node *node;
/* Callgraph node of currently inlined function. */
struct cgraph_node *current_node;
/* Current BLOCK. */
tree block;
+ varray_type ipa_info;
/* Exception region the inlined call lie in. */
int eh_region;
/* Take region number in the function being copied, add this value and
@@ -157,8 +160,8 @@ static void unsave_expr_1 (tree);
static tree unsave_r (tree *, int *, void *);
static void declare_inline_vars (tree, tree);
static void remap_save_expr (tree *, void *, int *);
-
-static inline bool inlining_p (inline_data *id);
+static bool replace_ref_tree (inline_data *, tree *);
+static inline bool inlining_p (inline_data *);
static void add_lexical_block (tree current_block, tree new_block);
/* Insert a tree->tree mapping for ID. Despite the name suggests
@@ -198,8 +201,8 @@ remap_decl (tree decl, inline_data *id)
{
/* Make a copy of the variable or label. */
tree t;
- t = copy_decl_for_inlining (decl, fn, id->caller);
-
+ t = copy_decl_for_dup (decl, fn, id->caller, id->versioning_p);
+
/* Remember it, so that if we encounter this local entity again
we can reuse this copy. Do this early because remap_type may
need this decl for TYPE_STUB_DECL. */
@@ -607,7 +610,8 @@ copy_body_r (tree *tp, int *walk_subtrees, void *data)
}
}
}
- else if (TREE_CODE (*tp) == INDIRECT_REF)
+ else if (TREE_CODE (*tp) == INDIRECT_REF
+ && !id->versioning_p)
{
/* Get rid of *& from inline substitutions that can happen when a
pointer argument is an ADDR_EXPR. */
@@ -639,8 +643,8 @@ copy_body_r (tree *tp, int *walk_subtrees, void *data)
/* Here is the "usual case". Copy this tree node, and then
tweak some special cases. */
- copy_tree_r (tp, walk_subtrees, NULL);
-
+ copy_tree_r (tp, walk_subtrees, id->versioning_p ? data : NULL);
+
/* If EXPR has block defined, map it to newly constructed block.
When inlining we want EXPRs without block appear in the block
of function call. */
@@ -749,10 +753,22 @@ copy_bb (inline_data *id, basic_block bb, int frequency_scale, int count_scale)
/* We're cloning or inlining this body; duplicate the
associate callgraph nodes. */
- edge = cgraph_edge (id->current_node, orig_stmt);
+ if (!id->versioning_p)
+ {
+ edge = cgraph_edge (id->current_node, orig_stmt);
+ if (edge)
+ cgraph_clone_edge (edge, id->node, stmt,
+ REG_BR_PROB_BASE, 1, true);
+ }
+ }
+ if (id->versioning_p)
+ {
+ /* Update the call_expr on the edges from the new version
+ to its callees. */
+ struct cgraph_edge *edge;
+ edge = cgraph_edge (id->node, orig_stmt);
if (edge)
- cgraph_clone_edge (edge, id->node, stmt,
- REG_BR_PROB_BASE, 1);
+ edge->call_stmt = stmt;
}
}
/* If you think we can abort here, you are wrong.
@@ -921,7 +937,7 @@ copy_cfg_body (inline_data * id, gcov_type count, int frequency,
and label_to_block_maps. Otherwise, we're duplicating a function
body for inlining; insert our new blocks and labels into the
existing varrays. */
- saving_or_cloning = (id->saving_p || id->cloning_p);
+ saving_or_cloning = (id->saving_p || id->cloning_p || id->versioning_p);
if (saving_or_cloning)
{
new_cfun =
@@ -1061,7 +1077,7 @@ setup_one_parameter (inline_data *id, tree p, tree value, tree fn,
/* Make an equivalent VAR_DECL. Note that we must NOT remap the type
here since the type of this decl must be visible to the calling
function. */
- var = copy_decl_for_inlining (p, fn, id->caller);
+ var = copy_decl_for_dup (p, fn, id->caller, /*versioning=*/false);
/* See if the frontend wants to pass this by invisible reference. If
so, our new VAR_DECL will have REFERENCE_TYPE, and we need to
@@ -1259,7 +1275,7 @@ declare_return_variable (inline_data *id, tree return_slot_addr,
gcc_assert (TREE_CODE (TYPE_SIZE_UNIT (callee_type)) == INTEGER_CST);
- var = copy_decl_for_inlining (result, callee, caller);
+ var = copy_decl_for_dup (result, callee, caller, /*versioning=*/false);
DECL_SEEN_IN_BIND_EXPR_P (var) = 1;
DECL_STRUCT_FUNCTION (caller)->unexpanded_var_list
@@ -2365,6 +2381,7 @@ tree
copy_tree_r (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED)
{
enum tree_code code = TREE_CODE (*tp);
+ inline_data *id = (inline_data *) data;
/* We make copies of most nodes. */
if (IS_EXPR_CODE_CLASS (TREE_CODE_CLASS (code))
@@ -2377,6 +2394,11 @@ copy_tree_r (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED)
tree chain = TREE_CHAIN (*tp);
tree new;
+ if (id && id->versioning_p && replace_ref_tree (id, tp))
+ {
+ *walk_subtrees = 0;
+ return NULL_TREE;
+ }
/* Copy the node. */
new = copy_node (*tp);
@@ -2479,8 +2501,8 @@ mark_local_for_remap_r (tree *tp, int *walk_subtrees ATTRIBUTE_UNUSED,
/* Copy the decl and remember the copy. */
insert_decl_map (id, decl,
- copy_decl_for_inlining (decl, DECL_CONTEXT (decl),
- DECL_CONTEXT (decl)));
+ copy_decl_for_dup (decl, DECL_CONTEXT (decl),
+ DECL_CONTEXT (decl), /*versioning=*/false));
}
return NULL_TREE;
@@ -2614,9 +2636,315 @@ declare_inline_vars (tree block, tree vars)
BLOCK_VARS (block) = chainon (BLOCK_VARS (block), vars);
}
-/* Returns true if we're inlining. */
+
+/* Copy NODE (which must be a DECL). The DECL originally was in the FROM_FN,
+ but now it will be in the TO_FN. VERSIONING means that this function
+ is used by the versioning utility (not inlining or cloning). */
+
+tree
+copy_decl_for_dup (tree decl, tree from_fn, tree to_fn, bool versioning)
+{
+ tree copy;
+
+ gcc_assert (DECL_P (decl));
+ /* Copy the declaration. */
+ if (!versioning
+ && (TREE_CODE (decl) == PARM_DECL
+ || TREE_CODE (decl) == RESULT_DECL))
+ {
+ tree type = TREE_TYPE (decl);
+
+ /* For a parameter or result, we must make an equivalent VAR_DECL,
+ not a new PARM_DECL. */
+ copy = build_decl (VAR_DECL, DECL_NAME (decl), type);
+ TREE_ADDRESSABLE (copy) = TREE_ADDRESSABLE (decl);
+ TREE_READONLY (copy) = TREE_READONLY (decl);
+ TREE_THIS_VOLATILE (copy) = TREE_THIS_VOLATILE (decl);
+ DECL_COMPLEX_GIMPLE_REG_P (copy) = DECL_COMPLEX_GIMPLE_REG_P (decl);
+ }
+ else
+ {
+ copy = copy_node (decl);
+ /* The COPY is not abstract; it will be generated in TO_FN. */
+ DECL_ABSTRACT (copy) = 0;
+ lang_hooks.dup_lang_specific_decl (copy);
+
+ /* TREE_ADDRESSABLE isn't used to indicate that a label's
+ address has been taken; it's for internal bookkeeping in
+ expand_goto_internal. */
+ if (TREE_CODE (copy) == LABEL_DECL)
+ {
+ TREE_ADDRESSABLE (copy) = 0;
+ LABEL_DECL_UID (copy) = -1;
+ }
+ }
+
+ /* Don't generate debug information for the copy if we wouldn't have
+ generated it for the copy either. */
+ DECL_ARTIFICIAL (copy) = DECL_ARTIFICIAL (decl);
+ DECL_IGNORED_P (copy) = DECL_IGNORED_P (decl);
+
+ /* Set the DECL_ABSTRACT_ORIGIN so the debugging routines know what
+ declaration inspired this copy. */
+ DECL_ABSTRACT_ORIGIN (copy) = DECL_ORIGIN (decl);
+
+ /* The new variable/label has no RTL, yet. */
+ if (CODE_CONTAINS_STRUCT (TREE_CODE (copy), TS_DECL_WRTL)
+ && !TREE_STATIC (copy) && !DECL_EXTERNAL (copy))
+ SET_DECL_RTL (copy, NULL_RTX);
+
+ /* These args would always appear unused, if not for this. */
+ TREE_USED (copy) = 1;
+
+ /* Set the context for the new declaration. */
+ if (!DECL_CONTEXT (decl))
+ /* Globals stay global. */
+ ;
+ else if (DECL_CONTEXT (decl) != from_fn)
+ /* Things that weren't in the scope of the function we're inlining
+ from aren't in the scope we're inlining to, either. */
+ ;
+ else if (TREE_STATIC (decl))
+ /* Function-scoped static variables should stay in the original
+ function. */
+ ;
+ else
+ /* Ordinary automatic local variables are now in the scope of the
+ new function. */
+ DECL_CONTEXT (copy) = to_fn;
+
+ return copy;
+}
+
+/* Return a copy of the function's argument tree. */
+static tree
+copy_arguments_for_versioning (tree orig_parm, inline_data * id)
+{
+ tree *arg_copy, *parg;
+
+ arg_copy = &orig_parm;
+ for (parg = arg_copy; *parg; parg = &TREE_CHAIN (*parg))
+ {
+ tree new = remap_decl (*parg, id);
+ lang_hooks.dup_lang_specific_decl (new);
+ TREE_CHAIN (new) = TREE_CHAIN (*parg);
+ *parg = new;
+ }
+ return orig_parm;
+}
+
+/* Return a copy of the function's static chain. */
+static tree
+copy_static_chain (tree static_chain, inline_data * id)
+{
+ tree *chain_copy, *pvar;
+
+ chain_copy = &static_chain;
+ for (pvar = chain_copy; *pvar; pvar = &TREE_CHAIN (*pvar))
+ {
+ tree new = remap_decl (*pvar, id);
+ lang_hooks.dup_lang_specific_decl (new);
+ TREE_CHAIN (new) = TREE_CHAIN (*pvar);
+ *pvar = new;
+ }
+ return static_chain;
+}
+
+/* Return true if the function is allowed to be versioned.
+ This is a guard for the versioning functionality. */
+bool
+tree_versionable_function_p (tree fndecl)
+{
+ if (fndecl == NULL_TREE)
+ return false;
+ /* ??? There are cases where a function is
+ uninlinable but can be versioned. */
+ if (!tree_inlinable_function_p (fndecl))
+ return false;
+
+ return true;
+}
+
+/* Create a copy of a function's tree.
+ OLD_DECL and NEW_DECL are FUNCTION_DECL tree nodes
+ of the original function and the new copied function
+ respectively. In case we want to replace a DECL
+ tree with another tree while duplicating the function's
+ body, TREE_MAP represents the mapping between these
+ trees. */
+void
+tree_function_versioning (tree old_decl, tree new_decl, varray_type tree_map)
+{
+ struct cgraph_node *old_version_node;
+ struct cgraph_node *new_version_node;
+ inline_data id;
+ tree p, new_fndecl;
+ unsigned i;
+ struct ipa_replace_map *replace_info;
+ basic_block old_entry_block;
+ tree t_step;
+
+ gcc_assert (TREE_CODE (old_decl) == FUNCTION_DECL
+ && TREE_CODE (new_decl) == FUNCTION_DECL);
+ DECL_POSSIBLY_INLINED (old_decl) = 1;
+
+ old_version_node = cgraph_node (old_decl);
+ new_version_node = cgraph_node (new_decl);
+
+ allocate_struct_function (new_decl);
+ /* Cfun points to the new allocated function struct at this point. */
+ cfun->function_end_locus = DECL_SOURCE_LOCATION (new_decl);
+
+ DECL_ARTIFICIAL (new_decl) = 1;
+ DECL_ABSTRACT_ORIGIN (new_decl) = DECL_ORIGIN (old_decl);
+
+ /* Generate a new name for the new version. */
+ DECL_NAME (new_decl) =
+ create_tmp_var_name (NULL);
+ /* Create a new SYMBOL_REF rtx for the new name. */
+ if (DECL_RTL (old_decl) != NULL)
+ {
+ SET_DECL_RTL (new_decl, copy_rtx (DECL_RTL (old_decl)));
+ XEXP (DECL_RTL (new_decl), 0) =
+ gen_rtx_SYMBOL_REF (GET_MODE (XEXP (DECL_RTL (old_decl), 0)),
+ IDENTIFIER_POINTER (DECL_NAME (new_decl)));
+ }
+
+ /* Prepare the data structures for the tree copy. */
+ memset (&id, 0, sizeof (id));
+
+ /* The new version. */
+ id.node = new_version_node;
+
+ /* The old version. */
+ id.current_node = cgraph_node (old_decl);
+
+ id.versioning_p = true;
+ id.decl_map = splay_tree_new (splay_tree_compare_pointers, NULL, NULL);
+ id.caller = new_decl;
+ id.callee = old_decl;
+ id.callee_cfun = DECL_STRUCT_FUNCTION (old_decl);
+
+ current_function_decl = 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);
+ /* 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);
+
+ /* If there's a tree_map, prepare for substitution. */
+ if (tree_map)
+ for (i = 0; i < VARRAY_ACTIVE_SIZE (tree_map); i++)
+ {
+ replace_info = VARRAY_GENERIC_PTR (tree_map, i);
+ if (replace_info->replace_p && !replace_info->ref_p)
+ insert_decl_map (&id, replace_info->old_tree,
+ replace_info->new_tree);
+ else if (replace_info->replace_p && replace_info->ref_p)
+ id.ipa_info = tree_map;
+ }
+
+ DECL_INITIAL (new_decl) = remap_blocks (DECL_INITIAL (id.callee), &id);
+
+ /* Renumber the lexical scoping (non-code) blocks consecutively. */
+ number_blocks (id.caller);
+
+ if (DECL_STRUCT_FUNCTION (old_decl)->unexpanded_var_list != NULL_TREE)
+ /* Add local vars. */
+ for (t_step = DECL_STRUCT_FUNCTION (old_decl)->unexpanded_var_list;
+ t_step; t_step = TREE_CHAIN (t_step))
+ {
+ tree var = TREE_VALUE (t_step);
+ if (TREE_STATIC (var) && !TREE_ASM_WRITTEN (var))
+ cfun->unexpanded_var_list = tree_cons (NULL_TREE, var,
+ cfun->unexpanded_var_list);
+ else
+ cfun->unexpanded_var_list =
+ tree_cons (NULL_TREE, remap_decl (var, &id),
+ cfun->unexpanded_var_list);
+ }
+
+ /* Copy the Function's body. */
+ old_entry_block = ENTRY_BLOCK_PTR_FOR_FUNCTION
+ (DECL_STRUCT_FUNCTION (old_decl));
+ new_fndecl = copy_body (&id,
+ old_entry_block->count,
+ old_entry_block->frequency, NULL, NULL);
+
+ DECL_SAVED_TREE (new_decl) = DECL_SAVED_TREE (new_fndecl);
+
+ DECL_STRUCT_FUNCTION (new_decl)->cfg =
+ DECL_STRUCT_FUNCTION (new_fndecl)->cfg;
+ DECL_STRUCT_FUNCTION (new_decl)->eh = DECL_STRUCT_FUNCTION (new_fndecl)->eh;
+ DECL_STRUCT_FUNCTION (new_decl)->ib_boundaries_block =
+ DECL_STRUCT_FUNCTION (new_fndecl)->ib_boundaries_block;
+ DECL_STRUCT_FUNCTION (new_decl)->last_label_uid =
+ DECL_STRUCT_FUNCTION (new_fndecl)->last_label_uid;
+
+ if (DECL_RESULT (old_decl) != NULL_TREE)
+ {
+ tree *res_decl = &DECL_RESULT (old_decl);
+ DECL_RESULT (new_decl) = remap_decl (*res_decl, &id);
+ lang_hooks.dup_lang_specific_decl (DECL_RESULT (new_decl));
+ }
+
+ current_function_decl = NULL;
+ /* Renumber the lexical scoping (non-code) blocks consecutively. */
+ number_blocks (new_decl);
+
+ /* Clean up. */
+ splay_tree_delete (id.decl_map);
+ fold_cond_expr_cond ();
+ return;
+}
+
+/* Replace an INDIRECT_REF tree of a given DECL tree with a new
+ given tree.
+ ID->ipa_info keeps the old tree and the new tree.
+ TP points to the INDIRECT REF tree. Return true if
+ the trees were replaced. */
+static bool
+replace_ref_tree (inline_data * id, tree * tp)
+{
+ bool replaced = false;
+ tree new;
+
+ if (id->ipa_info && VARRAY_ACTIVE_SIZE (id->ipa_info) > 0)
+ {
+ unsigned i;
+
+ for (i = 0; i < VARRAY_ACTIVE_SIZE (id->ipa_info); i++)
+ {
+ struct ipa_replace_map *replace_info;
+ replace_info = VARRAY_GENERIC_PTR (id->ipa_info, i);
+
+ if (replace_info->replace_p && replace_info->ref_p)
+ {
+ tree old_tree = replace_info->old_tree;
+ tree new_tree = replace_info->new_tree;
+
+ if (TREE_CODE (*tp) == INDIRECT_REF
+ && TREE_OPERAND (*tp, 0) == old_tree)
+ {
+ new = copy_node (new_tree);
+ *tp = new;
+ replaced = true;
+ }
+ }
+ }
+ }
+ return replaced;
+}
+
+/* Return true if we are inlining. */
static inline bool
-inlining_p (inline_data *id)
+inlining_p (inline_data * id)
{
- return (!id->saving_p && !id->cloning_p);
+ return (!id->saving_p && !id->cloning_p && !id->versioning_p);
}
diff --git a/gcc/tree-inline.h b/gcc/tree-inline.h
index 23d562cc7d1..65ffed29b8d 100644
--- a/gcc/tree-inline.h
+++ b/gcc/tree-inline.h
@@ -22,6 +22,7 @@ Boston, MA 02110-1301, USA. */
#ifndef GCC_TREE_INLINE_H
#define GCC_TREE_INLINE_H
+#include "varray.h"
/* Function prototypes. */
void optimize_inline_calls (tree);
@@ -33,6 +34,12 @@ int estimate_move_cost (tree type);
void push_cfun (struct function *new_cfun);
void pop_cfun (void);
int estimate_num_insns (tree expr);
+bool tree_versionable_function_p (tree);
+void tree_function_versioning (tree, tree, varray_type);
+
+/* Copy a declaration when one function is substituted inline into
+ another. It is used also for versioning. */
+extern tree copy_decl_for_dup (tree, tree, tree, bool);
/* 0 if we should not perform inlining.
1 if we should expand functions calls inline at the tree level.
diff --git a/gcc/tree-into-ssa.c b/gcc/tree-into-ssa.c
index 5885c04e682..97ddc73ab54 100644
--- a/gcc/tree-into-ssa.c
+++ b/gcc/tree-into-ssa.c
@@ -889,7 +889,7 @@ insert_phi_nodes (bitmap *dfs)
/* Register DEF (an SSA_NAME) to be a new definition for its underlying
variable (SSA_NAME_VAR (DEF)) and push VAR's current reaching definition
- into the stack pointed by BLOCK_DEFS_P. */
+ into the stack pointed to by BLOCK_DEFS_P. */
void
register_new_def (tree def, VEC(tree,heap) **block_defs_p)
@@ -1486,7 +1486,7 @@ rewrite_update_stmt (struct dom_walk_data *walk_data ATTRIBUTE_UNUSED,
}
-/* Replace the operand pointed by USE_P with USE's current reaching
+/* Replace the operand pointed to by USE_P with USE's current reaching
definition. */
static inline void
diff --git a/gcc/tree-nested.c b/gcc/tree-nested.c
index 4f6ec71c40e..6f0b7fd20f0 100644
--- a/gcc/tree-nested.c
+++ b/gcc/tree-nested.c
@@ -77,19 +77,19 @@
been written as independent functions without change. */
-struct var_map_elt
+struct var_map_elt GTY(())
{
tree old;
tree new;
};
-struct nesting_info
+struct nesting_info GTY ((chain_next ("%h.next")))
{
struct nesting_info *outer;
struct nesting_info *inner;
struct nesting_info *next;
- htab_t var_map;
+ htab_t GTY ((param_is (struct var_map_elt))) var_map;
tree context;
tree new_local_var_chain;
tree frame_type;
@@ -288,7 +288,7 @@ lookup_field_for_decl (struct nesting_info *info, tree decl,
insert_field_into_struct (get_frame_type (info), field);
- elt = xmalloc (sizeof (*elt));
+ elt = ggc_alloc (sizeof (*elt));
elt->old = decl;
elt->new = field;
*slot = elt;
@@ -474,7 +474,7 @@ lookup_tramp_for_decl (struct nesting_info *info, tree decl,
insert_field_into_struct (get_frame_type (info), field);
- elt = xmalloc (sizeof (*elt));
+ elt = ggc_alloc (sizeof (*elt));
elt->old = decl;
elt->new = field;
*slot = elt;
@@ -698,8 +698,8 @@ check_for_nested_with_variably_modified (tree fndecl, tree orig_fndecl)
static struct nesting_info *
create_nesting_tree (struct cgraph_node *cgn)
{
- struct nesting_info *info = xcalloc (1, sizeof (*info));
- info->var_map = htab_create (7, var_map_hash, var_map_eq, free);
+ struct nesting_info *info = ggc_calloc (1, sizeof (*info));
+ info->var_map = htab_create_ggc (7, var_map_hash, var_map_eq, ggc_free);
info->context = cgn->decl;
for (cgn = cgn->nested; cgn ; cgn = cgn->next_nested)
@@ -950,7 +950,9 @@ convert_local_reference (tree *tp, int *walk_subtrees, void *data)
struct walk_stmt_info *wi = data;
struct nesting_info *info = wi->info;
tree t = *tp, field, x;
+ bool save_val_only;
+ *walk_subtrees = 0;
switch (TREE_CODE (t))
{
case VAR_DECL:
@@ -989,34 +991,31 @@ convert_local_reference (tree *tp, int *walk_subtrees, void *data)
break;
case ADDR_EXPR:
- {
- bool save_val_only = wi->val_only;
-
- wi->val_only = false;
- wi->is_lhs = false;
- wi->changed = false;
- walk_tree (&TREE_OPERAND (t, 0), convert_local_reference, wi, NULL);
- wi->val_only = save_val_only;
+ save_val_only = wi->val_only;
+ wi->val_only = false;
+ wi->is_lhs = false;
+ wi->changed = false;
+ walk_tree (&TREE_OPERAND (t, 0), convert_local_reference, wi, NULL);
+ wi->val_only = save_val_only;
- /* If we converted anything ... */
- if (wi->changed)
- {
- tree save_context;
+ /* If we converted anything ... */
+ if (wi->changed)
+ {
+ tree save_context;
- /* Then the frame decl is now addressable. */
- TREE_ADDRESSABLE (info->frame_decl) = 1;
+ /* Then the frame decl is now addressable. */
+ TREE_ADDRESSABLE (info->frame_decl) = 1;
- save_context = current_function_decl;
- current_function_decl = info->context;
- recompute_tree_invarant_for_addr_expr (t);
- current_function_decl = save_context;
-
- /* If we are in a context where we only accept values, then
- compute the address into a temporary. */
- if (save_val_only)
- *tp = tsi_gimplify_val (wi->info, t, &wi->tsi);
- }
- }
+ save_context = current_function_decl;
+ current_function_decl = info->context;
+ recompute_tree_invarant_for_addr_expr (t);
+ current_function_decl = save_context;
+
+ /* If we are in a context where we only accept values, then
+ compute the address into a temporary. */
+ if (save_val_only)
+ *tp = tsi_gimplify_val (wi->info, t, &wi->tsi);
+ }
break;
case REALPART_EXPR:
@@ -1028,6 +1027,7 @@ convert_local_reference (tree *tp, int *walk_subtrees, void *data)
/* Go down this entire nest and just look at the final prefix and
anything that describes the references. Otherwise, we lose track
of whether a NOP_EXPR or VIEW_CONVERT_EXPR needs a simple value. */
+ save_val_only = wi->val_only;
wi->val_only = true;
wi->is_lhs = false;
for (; handled_component_p (t); tp = &TREE_OPERAND (t, 0), t = *tp)
@@ -1055,6 +1055,7 @@ convert_local_reference (tree *tp, int *walk_subtrees, void *data)
}
wi->val_only = false;
walk_tree (tp, convert_local_reference, wi, NULL);
+ wi->val_only = save_val_only;
break;
default:
@@ -1107,7 +1108,7 @@ convert_nl_goto_reference (tree *tp, int *walk_subtrees, void *data)
/* Enter this association into var_map so that we can insert the new
label into the IL during a second pass. */
- elt = xmalloc (sizeof (*elt));
+ elt = ggc_alloc (sizeof (*elt));
elt->old = label;
elt->new = new_label;
slot = htab_find_slot (i->var_map, elt, INSERT);
@@ -1473,19 +1474,20 @@ free_nesting_tree (struct nesting_info *root)
free_nesting_tree (root->inner);
htab_delete (root->var_map);
next = root->next;
- free (root);
+ ggc_free (root);
root = next;
}
while (root);
}
+static GTY(()) struct nesting_info *root;
+
/* Main entry point for this pass. Process FNDECL and all of its nested
subroutines and turn them into something less tightly bound. */
void
lower_nested_functions (tree fndecl)
{
- struct nesting_info *root;
struct cgraph_node *cgn;
/* If there are no nested functions, there's nothing to do. */
@@ -1501,6 +1503,7 @@ lower_nested_functions (tree fndecl)
convert_all_function_calls (root);
finalize_nesting_tree (root);
free_nesting_tree (root);
+ root = NULL;
}
#include "gt-tree-nested.h"
diff --git a/gcc/tree-optimize.c b/gcc/tree-optimize.c
index 52df0f5af6d..782982eaf51 100644
--- a/gcc/tree-optimize.c
+++ b/gcc/tree-optimize.c
@@ -258,7 +258,7 @@ execute_fixup_cfg (void)
struct tree_opt_pass pass_fixup_cfg =
{
- NULL, /* name */
+ "fixupcfg", /* name */
NULL, /* gate */
execute_fixup_cfg, /* execute */
NULL, /* sub */
@@ -269,7 +269,7 @@ struct tree_opt_pass pass_fixup_cfg =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- 0, /* todo_flags_finish */
+ TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};
@@ -372,7 +372,7 @@ tree_rest_of_compilation (tree fndecl)
{
struct cgraph_edge *e;
- saved_node = cgraph_clone_node (node, node->count, 1);
+ saved_node = cgraph_clone_node (node, node->count, 1, false);
for (e = saved_node->callees; e; e = e->next_callee)
if (!e->inline_failed)
cgraph_clone_inlined_nodes (e, true);
diff --git a/gcc/tree-outof-ssa.c b/gcc/tree-outof-ssa.c
index 38f583e7112..3d8303693c2 100644
--- a/gcc/tree-outof-ssa.c
+++ b/gcc/tree-outof-ssa.c
@@ -676,49 +676,26 @@ coalesce_abnormal_edges (var_map map, conflict_graph graph, root_var_p rv)
}
}
+/* Coalesce potential copies via PHI arguments. */
-/* Reduce the number of live ranges in MAP. Live range information is
- returned if FLAGS indicates that we are combining temporaries, otherwise
- NULL is returned. The only partitions which are associated with actual
- variables at this point are those which are forced to be coalesced for
- various reason. (live on entry, live across abnormal edges, etc.). */
-
-static tree_live_info_p
-coalesce_ssa_name (var_map map, int flags)
+static void
+coalesce_phi_operands (var_map map, coalesce_list_p cl)
{
- unsigned num, x, i;
- sbitmap live;
- tree var, phi;
- root_var_p rv;
- tree_live_info_p liveinfo;
- var_ann_t ann;
- conflict_graph graph;
basic_block bb;
- coalesce_list_p cl = NULL;
- sbitmap_iterator sbi;
-
- if (num_var_partitions (map) <= 1)
- return NULL;
-
- liveinfo = calculate_live_on_entry (map);
- calculate_live_on_exit (liveinfo);
- rv = root_var_init (map);
-
- /* Remove single element variable from the list. */
- root_var_compact (rv);
-
- cl = create_coalesce_list (map);
+ tree phi;
- /* Add all potential copies via PHI arguments to the list. */
FOR_EACH_BB (bb)
{
for (phi = phi_nodes (bb); phi; phi = PHI_CHAIN (phi))
{
tree res = PHI_RESULT (phi);
int p = var_to_partition (map, res);
+ int x;
+
if (p == NO_PARTITION)
continue;
- for (x = 0; x < (unsigned)PHI_NUM_ARGS (phi); x++)
+
+ for (x = 0; x < PHI_NUM_ARGS (phi); x++)
{
tree arg = PHI_ARG_DEF (phi, x);
int p2;
@@ -729,18 +706,30 @@ coalesce_ssa_name (var_map map, int flags)
continue;
p2 = var_to_partition (map, PHI_ARG_DEF (phi, x));
if (p2 != NO_PARTITION)
- add_coalesce (cl, p, p2, 1);
+ {
+ edge e = PHI_ARG_EDGE (phi, x);
+ add_coalesce (cl, p, p2,
+ coalesce_cost (EDGE_FREQUENCY (e),
+ maybe_hot_bb_p (bb),
+ EDGE_CRITICAL_P (e)));
+ }
}
}
}
+}
- /* Coalesce all the result decls together. */
- var = NULL_TREE;
- i = 0;
- for (x = 0; x < num_var_partitions (map); x++)
+/* Coalesce all the result decls together. */
+
+static void
+coalesce_result_decls (var_map map, coalesce_list_p cl)
+{
+ unsigned int i, x;
+ tree var = NULL;
+
+ for (i = x = 0; x < num_var_partitions (map); x++)
{
tree p = partition_to_var (map, x);
- if (TREE_CODE (SSA_NAME_VAR(p)) == RESULT_DECL)
+ if (TREE_CODE (SSA_NAME_VAR (p)) == RESULT_DECL)
{
if (var == NULL_TREE)
{
@@ -748,9 +737,106 @@ coalesce_ssa_name (var_map map, int flags)
i = x;
}
else
- add_coalesce (cl, i, x, 1);
+ add_coalesce (cl, i, x,
+ coalesce_cost (EXIT_BLOCK_PTR->frequency,
+ maybe_hot_bb_p (EXIT_BLOCK_PTR),
+ false));
}
}
+}
+
+/* Coalesce matching constraints in asms. */
+
+static void
+coalesce_asm_operands (var_map map, coalesce_list_p cl)
+{
+ basic_block bb;
+
+ FOR_EACH_BB (bb)
+ {
+ block_stmt_iterator bsi;
+ for (bsi = bsi_start (bb); !bsi_end_p (bsi); bsi_next (&bsi))
+ {
+ tree stmt = bsi_stmt (bsi);
+ unsigned long noutputs, i;
+ tree *outputs, link;
+
+ if (TREE_CODE (stmt) != ASM_EXPR)
+ continue;
+
+ noutputs = list_length (ASM_OUTPUTS (stmt));
+ outputs = (tree *) alloca (noutputs * sizeof (tree));
+ for (i = 0, link = ASM_OUTPUTS (stmt); link;
+ ++i, link = TREE_CHAIN (link))
+ outputs[i] = TREE_VALUE (link);
+
+ for (link = ASM_INPUTS (stmt); link; link = TREE_CHAIN (link))
+ {
+ const char *constraint
+ = TREE_STRING_POINTER (TREE_VALUE (TREE_PURPOSE (link)));
+ tree input = TREE_VALUE (link);
+ char *end;
+ unsigned long match;
+ int p1, p2;
+
+ if (TREE_CODE (input) != SSA_NAME && !DECL_P (input))
+ continue;
+
+ match = strtoul (constraint, &end, 10);
+ if (match >= noutputs || end == constraint)
+ continue;
+
+ if (TREE_CODE (outputs[match]) != SSA_NAME
+ && !DECL_P (outputs[match]))
+ continue;
+
+ p1 = var_to_partition (map, outputs[match]);
+ if (p1 == NO_PARTITION)
+ continue;
+ p2 = var_to_partition (map, input);
+ if (p2 == NO_PARTITION)
+ continue;
+
+ add_coalesce (cl, p1, p2, coalesce_cost (REG_BR_PROB_BASE,
+ maybe_hot_bb_p (bb),
+ false));
+ }
+ }
+ }
+}
+
+/* Reduce the number of live ranges in MAP. Live range information is
+ returned if FLAGS indicates that we are combining temporaries, otherwise
+ NULL is returned. The only partitions which are associated with actual
+ variables at this point are those which are forced to be coalesced for
+ various reason. (live on entry, live across abnormal edges, etc.). */
+
+static tree_live_info_p
+coalesce_ssa_name (var_map map, int flags)
+{
+ unsigned num, x;
+ sbitmap live;
+ root_var_p rv;
+ tree_live_info_p liveinfo;
+ conflict_graph graph;
+ coalesce_list_p cl = NULL;
+ sbitmap_iterator sbi;
+
+ if (num_var_partitions (map) <= 1)
+ return NULL;
+
+ liveinfo = calculate_live_on_entry (map);
+ calculate_live_on_exit (liveinfo);
+ rv = root_var_init (map);
+
+ /* Remove single element variable from the list. */
+ root_var_compact (rv);
+
+ cl = create_coalesce_list (map);
+
+ coalesce_phi_operands (map, cl);
+ coalesce_result_decls (map, cl);
+ coalesce_asm_operands (map, cl);
/* Build a conflict graph. */
graph = build_tree_conflict_graph (liveinfo, rv, cl);
@@ -778,14 +864,14 @@ coalesce_ssa_name (var_map map, int flags)
/* First, coalesce all live on entry variables to their root variable.
This will ensure the first use is coming from the correct location. */
- live = sbitmap_alloc (num_var_partitions (map));
+ num = num_var_partitions (map);
+ live = sbitmap_alloc (num);
sbitmap_zero (live);
/* Set 'live' vector to indicate live on entry partitions. */
- num = num_var_partitions (map);
for (x = 0 ; x < num; x++)
{
- var = partition_to_var (map, x);
+ tree var = partition_to_var (map, x);
if (default_def (SSA_NAME_VAR (var)) == var)
SET_BIT (live, x);
}
@@ -800,8 +886,8 @@ coalesce_ssa_name (var_map map, int flags)
partition. */
EXECUTE_IF_SET_IN_SBITMAP (live, 0, x, sbi)
{
- var = root_var (rv, root_var_find (rv, x));
- ann = var_ann (var);
+ tree var = root_var (rv, root_var_find (rv, x));
+ var_ann_t ann = var_ann (var);
/* If these aren't already coalesced... */
if (partition_to_var (map, x) != var)
{
@@ -1097,7 +1183,14 @@ coalesce_vars (var_map map, tree_live_info_p liveinfo)
if (p2 == (unsigned)NO_PARTITION)
continue;
if (p != p2)
- add_coalesce (cl, p, p2, 1);
+ {
+ edge e = PHI_ARG_EDGE (phi, x);
+
+ add_coalesce (cl, p, p2,
+ coalesce_cost (EDGE_FREQUENCY (e),
+ maybe_hot_bb_p (bb),
+ EDGE_CRITICAL_P (e)));
+ }
}
}
}
diff --git a/gcc/tree-pass.h b/gcc/tree-pass.h
index a51054df246..57dc029438e 100644
--- a/gcc/tree-pass.h
+++ b/gcc/tree-pass.h
@@ -67,6 +67,8 @@ enum tree_dump_index
#define TDF_IPA (1 << 11) /* is an IPA dump */
#define TDF_STMTADDR (1 << 12) /* Address of stmt. */
+#define TDF_GRAPH (1 << 13) /* a graph dump is being emitted */
+
extern char *get_dump_file_name (enum tree_dump_index);
extern int dump_enabled_p (enum tree_dump_index);
extern int dump_initialized_p (enum tree_dump_index);
@@ -284,6 +286,7 @@ extern struct tree_opt_pass pass_rebuild_cgraph_edges;
extern struct tree_opt_pass pass_eliminate_useless_stores;
/* IPA Passes */
+extern struct tree_opt_pass pass_ipa_cp;
extern struct tree_opt_pass pass_ipa_inline;
extern struct tree_opt_pass pass_early_ipa_inline;
extern struct tree_opt_pass pass_ipa_reference;
diff --git a/gcc/tree-pretty-print.c b/gcc/tree-pretty-print.c
index 809754aec2c..810fcfbb15e 100644
--- a/gcc/tree-pretty-print.c
+++ b/gcc/tree-pretty-print.c
@@ -2247,6 +2247,16 @@ dump_bb_header (pretty_printer *buffer, basic_block bb, int indent, int flags)
INDENT (indent);
pp_string (buffer, "# BLOCK ");
pp_decimal_int (buffer, bb->index);
+ if (bb->frequency)
+ {
+ pp_string (buffer, " freq:");
+ pp_decimal_int (buffer, bb->frequency);
+ }
+ if (bb->count)
+ {
+ pp_string (buffer, " count:");
+ pp_widest_integer (buffer, bb->count);
+ }
if (flags & TDF_LINENO)
{
diff --git a/gcc/tree-profile.c b/gcc/tree-profile.c
index a19e3a42ad1..578104f4557 100644
--- a/gcc/tree-profile.c
+++ b/gcc/tree-profile.c
@@ -123,7 +123,7 @@ static tree
prepare_instrumented_value (block_stmt_iterator *bsi,
histogram_value value)
{
- tree val = value->hvalue.tree.value;
+ tree val = value->hvalue.value;
return force_gimple_operand_bsi (bsi, fold_convert (gcov_type_node, val),
true, NULL_TREE);
}
@@ -135,7 +135,7 @@ prepare_instrumented_value (block_stmt_iterator *bsi,
static void
tree_gen_interval_profiler (histogram_value value, unsigned tag, unsigned base)
{
- tree stmt = value->hvalue.tree.stmt;
+ tree stmt = value->hvalue.stmt;
block_stmt_iterator bsi = bsi_for_stmt (stmt);
tree ref = tree_coverage_counter_ref (tag, base), ref_ptr;
tree args, call, val;
@@ -162,7 +162,7 @@ tree_gen_interval_profiler (histogram_value value, unsigned tag, unsigned base)
static void
tree_gen_pow2_profiler (histogram_value value, unsigned tag, unsigned base)
{
- tree stmt = value->hvalue.tree.stmt;
+ tree stmt = value->hvalue.stmt;
block_stmt_iterator bsi = bsi_for_stmt (stmt);
tree ref = tree_coverage_counter_ref (tag, base), ref_ptr;
tree args, call, val;
@@ -185,7 +185,7 @@ tree_gen_pow2_profiler (histogram_value value, unsigned tag, unsigned base)
static void
tree_gen_one_value_profiler (histogram_value value, unsigned tag, unsigned base)
{
- tree stmt = value->hvalue.tree.stmt;
+ tree stmt = value->hvalue.stmt;
block_stmt_iterator bsi = bsi_for_stmt (stmt);
tree ref = tree_coverage_counter_ref (tag, base), ref_ptr;
tree args, call, val;
@@ -225,8 +225,7 @@ tree_gen_const_delta_profiler (histogram_value value ATTRIBUTE_UNUSED,
static bool
do_tree_profiling (void)
{
- if (flag_tree_based_profiling
- && (profile_arc_flag || flag_test_coverage || flag_branch_probabilities))
+ if (profile_arc_flag || flag_test_coverage || flag_branch_probabilities)
{
tree_register_profile_hooks ();
tree_register_value_prof_hooks ();
diff --git a/gcc/tree-scalar-evolution.c b/gcc/tree-scalar-evolution.c
index f12ec09fc45..e7490479777 100644
--- a/gcc/tree-scalar-evolution.c
+++ b/gcc/tree-scalar-evolution.c
@@ -237,6 +237,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
#include "tm.h"
#include "ggc.h"
#include "tree.h"
+#include "real.h"
/* These RTL headers are needed for basic-block.h. */
#include "rtl.h"
@@ -675,7 +676,9 @@ add_to_evolution_1 (unsigned loop_nb,
{
var = loop_nb;
left = chrec_before;
- right = build_int_cst (type, 0);
+ right = SCALAR_FLOAT_TYPE_P (type)
+ ? build_real (type, dconst0)
+ : build_int_cst (type, 0);
}
else
{
@@ -866,8 +869,9 @@ add_to_evolution (unsigned loop_nb,
}
if (code == MINUS_EXPR)
- to_add = chrec_fold_multiply (type, to_add,
- build_int_cst_type (type, -1));
+ to_add = chrec_fold_multiply (type, to_add, SCALAR_FLOAT_TYPE_P (type)
+ ? build_real (type, dconstm1)
+ : build_int_cst_type (type, -1));
res = add_to_evolution_1 (loop_nb, chrec_before, to_add);
@@ -1678,7 +1682,9 @@ interpret_rhs_modify_expr (struct loop *loop, tree at_stmt,
opnd10 = TREE_OPERAND (opnd1, 0);
chrec10 = analyze_scalar_evolution (loop, opnd10);
chrec10 = chrec_convert (type, chrec10, at_stmt);
- res = chrec_fold_minus (type, build_int_cst (type, 0), chrec10);
+ res = chrec_fold_multiply (type, chrec10, SCALAR_FLOAT_TYPE_P (type)
+ ? build_real (type, dconstm1)
+ : build_int_cst_type (type, -1));
break;
case MULT_EXPR:
@@ -1937,11 +1943,8 @@ instantiate_parameters_1 (struct loop *loop, tree chrec,
basic_block def_bb;
struct loop *def_loop;
- if (chrec == NULL_TREE
- || automatically_generated_chrec_p (chrec))
- return chrec;
-
- if (is_gimple_min_invariant (chrec))
+ if (automatically_generated_chrec_p (chrec)
+ || is_gimple_min_invariant (chrec))
return chrec;
switch (TREE_CODE (chrec))
@@ -2608,8 +2611,8 @@ scev_finalize (void)
}
/* Replace ssa names for that scev can prove they are constant by the
- appropriate constants. Most importantly, this takes care of final
- value replacement.
+ appropriate constants. Also perform final value replacement in loops,
+ in case the replacement expressions are cheap.
We only consider SSA names defined by phi nodes; rest is left to the
ordinary constant propagation pass. */
@@ -2618,9 +2621,10 @@ void
scev_const_prop (void)
{
basic_block bb;
- tree name, phi, type, ev;
- struct loop *loop;
+ tree name, phi, next_phi, type, ev;
+ struct loop *loop, *ex_loop;
bitmap ssa_names_to_remove = NULL;
+ unsigned i;
if (!current_loops)
return;
@@ -2675,4 +2679,57 @@ scev_const_prop (void)
BITMAP_FREE (ssa_names_to_remove);
scev_reset ();
}
+
+ /* Now the regular final value replacement. */
+ for (i = current_loops->num - 1; i > 0; i--)
+ {
+ edge exit;
+ tree def, stmts;
+
+ loop = current_loops->parray[i];
+ if (!loop)
+ continue;
+
+ /* If we do not know exact number of iterations of the loop, we cannot
+ replace the final value. */
+ exit = loop->single_exit;
+ if (!exit
+ || number_of_iterations_in_loop (loop) == chrec_dont_know)
+ continue;
+ ex_loop = exit->dest->loop_father;
+
+ for (phi = phi_nodes (exit->dest); phi; phi = next_phi)
+ {
+ next_phi = PHI_CHAIN (phi);
+ def = PHI_ARG_DEF_FROM_EDGE (phi, exit);
+ if (!is_gimple_reg (def)
+ || expr_invariant_in_loop_p (loop, def))
+ continue;
+
+ if (!POINTER_TYPE_P (TREE_TYPE (def))
+ && !INTEGRAL_TYPE_P (TREE_TYPE (def)))
+ continue;
+
+ def = analyze_scalar_evolution_in_loop (ex_loop, ex_loop, def);
+ if (!tree_does_not_contain_chrecs (def)
+ || chrec_contains_symbols_defined_in_loop (def, loop->num))
+ continue;
+
+ /* If computing the expression is expensive, let it remain in
+ loop. TODO -- we should take the cost of computing the expression
+ in loop into account. */
+ if (force_expr_to_var_cost (def) >= target_spill_cost)
+ continue;
+ def = unshare_expr (def);
+
+ if (is_gimple_val (def))
+ stmts = NULL_TREE;
+ else
+ def = force_gimple_operand (def, &stmts, true,
+ SSA_NAME_VAR (PHI_RESULT (phi)));
+ SET_USE (PHI_ARG_DEF_PTR_FROM_EDGE (phi, exit), def);
+ if (stmts)
+ compute_phi_arg_on_exit (exit, stmts, def);
+ }
+ }
}
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index 0d839d8cbb7..940f7a97dfb 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -724,7 +724,7 @@ sra_walk_expr (tree *expr_p, block_stmt_iterator *bsi, bool is_output,
goto use_all;
case ARRAY_RANGE_REF:
- /* Similarly, an subrange reference is used to modify indexing. Which
+ /* Similarly, a subrange reference is used to modify indexing. Which
means that the canonical element names that we have won't work. */
goto use_all;
@@ -1325,7 +1325,7 @@ decide_block_copy (struct sra_elt *elt)
else if (host_integerp (size_tree, 1))
{
unsigned HOST_WIDE_INT full_size, inst_size = 0;
- unsigned int max_size;
+ unsigned int max_size, max_count, inst_count, full_count;
/* If the sra-max-structure-size parameter is 0, then the
user has not overridden the parameter and we can choose a
@@ -1333,8 +1333,13 @@ decide_block_copy (struct sra_elt *elt)
max_size = SRA_MAX_STRUCTURE_SIZE
? SRA_MAX_STRUCTURE_SIZE
: MOVE_RATIO * UNITS_PER_WORD;
+ max_count = SRA_MAX_STRUCTURE_COUNT
+ ? SRA_MAX_STRUCTURE_COUNT
+ : MOVE_RATIO;
full_size = tree_low_cst (size_tree, 1);
+ full_count = count_type_elements (elt->type, false);
+ inst_count = sum_instantiated_sizes (elt, &inst_size);
/* ??? What to do here. If there are two fields, and we've only
instantiated one, then instantiating the other is clearly a win.
@@ -1344,15 +1349,12 @@ decide_block_copy (struct sra_elt *elt)
/* If the structure is small, and we've made copies, go ahead
and instantiate, hoping that the copies will go away. */
if (full_size <= max_size
+ && (full_count - inst_count) <= max_count
&& elt->n_copies > elt->n_uses)
use_block_copy = false;
- else
- {
- sum_instantiated_sizes (elt, &inst_size);
-
- if (inst_size * 100 >= full_size * SRA_FIELD_STRUCTURE_RATIO)
- use_block_copy = false;
- }
+ else if (inst_count * 100 >= full_count * SRA_FIELD_STRUCTURE_RATIO
+ && inst_size * 100 >= full_size * SRA_FIELD_STRUCTURE_RATIO)
+ use_block_copy = false;
/* In order to avoid block copy, we have to be able to instantiate
all elements of the type. See if this is possible. */
diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c
index d2079030cde..3b08b23de96 100644
--- a/gcc/tree-ssa-alias.c
+++ b/gcc/tree-ssa-alias.c
@@ -2128,7 +2128,7 @@ dump_points_to_info (FILE *file)
}
-/* Dump points-to info pointed by PTO into STDERR. */
+/* Dump points-to info pointed to by PTO into STDERR. */
void
debug_points_to_info (void)
diff --git a/gcc/tree-ssa-ccp.c b/gcc/tree-ssa-ccp.c
index 829bba94132..1ff15287345 100644
--- a/gcc/tree-ssa-ccp.c
+++ b/gcc/tree-ssa-ccp.c
@@ -473,6 +473,9 @@ likely_value (tree stmt)
&& TREE_CODE (stmt) != SWITCH_EXPR)
return VARYING;
+ if (is_gimple_min_invariant (get_rhs (stmt)))
+ return CONSTANT;
+
found_constant = false;
FOR_EACH_SSA_TREE_OPERAND (use, stmt, iter, SSA_OP_USE|SSA_OP_VUSE)
{
@@ -658,7 +661,8 @@ ccp_lattice_meet (prop_value_t *val1, prop_value_t *val2)
&& val2->lattice_val == CONSTANT
&& simple_cst_equal (val1->value, val2->value) == 1
&& (!do_store_ccp
- || simple_cst_equal (val1->mem_ref, val2->mem_ref) == 1))
+ || (val1->mem_ref && val2->mem_ref
+ && operand_equal_p (val1->mem_ref, val2->mem_ref, 0))))
{
/* Ci M Cj = Ci if (i == j)
Ci M Cj = VARYING if (i != j)
@@ -826,7 +830,8 @@ ccp_fold (tree stmt)
/* If the RHS is a memory load, see if the VUSEs associated with
it are a valid constant for that memory load. */
prop_value_t *val = get_value_loaded_by (stmt, const_val);
- if (val && simple_cst_equal (val->mem_ref, rhs) == 1)
+ if (val && val->mem_ref
+ && operand_equal_p (val->mem_ref, rhs, 0))
return val->value;
else
return NULL_TREE;
@@ -1085,7 +1090,11 @@ evaluate_stmt (tree stmt)
/* The statement produced a nonconstant value. If the statement
had UNDEFINED operands, then the result of the statement
should be UNDEFINED. Otherwise, the statement is VARYING. */
- val.lattice_val = (likelyvalue == UNDEFINED) ? UNDEFINED : VARYING;
+ if (likelyvalue == UNDEFINED || likelyvalue == UNKNOWN_VAL)
+ val.lattice_val = likelyvalue;
+ else
+ val.lattice_val = VARYING;
+
val.value = NULL_TREE;
}
@@ -1122,7 +1131,8 @@ visit_assignment (tree stmt, tree *output_p)
we can propagate the value on the RHS. */
prop_value_t *nval = get_value_loaded_by (stmt, const_val);
- if (nval && simple_cst_equal (nval->mem_ref, rhs) == 1)
+ if (nval && nval->mem_ref
+ && operand_equal_p (nval->mem_ref, rhs, 0))
val = *nval;
else
val = evaluate_stmt (stmt);
@@ -1432,8 +1442,8 @@ widen_bitfield (tree val, tree field, tree var)
for (i = 0, mask = 0; i < field_size; i++)
mask |= ((HOST_WIDE_INT) 1) << i;
- wide_val = build2 (BIT_AND_EXPR, TREE_TYPE (var), val,
- build_int_cst (TREE_TYPE (var), mask));
+ wide_val = fold_build2 (BIT_AND_EXPR, TREE_TYPE (var), val,
+ build_int_cst (TREE_TYPE (var), mask));
}
else
{
@@ -1443,11 +1453,11 @@ widen_bitfield (tree val, tree field, tree var)
for (i = 0, mask = 0; i < (var_size - field_size); i++)
mask |= ((HOST_WIDE_INT) 1) << (var_size - i - 1);
- wide_val = build2 (BIT_IOR_EXPR, TREE_TYPE (var), val,
- build_int_cst (TREE_TYPE (var), mask));
+ wide_val = fold_build2 (BIT_IOR_EXPR, TREE_TYPE (var), val,
+ build_int_cst (TREE_TYPE (var), mask));
}
- return fold (wide_val);
+ return wide_val;
}
@@ -2232,7 +2242,7 @@ ccp_fold_builtin (tree stmt, tree fn)
}
-/* Fold the statement pointed by STMT_P. In some cases, this function may
+/* Fold the statement pointed to by STMT_P. In some cases, this function may
replace the whole statement with a new one. Returns true iff folding
makes any changes. */
diff --git a/gcc/tree-ssa-copy.c b/gcc/tree-ssa-copy.c
index 28b19d945e4..d94b1b0f22e 100644
--- a/gcc/tree-ssa-copy.c
+++ b/gcc/tree-ssa-copy.c
@@ -267,7 +267,7 @@ replace_exp_1 (use_operand_p op_p, tree val,
/* Propagate the value VAL (assumed to be a constant or another SSA_NAME)
- into the operand pointed by OP_P.
+ into the operand pointed to by OP_P.
Use this version for const/copy propagation as it will perform additional
checks to ensure validity of the const/copy propagation. */
@@ -280,7 +280,7 @@ propagate_value (use_operand_p op_p, tree val)
/* Propagate the value VAL (assumed to be a constant or another SSA_NAME)
- into the tree pointed by OP_P.
+ into the tree pointed to by OP_P.
Use this version for const/copy propagation when SSA operands are not
available. It will perform the additional checks to ensure validity of
diff --git a/gcc/tree-ssa-dce.c b/gcc/tree-ssa-dce.c
index abd4d7ae77a..8902d2a2e0a 100644
--- a/gcc/tree-ssa-dce.c
+++ b/gcc/tree-ssa-dce.c
@@ -707,7 +707,7 @@ remove_dead_phis (basic_block bb)
}
}
-/* Remove dead statement pointed by iterator I. Receives the basic block BB
+/* 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. */
static void
diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c
index 7b79c79caa3..6d99e543640 100644
--- a/gcc/tree-ssa-dom.c
+++ b/gcc/tree-ssa-dom.c
@@ -166,6 +166,7 @@ struct opt_stats_d
long num_re;
long num_const_prop;
long num_copy_prop;
+ long num_iterations;
};
static struct opt_stats_d opt_stats;
@@ -524,6 +525,8 @@ tree_ssa_dominator_optimize (void)
if (value && !is_gimple_min_invariant (value))
SSA_NAME_VALUE (name) = NULL;
}
+
+ opt_stats.num_iterations++;
}
while (optimize > 1 && cfg_altered);
@@ -845,8 +848,6 @@ thread_across_edge (struct dom_walk_data *walk_data, edge e)
{
struct edge_info *edge_info;
- update_bb_profile_for_threading (e->dest, EDGE_FREQUENCY (e),
- e->count, taken_edge);
if (e->aux)
edge_info = e->aux;
else
@@ -884,7 +885,7 @@ dom_opt_initialize_block (struct dom_walk_data *walk_data ATTRIBUTE_UNUSED,
}
/* Given an expression EXPR (a relational expression or a statement),
- initialize the hash table element pointed by by ELEMENT. */
+ initialize the hash table element pointed to by ELEMENT. */
static void
initialize_hash_element (tree expr, tree lhs, struct expr_hash_elt *element)
@@ -1356,6 +1357,9 @@ dump_dominator_optimization_stats (FILE *file)
fprintf (file, " Copies propagated: %6ld\n",
opt_stats.num_copy_prop);
+ fprintf (file, "\nTotal number of DOM iterations: %6ld\n",
+ opt_stats.num_iterations);
+
fprintf (file, "\nHash table statistics:\n");
fprintf (file, " avail_exprs: ");
@@ -2851,7 +2855,7 @@ cprop_into_stmt (tree stmt)
}
-/* Optimize the statement pointed by iterator SI.
+/* Optimize the statement pointed to by iterator SI.
We try to perform some simplistic global redundancy elimination and
constant propagation:
@@ -3061,7 +3065,7 @@ update_rhs_and_lookup_avail_expr (tree stmt, tree new_rhs, bool insert)
NULL_TREE.
Also, when an expression is first inserted in the AVAIL_EXPRS table, it
- is also added to the stack pointed by BLOCK_AVAIL_EXPRS_P, so that they
+ is also added to the stack pointed to by BLOCK_AVAIL_EXPRS_P, so that they
can be removed when we finish processing this block and its children.
NOTE: This function assumes that STMT is a MODIFY_EXPR node that
diff --git a/gcc/tree-ssa-live.c b/gcc/tree-ssa-live.c
index 1647292b5e6..132af929852 100644
--- a/gcc/tree-ssa-live.c
+++ b/gcc/tree-ssa-live.c
@@ -1145,11 +1145,30 @@ find_partition_pair (coalesce_list_p cl, int p1, int p2, bool create)
return node;
}
+/* Return cost of execution of copy instruction with FREQUENCY
+ possibly on CRITICAL edge and in HOT basic block. */
+int
+coalesce_cost (int frequency, bool hot, bool critical)
+{
+ /* Base costs on BB frequencies bounded by 1. */
+ int cost = frequency;
+
+ if (!cost)
+ cost = 1;
+ if (optimize_size || hot)
+ cost = 1;
+ /* Inserting copy on critical edge costs more
+ than inserting it elsewhere. */
+ if (critical)
+ cost *= 2;
+ return cost;
+}
/* Add a potential coalesce between P1 and P2 in CL with a cost of VALUE. */
void
-add_coalesce (coalesce_list_p cl, int p1, int p2, int value)
+add_coalesce (coalesce_list_p cl, int p1, int p2,
+ int value)
{
partition_pair_p node;
@@ -1383,7 +1402,9 @@ build_tree_conflict_graph (tree_live_info_p liveinfo, tpa_p tpa,
if (bit)
bitmap_set_bit (live, p2);
if (cl)
- add_coalesce (cl, p1, p2, 1);
+ add_coalesce (cl, p1, p2,
+ coalesce_cost (bb->frequency,
+ maybe_hot_bb_p (bb), false));
set_if_valid (map, live, rhs);
}
}
diff --git a/gcc/tree-ssa-live.h b/gcc/tree-ssa-live.h
index d8711c0f419..2c4127402fa 100644
--- a/gcc/tree-ssa-live.h
+++ b/gcc/tree-ssa-live.h
@@ -700,6 +700,7 @@ typedef struct coalesce_list_d
extern coalesce_list_p create_coalesce_list (var_map);
extern void add_coalesce (coalesce_list_p, int, int, int);
+extern int coalesce_cost (int, bool, bool);
extern void sort_coalesce_list (coalesce_list_p);
extern void dump_coalesce_list (FILE *, coalesce_list_p);
extern void delete_coalesce_list (coalesce_list_p);
diff --git a/gcc/tree-ssa-loop-ch.c b/gcc/tree-ssa-loop-ch.c
index 01845788a6d..2b3094622d7 100644
--- a/gcc/tree-ssa-loop-ch.c
+++ b/gcc/tree-ssa-loop-ch.c
@@ -197,7 +197,7 @@ copy_loop_headers (void)
/* Ensure that the header will have just the latch as a predecessor
inside the loop. */
if (!single_pred_p (exit->dest))
- exit = single_succ_edge (loop_split_edge_with (exit, NULL));
+ exit = single_pred_edge (loop_split_edge_with (exit, NULL));
entry = loop_preheader_edge (loop);
diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c
index e3476c69b2a..23bc6168c58 100644
--- a/gcc/tree-ssa-loop-im.c
+++ b/gcc/tree-ssa-loop-im.c
@@ -203,6 +203,8 @@ for_each_index (tree *addr_p, bool (*cbck) (tree, tree *, void *), void *data)
case RESULT_DECL:
case VECTOR_CST:
case COMPLEX_CST:
+ case INTEGER_CST:
+ case REAL_CST:
return true;
case TARGET_MEM_REF:
@@ -610,6 +612,7 @@ determine_invariantness_stmt (struct dom_walk_data *dw_data ATTRIBUTE_UNUSED,
&& (rhs = TREE_OPERAND (stmt, 1)) != NULL
&& TREE_CODE (rhs) == RDIV_EXPR
&& flag_unsafe_math_optimizations
+ && !flag_trapping_math
&& outermost_invariant_loop_expr (TREE_OPERAND (rhs, 1),
loop_containing_stmt (stmt)) != NULL
&& outermost_invariant_loop_expr (rhs,
@@ -926,6 +929,109 @@ rewrite_mem_refs (tree tmp_var, struct mem_ref_loc *mem_refs)
}
}
+/* The name and the length of the currently generated variable
+ for lsm. */
+#define MAX_LSM_NAME_LENGTH 40
+static char lsm_tmp_name[MAX_LSM_NAME_LENGTH + 1];
+static int lsm_tmp_name_length;
+
+/* Adds S to lsm_tmp_name. */
+
+static void
+lsm_tmp_name_add (const char *s)
+{
+ int l = strlen (s) + lsm_tmp_name_length;
+ if (l > MAX_LSM_NAME_LENGTH)
+ return;
+
+ strcpy (lsm_tmp_name + lsm_tmp_name_length, s);
+ lsm_tmp_name_length = l;
+}
+
+/* Stores the name for temporary variable that replaces REF to
+ lsm_tmp_name. */
+
+static void
+gen_lsm_tmp_name (tree ref)
+{
+ const char *name;
+
+ switch (TREE_CODE (ref))
+ {
+ case MISALIGNED_INDIRECT_REF:
+ case ALIGN_INDIRECT_REF:
+ case INDIRECT_REF:
+ gen_lsm_tmp_name (TREE_OPERAND (ref, 0));
+ lsm_tmp_name_add ("_");
+ break;
+
+ case BIT_FIELD_REF:
+ case VIEW_CONVERT_EXPR:
+ case ARRAY_RANGE_REF:
+ gen_lsm_tmp_name (TREE_OPERAND (ref, 0));
+ break;
+
+ case REALPART_EXPR:
+ gen_lsm_tmp_name (TREE_OPERAND (ref, 0));
+ lsm_tmp_name_add ("_RE");
+ break;
+
+ case IMAGPART_EXPR:
+ gen_lsm_tmp_name (TREE_OPERAND (ref, 0));
+ lsm_tmp_name_add ("_IM");
+ break;
+
+ case COMPONENT_REF:
+ gen_lsm_tmp_name (TREE_OPERAND (ref, 0));
+ lsm_tmp_name_add ("_");
+ name = get_name (TREE_OPERAND (ref, 1));
+ if (!name)
+ name = "F";
+ lsm_tmp_name_add ("_");
+ lsm_tmp_name_add (name);
+
+ case ARRAY_REF:
+ gen_lsm_tmp_name (TREE_OPERAND (ref, 0));
+ lsm_tmp_name_add ("_I");
+ break;
+
+ case SSA_NAME:
+ ref = SSA_NAME_VAR (ref);
+ /* Fallthru. */
+
+ case VAR_DECL:
+ case PARM_DECL:
+ name = get_name (ref);
+ if (!name)
+ name = "D";
+ lsm_tmp_name_add (name);
+ break;
+
+ case STRING_CST:
+ lsm_tmp_name_add ("S");
+ break;
+
+ case RESULT_DECL:
+ lsm_tmp_name_add ("R");
+ break;
+
+ default:
+ gcc_unreachable ();
+ }
+}
+
+/* Determines name for temporary variable that replaces REF.
+ The name is accumulated into the lsm_tmp_name variable. */
+
+static char *
+get_lsm_tmp_name (tree ref)
+{
+ lsm_tmp_name_length = 0;
+ gen_lsm_tmp_name (ref);
+ lsm_tmp_name_add ("_lsm");
+ return lsm_tmp_name;
+}
+
/* Records request for store motion of memory reference REF from LOOP.
MEM_REFS is the list of occurrences of the reference REF inside LOOP;
these references are rewritten by a new temporary variable.
@@ -951,7 +1057,8 @@ schedule_sm (struct loop *loop, edge *exits, unsigned n_exits, tree ref,
fprintf (dump_file, " from loop %d\n", loop->num);
}
- tmp_var = make_rename_temp (TREE_TYPE (ref), "lsm_tmp");
+ tmp_var = make_rename_temp (TREE_TYPE (ref),
+ get_lsm_tmp_name (ref));
fmt_data.loop = loop;
fmt_data.orig_loop = loop;
diff --git a/gcc/tree-ssa-loop-ivcanon.c b/gcc/tree-ssa-loop-ivcanon.c
index 3fadbcb90ab..21d93da163f 100644
--- a/gcc/tree-ssa-loop-ivcanon.c
+++ b/gcc/tree-ssa-loop-ivcanon.c
@@ -227,20 +227,35 @@ try_unroll_loop_completely (struct loops *loops ATTRIBUTE_UNUSED,
if (n_unroll)
{
+ sbitmap wont_exit;
+ edge *edges_to_remove = xmalloc (sizeof (edge *) * n_unroll);
+ unsigned int n_to_remove = 0;
+
old_cond = COND_EXPR_COND (cond);
COND_EXPR_COND (cond) = dont_exit;
update_stmt (cond);
initialize_original_copy_tables ();
+ wont_exit = sbitmap_alloc (n_unroll + 1);
+ sbitmap_ones (wont_exit);
+ RESET_BIT (wont_exit, 0);
+
if (!tree_duplicate_loop_to_header_edge (loop, loop_preheader_edge (loop),
- loops, n_unroll, NULL,
- NULL, NULL, NULL, 0))
+ loops, n_unroll, wont_exit,
+ exit, edges_to_remove,
+ &n_to_remove,
+ DLTHE_FLAG_UPDATE_FREQ
+ | DLTHE_FLAG_COMPLETTE_PEEL))
{
COND_EXPR_COND (cond) = old_cond;
update_stmt (cond);
free_original_copy_tables ();
+ free (wont_exit);
+ free (edges_to_remove);
return false;
}
+ free (wont_exit);
+ free (edges_to_remove);
free_original_copy_tables ();
}
@@ -256,7 +271,7 @@ try_unroll_loop_completely (struct loops *loops ATTRIBUTE_UNUSED,
}
/* Adds a canonical induction variable to LOOP if suitable. LOOPS is the loops
- tree. CREATE_IV is true if we may create a new iv. UL determines what
+ tree. CREATE_IV is true if we may create a new iv. UL determines
which loops we are allowed to completely unroll. If TRY_EVAL is true, we try
to determine the number of iterations of a loop by direct evaluation.
Returns true if cfg is changed. */
@@ -354,7 +369,7 @@ tree_unroll_loops_completely (struct loops *loops, bool may_increase_size)
unsigned i;
struct loop *loop;
bool changed = false;
- enum unroll_level ul = may_increase_size ? UL_ALL : UL_NO_GROWTH;
+ enum unroll_level ul;
for (i = 1; i < loops->num; i++)
{
@@ -363,6 +378,10 @@ tree_unroll_loops_completely (struct loops *loops, bool may_increase_size)
if (!loop)
continue;
+ if (may_increase_size && maybe_hot_bb_p (loop->header))
+ ul = UL_ALL;
+ else
+ ul = UL_NO_GROWTH;
changed |= canonicalize_loop_induction_variables (loops, loop,
false, ul,
!flag_tree_loop_ivcanon);
@@ -476,9 +495,16 @@ empty_loop_p (struct loop *loop)
static void
remove_empty_loop (struct loop *loop)
{
- edge exit = single_dom_exit (loop);
+ edge exit = single_dom_exit (loop), non_exit;
tree cond_stmt = last_stmt (exit->src);
tree do_exit;
+ basic_block *body;
+ unsigned n_before, freq_in, freq_h;
+ gcov_type exit_count = exit->count;
+
+ non_exit = EDGE_SUCC (exit->src, 0);
+ if (non_exit == exit)
+ non_exit = EDGE_SUCC (exit->src, 1);
if (exit->flags & EDGE_TRUE_VALUE)
do_exit = boolean_true_node;
@@ -487,6 +513,34 @@ remove_empty_loop (struct loop *loop)
COND_EXPR_COND (cond_stmt) = do_exit;
update_stmt (cond_stmt);
+
+ /* Let us set the probabilities of the edges coming from the exit block. */
+ exit->probability = REG_BR_PROB_BASE;
+ non_exit->probability = 0;
+ non_exit->count = 0;
+
+ /* Update frequencies and counts. Everything before
+ the exit needs to be scaled FREQ_IN/FREQ_H times,
+ where FREQ_IN is the frequency of the entry edge
+ and FREQ_H is the frequency of the loop header.
+ Everything after the exit has zero frequency. */
+ freq_h = loop->header->frequency;
+ freq_in = EDGE_FREQUENCY (loop_preheader_edge (loop));
+ if (freq_h != 0)
+ {
+ body = get_loop_body_in_dom_order (loop);
+ for (n_before = 1; n_before <= loop->num_nodes; n_before++)
+ if (body[n_before - 1] == exit->src)
+ break;
+ scale_bbs_frequencies_int (body, n_before, freq_in, freq_h);
+ scale_bbs_frequencies_int (body + n_before, loop->num_nodes - n_before,
+ 0, 1);
+ free (body);
+ }
+
+ /* Number of executions of exit is not changed, thus we need to restore
+ the original value. */
+ exit->count = exit_count;
}
/* Removes LOOP if it is empty. Returns true if LOOP is removed. CHANGED
diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c
index f170e960754..abdd7b3c20a 100644
--- a/gcc/tree-ssa-loop-ivopts.c
+++ b/gcc/tree-ssa-loop-ivopts.c
@@ -1478,6 +1478,8 @@ idx_find_step (tree base, tree *idx, void *data)
/* The step for pointer arithmetics already is 1 byte. */
step = build_int_cst (sizetype, 1);
+ /* FIXME: convert_step should not be used outside chrec_convert: fix
+ this by calling chrec_convert. */
iv_step = convert_step (dta->ivopts_data->current_loop,
sizetype, iv->base, iv->step, dta->stmt);
@@ -3524,12 +3526,11 @@ get_address_cost (bool symbol_present, bool var_present,
return cost + acost;
}
-/* Estimates cost of forcing EXPR into a variable. DEPENDS_ON is a set of the
- invariants the computation depends on. */
-static unsigned
-force_var_cost (struct ivopts_data *data,
- tree expr, bitmap *depends_on)
+/* Estimates cost of forcing expression EXPR into a variable. */
+
+unsigned
+force_expr_to_var_cost (tree expr)
{
static bool costs_initialized = false;
static unsigned integer_cost;
@@ -3561,7 +3562,7 @@ force_var_cost (struct ivopts_data *data,
build_int_cst_type (type, 2000))) + 1;
if (dump_file && (dump_flags & TDF_DETAILS))
{
- fprintf (dump_file, "force_var_cost:\n");
+ fprintf (dump_file, "force_expr_to_var_cost:\n");
fprintf (dump_file, " integer %d\n", (int) integer_cost);
fprintf (dump_file, " symbol %d\n", (int) symbol_cost);
fprintf (dump_file, " address %d\n", (int) address_cost);
@@ -3574,12 +3575,6 @@ force_var_cost (struct ivopts_data *data,
STRIP_NOPS (expr);
- if (depends_on)
- {
- fd_ivopts_data = data;
- walk_tree (&expr, find_depends, depends_on, NULL);
- }
-
if (SSA_VAR_P (expr))
return 0;
@@ -3614,12 +3609,12 @@ force_var_cost (struct ivopts_data *data,
if (is_gimple_val (op0))
cost0 = 0;
else
- cost0 = force_var_cost (data, op0, NULL);
+ cost0 = force_expr_to_var_cost (op0);
if (is_gimple_val (op1))
cost1 = 0;
else
- cost1 = force_var_cost (data, op1, NULL);
+ cost1 = force_expr_to_var_cost (op1);
break;
@@ -3659,6 +3654,22 @@ force_var_cost (struct ivopts_data *data,
return cost < target_spill_cost ? cost : target_spill_cost;
}
+/* Estimates cost of forcing EXPR into a variable. DEPENDS_ON is a set of the
+ invariants the computation depends on. */
+
+static unsigned
+force_var_cost (struct ivopts_data *data,
+ tree expr, bitmap *depends_on)
+{
+ if (depends_on)
+ {
+ fd_ivopts_data = data;
+ walk_tree (&expr, find_depends, depends_on, NULL);
+ }
+
+ return force_expr_to_var_cost (expr);
+}
+
/* Estimates cost of expressing address ADDR as var + symbol + offset. The
value of offset is added to OFFSET, SYMBOL_PRESENT and VAR_PRESENT are set
to false if the corresponding part is missing. DEPENDS_ON is a set of the
@@ -5786,7 +5797,7 @@ protect_loop_closed_ssa_form (edge exit, tree stmt)
so that they are emitted on the correct place, and so that the loop closed
ssa form is preserved. */
-static void
+void
compute_phi_arg_on_exit (edge exit, tree stmts, tree op)
{
tree_stmt_iterator tsi;
diff --git a/gcc/tree-ssa-loop-niter.c b/gcc/tree-ssa-loop-niter.c
index b6a25a13690..d6fe90876a5 100644
--- a/gcc/tree-ssa-loop-niter.c
+++ b/gcc/tree-ssa-loop-niter.c
@@ -87,10 +87,10 @@ inverse (tree x, tree mask)
rslt = build_int_cst_type (type, 1);
for (; ctr; ctr--)
{
- rslt = fold_binary_to_constant (MULT_EXPR, type, rslt, x);
- x = fold_binary_to_constant (MULT_EXPR, type, x, x);
+ rslt = int_const_binop (MULT_EXPR, rslt, x, 0);
+ x = int_const_binop (MULT_EXPR, x, x, 0);
}
- rslt = fold_binary_to_constant (BIT_AND_EXPR, type, rslt, mask);
+ rslt = int_const_binop (BIT_AND_EXPR, rslt, mask, 0);
}
return rslt;
@@ -245,7 +245,7 @@ number_of_iterations_cond (tree type, tree base0, tree step0,
step = fold_unary_to_constant (NEGATE_EXPR, type, step1);
else
step = step0;
- delta = build2 (MINUS_EXPR, type, base1, base0);
+ delta = fold_build2 (MINUS_EXPR, type, base1, base0);
delta = fold_build2 (FLOOR_MOD_EXPR, type, delta, step);
may_xform = boolean_false_node;
@@ -748,13 +748,13 @@ tree_simplify_using_condition_1 (tree cond, tree expr)
/* Check whether COND ==> EXPR. */
notcond = invert_truthvalue (cond);
- e = fold_build2 (TRUTH_OR_EXPR, boolean_type_node, notcond, te);
+ e = fold_binary (TRUTH_OR_EXPR, boolean_type_node, notcond, te);
if (nonzero_p (e))
return e;
/* Check whether COND ==> not EXPR. */
- e = fold_build2 (TRUTH_AND_EXPR, boolean_type_node, cond, te);
- if (zero_p (e))
+ e = fold_binary (TRUTH_AND_EXPR, boolean_type_node, cond, te);
+ if (e && zero_p (e))
return e;
return expr;
@@ -1266,8 +1266,8 @@ loop_niter_by_eval (struct loop *loop, edge exit)
for (j = 0; j < 2; j++)
aval[j] = get_val_for (op[j], val[j]);
- acnd = fold_build2 (cmp, boolean_type_node, aval[0], aval[1]);
- if (zero_p (acnd))
+ acnd = fold_binary (cmp, boolean_type_node, aval[0], aval[1]);
+ if (acnd && zero_p (acnd))
{
if (dump_file && (dump_flags & TDF_DETAILS))
fprintf (dump_file,
@@ -1351,6 +1351,130 @@ record_estimate (struct loop *loop, tree bound, tree additional, tree at_stmt)
loop->bounds = elt;
}
+/* Initialize LOOP->ESTIMATED_NB_ITERATIONS with the lowest safe
+ approximation of the number of iterations for LOOP. */
+
+static void
+compute_estimated_nb_iterations (struct loop *loop)
+{
+ struct nb_iter_bound *bound;
+
+ for (bound = loop->bounds; bound; bound = bound->next)
+ if (TREE_CODE (bound->bound) == INTEGER_CST
+ /* Update only when there is no previous estimation. */
+ && (chrec_contains_undetermined (loop->estimated_nb_iterations)
+ /* Or when the current estimation is smaller. */
+ || tree_int_cst_lt (bound->bound, loop->estimated_nb_iterations)))
+ loop->estimated_nb_iterations = bound->bound;
+}
+
+/* The following analyzers are extracting informations on the bounds
+ of LOOP from the following undefined behaviors:
+
+ - data references should not access elements over the statically
+ allocated size,
+
+ - signed variables should not overflow when flag_wrapv is not set.
+*/
+
+static void
+infer_loop_bounds_from_undefined (struct loop *loop)
+{
+ unsigned i;
+ basic_block bb, *bbs;
+ block_stmt_iterator bsi;
+
+ bbs = get_loop_body (loop);
+
+ for (i = 0; i < loop->num_nodes; i++)
+ {
+ bb = bbs[i];
+
+ for (bsi = bsi_start (bb); !bsi_end_p (bsi); bsi_next (&bsi))
+ {
+ tree stmt = bsi_stmt (bsi);
+
+ switch (TREE_CODE (stmt))
+ {
+ case MODIFY_EXPR:
+ {
+ tree op0 = TREE_OPERAND (stmt, 0);
+ tree op1 = TREE_OPERAND (stmt, 1);
+
+ /* For each array access, analyze its access function
+ and record a bound on the loop iteration domain. */
+ if (TREE_CODE (op1) == ARRAY_REF)
+ analyze_array (stmt, op1, true);
+
+ if (TREE_CODE (op0) == ARRAY_REF)
+ analyze_array (stmt, op0, false);
+
+ /* For each signed type variable in LOOP, analyze its
+ scalar evolution and record a bound of the loop
+ based on the type's ranges. */
+ else if (!flag_wrapv && TREE_CODE (op0) == SSA_NAME)
+ {
+ tree init, step, diff, estimation;
+ tree scev = instantiate_parameters
+ (loop, analyze_scalar_evolution (loop, op0));
+ tree type = chrec_type (scev);
+ tree utype;
+
+ if (chrec_contains_undetermined (scev)
+ || TYPE_UNSIGNED (type))
+ break;
+
+ init = initial_condition_in_loop_num (scev, loop->num);
+ step = evolution_part_in_loop_num (scev, loop->num);
+
+ if (init == NULL_TREE
+ || step == NULL_TREE
+ || TREE_CODE (init) != INTEGER_CST
+ || TREE_CODE (step) != INTEGER_CST
+ || TYPE_MIN_VALUE (type) == NULL_TREE
+ || TYPE_MAX_VALUE (type) == NULL_TREE)
+ break;
+
+ utype = unsigned_type_for (type);
+ if (tree_int_cst_lt (step, integer_zero_node))
+ diff = fold_build2 (MINUS_EXPR, utype, init,
+ TYPE_MIN_VALUE (type));
+ else
+ diff = fold_build2 (MINUS_EXPR, utype,
+ TYPE_MAX_VALUE (type), init);
+
+ estimation = fold_build2 (CEIL_DIV_EXPR, utype, diff,
+ step);
+ record_estimate (loop, estimation, boolean_true_node, stmt);
+ }
+
+ break;
+ }
+
+ case CALL_EXPR:
+ {
+ tree args;
+
+ for (args = TREE_OPERAND (stmt, 1); args;
+ args = TREE_CHAIN (args))
+ if (TREE_CODE (TREE_VALUE (args)) == ARRAY_REF)
+ analyze_array (stmt, TREE_VALUE (args), true);
+
+ break;
+ }
+
+ default:
+ break;
+ }
+ }
+
+ if (chrec_contains_undetermined (loop->estimated_nb_iterations))
+ compute_estimated_nb_iterations (loop);
+ }
+
+ free (bbs);
+}
+
/* Records estimates on numbers of iterations of LOOP. */
static void
@@ -1389,14 +1513,8 @@ estimate_numbers_of_iterations_loop (struct loop *loop)
}
free (exits);
- /* Analyzes the bounds of arrays accessed in the loop. */
if (chrec_contains_undetermined (loop->estimated_nb_iterations))
- {
- varray_type datarefs;
- VARRAY_GENERIC_PTR_INIT (datarefs, 3, "datarefs");
- find_data_references_in_loop (loop, &datarefs);
- free_data_refs (datarefs);
- }
+ infer_loop_bounds_from_undefined (loop);
}
/* Records estimates on numbers of iterations of LOOPS. */
@@ -1432,11 +1550,11 @@ compare_trees (tree a, tree b)
a = fold_convert (type, a);
b = fold_convert (type, b);
- if (nonzero_p (fold_build2 (EQ_EXPR, boolean_type_node, a, b)))
+ if (nonzero_p (fold_binary (EQ_EXPR, boolean_type_node, a, b)))
return 0;
- if (nonzero_p (fold_build2 (LT_EXPR, boolean_type_node, a, b)))
+ if (nonzero_p (fold_binary (LT_EXPR, boolean_type_node, a, b)))
return 1;
- if (nonzero_p (fold_build2 (GT_EXPR, boolean_type_node, a, b)))
+ if (nonzero_p (fold_binary (GT_EXPR, boolean_type_node, a, b)))
return -1;
return 2;
@@ -1500,27 +1618,33 @@ proved_non_wrapping_p (tree at_stmt,
{
tree cond;
tree bound = niter_bound->bound;
+ enum tree_code cmp;
if (TYPE_PRECISION (new_type) > TYPE_PRECISION (TREE_TYPE (bound)))
bound = fold_convert (unsigned_type_for (new_type), bound);
else
valid_niter = fold_convert (TREE_TYPE (bound), valid_niter);
+ /* Give up if BOUND was not folded to an INTEGER_CST, as in PR23434. */
+ if (TREE_CODE (bound) != INTEGER_CST)
+ return false;
+
/* After the statement niter_bound->at_stmt we know that anything is
executed at most BOUND times. */
if (at_stmt && stmt_dominates_stmt_p (niter_bound->at_stmt, at_stmt))
- cond = fold_build2 (GE_EXPR, boolean_type_node, valid_niter, bound);
-
+ cmp = GE_EXPR;
/* Before the statement niter_bound->at_stmt we know that anything
is executed at most BOUND + 1 times. */
else
- cond = fold_build2 (GT_EXPR, boolean_type_node, valid_niter, bound);
+ cmp = GT_EXPR;
+ cond = fold_binary (cmp, boolean_type_node, valid_niter, bound);
if (nonzero_p (cond))
return true;
+ cond = build2 (cmp, boolean_type_node, valid_niter, bound);
/* Try taking additional conditions into account. */
- cond = fold_build2 (TRUTH_OR_EXPR, boolean_type_node,
+ cond = fold_binary (TRUTH_OR_EXPR, boolean_type_node,
invert_truthvalue (niter_bound->additional),
cond);
@@ -1613,6 +1737,43 @@ convert_step_widening (struct loop *loop, tree new_type, tree base, tree step,
return NULL_TREE;
}
+/* Returns true when VAR is used in pointer arithmetics. DEPTH is
+ used for limiting the search. */
+
+static bool
+used_in_pointer_arithmetic_p (tree var, int depth)
+{
+ use_operand_p use_p;
+ imm_use_iterator iter;
+
+ if (depth == 0
+ || TREE_CODE (var) != SSA_NAME
+ || !has_single_use (var))
+ return false;
+
+ FOR_EACH_IMM_USE_FAST (use_p, iter, var)
+ {
+ tree stmt = USE_STMT (use_p);
+
+ if (stmt && TREE_CODE (stmt) == MODIFY_EXPR)
+ {
+ tree rhs = TREE_OPERAND (stmt, 1);
+
+ if (TREE_CODE (rhs) == NOP_EXPR
+ || TREE_CODE (rhs) == CONVERT_EXPR)
+ {
+ if (POINTER_TYPE_P (TREE_TYPE (rhs)))
+ return true;
+ return false;
+ }
+ else
+ return used_in_pointer_arithmetic_p (TREE_OPERAND (stmt, 0),
+ depth - 1);
+ }
+ }
+ return false;
+}
+
/* Return false only when the induction variable BASE + STEP * I is
known to not overflow: i.e. when the number of iterations is small
enough with respect to the step and initial condition in order to
@@ -1620,20 +1781,72 @@ convert_step_widening (struct loop *loop, tree new_type, tree base, tree step,
iv is known to overflow or when the property is not computable.
Initialize INIT_IS_MAX to true when the evolution goes from
- INIT_IS_MAX to LOWER_BOUND_IN_TYPE, false in the contrary case, not
- defined when the function returns true. */
+ INIT_IS_MAX to LOWER_BOUND_IN_TYPE, false in the contrary case.
+ When this property cannot be determined, UNKNOWN_MAX is set to
+ true. */
bool
scev_probably_wraps_p (tree type, tree base, tree step,
tree at_stmt, struct loop *loop,
- bool *init_is_max)
+ bool *init_is_max, bool *unknown_max)
{
struct nb_iter_bound *bound;
tree delta, step_abs;
tree unsigned_type, valid_niter;
- tree base_plus_step = fold_build2 (PLUS_EXPR, type, base, step);
+ tree base_plus_step, bpsps;
+ int cps, cpsps;
+
+ /* FIXME: The following code will not be used anymore once
+ http://gcc.gnu.org/ml/gcc-patches/2005-06/msg02025.html is
+ committed.
+
+ If AT_STMT is a cast to unsigned that is later used for
+ referencing a memory location, it is followed by a pointer
+ conversion just after. Because pointers do not wrap, the
+ sequences that reference the memory do not wrap either. In the
+ following example, sequences corresponding to D_13 and to D_14
+ can be proved to not wrap because they are used for computing a
+ memory access:
+
+ D.1621_13 = (long unsigned intD.4) D.1620_12;
+ D.1622_14 = D.1621_13 * 8;
+ D.1623_15 = (doubleD.29 *) D.1622_14;
+ */
+ if (at_stmt && TREE_CODE (at_stmt) == MODIFY_EXPR)
+ {
+ tree op0 = TREE_OPERAND (at_stmt, 0);
+ tree op1 = TREE_OPERAND (at_stmt, 1);
+ tree type_op1 = TREE_TYPE (op1);
- switch (compare_trees (base_plus_step, base))
+ if ((TYPE_UNSIGNED (type_op1)
+ && used_in_pointer_arithmetic_p (op0, 2))
+ || POINTER_TYPE_P (type_op1))
+ {
+ *unknown_max = true;
+ return false;
+ }
+ }
+
+ if (TREE_CODE (base) == REAL_CST
+ || TREE_CODE (step) == REAL_CST)
+ {
+ *unknown_max = true;
+ return true;
+ }
+
+ *unknown_max = false;
+ base_plus_step = fold_build2 (PLUS_EXPR, type, base, step);
+ bpsps = fold_build2 (PLUS_EXPR, type, base_plus_step, step);
+ cps = compare_trees (base_plus_step, base);
+ cpsps = compare_trees (bpsps, base_plus_step);
+
+ /* Check that the sequence is not wrapping in the first step: it
+ should have the same monotonicity for the first two steps. See
+ PR23410. */
+ if (cps != cpsps)
+ return true;
+
+ switch (cps)
{
case -1:
{
@@ -1659,25 +1872,31 @@ scev_probably_wraps_p (tree type, tree base, tree step,
don't know as in the default case. */
default:
+ *unknown_max = true;
return true;
}
/* If AT_STMT represents a cast operation, we may not be able to
take advantage of the undefinedness of signed type evolutions.
+
+ implement-c.texi states: "For conversion to a type of width
+ N, the value is reduced modulo 2^N to be within range of the
+ type;"
+
See PR 21959 for a test case. Essentially, given a cast
operation
- unsigned char i;
- signed char i.0;
+ unsigned char uc;
+ signed char sc;
...
- i.0_6 = (signed char) i_2;
- if (i.0_6 < 0)
+ sc = (signed char) uc;
+ if (sc < 0)
...
- where i_2 and i.0_6 have the scev {0, +, 1}, we would consider
- i_2 to wrap around, but not i.0_6, because it is of a signed
- type. This causes VRP to erroneously fold the predicate above
- because it thinks that i.0_6 cannot be negative. */
- if (TREE_CODE (at_stmt) == MODIFY_EXPR)
+ where uc and sc have the scev {0, +, 1}, we would consider uc to
+ wrap around, but not sc, because it is of a signed type. This
+ causes VRP to erroneously fold the predicate above because it
+ thinks that sc cannot be negative. */
+ if (at_stmt && TREE_CODE (at_stmt) == MODIFY_EXPR)
{
tree rhs = TREE_OPERAND (at_stmt, 1);
tree outer_t = TREE_TYPE (rhs);
@@ -1693,7 +1912,10 @@ scev_probably_wraps_p (tree type, tree base, tree step,
if (TYPE_UNSIGNED (inner_t)
&& (TYPE_SIZE (inner_t) <= TYPE_SIZE (outer_t)
|| TYPE_PRECISION (inner_t) <= TYPE_PRECISION (outer_t)))
- return true;
+ {
+ *unknown_max = true;
+ return true;
+ }
}
}
@@ -1714,11 +1936,13 @@ scev_probably_wraps_p (tree type, tree base, tree step,
/* At this point we still don't have a proof that the iv does not
overflow: give up. */
+ *unknown_max = true;
return true;
}
/* Return the conversion to NEW_TYPE of the STEP of an induction
- variable BASE + STEP * I at AT_STMT. */
+ variable BASE + STEP * I at AT_STMT. When it fails, return
+ NULL_TREE. */
tree
convert_step (struct loop *loop, tree new_type, tree base, tree step,
diff --git a/gcc/tree-ssa-loop-unswitch.c b/gcc/tree-ssa-loop-unswitch.c
index 17362694db9..d0625c52ec9 100644
--- a/gcc/tree-ssa-loop-unswitch.c
+++ b/gcc/tree-ssa-loop-unswitch.c
@@ -282,5 +282,5 @@ tree_unswitch_loop (struct loops *loops, struct loop *loop,
gcc_assert (loop->inner == NULL);
return loop_version (loops, loop, unshare_expr (cond),
- &condition_bb);
+ &condition_bb, false);
}
diff --git a/gcc/tree-ssa-loop.c b/gcc/tree-ssa-loop.c
index abfcf15bc76..692f9b10e63 100644
--- a/gcc/tree-ssa-loop.c
+++ b/gcc/tree-ssa-loop.c
@@ -212,7 +212,7 @@ struct tree_opt_pass pass_vectorize =
PROP_cfg | PROP_ssa, /* properties_required */
0, /* properties_provided */
0, /* properties_destroyed */
- 0, /* todo_flags_start */
+ TODO_verify_loops, /* todo_flags_start */
TODO_dump_func | TODO_update_ssa, /* todo_flags_finish */
0 /* letter */
};
@@ -307,7 +307,8 @@ struct tree_opt_pass pass_scev_cprop =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- TODO_dump_func, /* todo_flags_finish */
+ TODO_dump_func | TODO_update_ssa_only_virtuals,
+ /* todo_flags_finish */
0 /* letter */
};
diff --git a/gcc/tree-ssa-math-opts.c b/gcc/tree-ssa-math-opts.c
index 9544a6c256c..456043fc3f4 100644
--- a/gcc/tree-ssa-math-opts.c
+++ b/gcc/tree-ssa-math-opts.c
@@ -54,21 +54,31 @@ gate_cse_reciprocals (void)
return optimize && !optimize_size && flag_unsafe_math_optimizations;
}
+/* Where to put the statement computing a reciprocal. */
+enum place_reciprocal
+{
+ PR_BEFORE_BSI, /* Put it using bsi_insert_before. */
+ PR_AFTER_BSI, /* Put it using bsi_insert_after. */
+ PR_ON_ENTRY_EDGE /* Put it on the edge between the entry
+ and the first basic block. */
+};
+
/* Check if DEF's uses include more than one floating-point division,
- and if so replace them by multiplications with the reciprocal. If
- PHI is true, insert the reciprocal calculation before BSI, otherwise
- insert it after and move BSI to the new statement.
+ and if so replace them by multiplications with the reciprocal. Add
+ the statement computing the reciprocal according to WHERE.
Does not check the type of DEF, nor that DEF is a GIMPLE register.
This is done in the caller for speed, because otherwise this routine
would be called for every definition and phi node. */
static void
-execute_cse_reciprocals_1 (block_stmt_iterator *bsi, tree def, bool phi)
+execute_cse_reciprocals_1 (block_stmt_iterator *bsi, tree def,
+ enum place_reciprocal where)
{
use_operand_p use_p;
imm_use_iterator use_iter;
tree t, new_stmt, type;
int count = 0;
+ bool ok = !flag_trapping_math;
/* Find uses. */
FOR_EACH_IMM_USE_FAST (use_p, use_iter, def)
@@ -77,13 +87,18 @@ execute_cse_reciprocals_1 (block_stmt_iterator *bsi, tree def, bool phi)
if (TREE_CODE (use_stmt) == MODIFY_EXPR
&& TREE_CODE (TREE_OPERAND (use_stmt, 1)) == RDIV_EXPR
&& TREE_OPERAND (TREE_OPERAND (use_stmt, 1), 1) == def)
- {
- if (++count == 2)
- break;
- }
+ {
+ ++count;
+ /* Check if this use post-dominates the insertion point. */
+ if (ok || dominated_by_p (CDI_POST_DOMINATORS, bsi->bb,
+ bb_for_stmt (use_stmt)))
+ ok = true;
+ }
+ if (count >= 2 && ok)
+ break;
}
- if (count < 2)
+ if (count < 2 || !ok)
return;
/* Make a variable with the replacement and substitute it. */
@@ -93,10 +108,14 @@ execute_cse_reciprocals_1 (block_stmt_iterator *bsi, tree def, bool phi)
fold_build2 (RDIV_EXPR, type, build_real (type, dconst1),
def));
- if (phi)
+ if (where == PR_BEFORE_BSI)
bsi_insert_before (bsi, new_stmt, BSI_SAME_STMT);
- else
+ else if (where == PR_AFTER_BSI)
bsi_insert_after (bsi, new_stmt, BSI_NEW_STMT);
+ else if (where == PR_ON_ENTRY_EDGE)
+ bsi_insert_on_edge (single_succ_edge (ENTRY_BLOCK_PTR), new_stmt);
+ else
+ gcc_unreachable ();
FOR_EACH_IMM_USE_SAFE (use_p, use_iter, def)
{
@@ -116,6 +135,21 @@ static void
execute_cse_reciprocals (void)
{
basic_block bb;
+ tree arg;
+
+ if (flag_trapping_math)
+ calculate_dominance_info (CDI_POST_DOMINATORS);
+
+ if (single_succ_p (ENTRY_BLOCK_PTR))
+ for (arg = DECL_ARGUMENTS (cfun->decl); arg; arg = TREE_CHAIN (arg))
+ if (default_def (arg))
+ {
+ block_stmt_iterator bsi;
+ bsi = bsi_start (single_succ (ENTRY_BLOCK_PTR));
+ execute_cse_reciprocals_1 (&bsi, default_def (arg),
+ PR_ON_ENTRY_EDGE);
+ }
+
FOR_EACH_BB (bb)
{
block_stmt_iterator bsi;
@@ -130,7 +164,7 @@ execute_cse_reciprocals (void)
def = PHI_RESULT (phi);
if (FLOAT_TYPE_P (TREE_TYPE (def))
&& is_gimple_reg (def))
- execute_cse_reciprocals_1 (&bsi, def, true);
+ execute_cse_reciprocals_1 (&bsi, def, PR_BEFORE_BSI);
}
for (; !bsi_end_p (bsi); bsi_next (&bsi))
@@ -139,10 +173,16 @@ execute_cse_reciprocals (void)
if (TREE_CODE (stmt) == MODIFY_EXPR
&& (def = SINGLE_SSA_TREE_OPERAND (stmt, SSA_OP_DEF)) != NULL
&& FLOAT_TYPE_P (TREE_TYPE (def))
- && is_gimple_reg (def))
- execute_cse_reciprocals_1 (&bsi, def, false);
+ && TREE_CODE (def) == SSA_NAME)
+ execute_cse_reciprocals_1 (&bsi, def, PR_AFTER_BSI);
}
}
+
+ if (flag_trapping_math)
+ free_dominance_info (CDI_POST_DOMINATORS);
+
+ if (single_succ_p (ENTRY_BLOCK_PTR))
+ bsi_commit_one_edge_insert (single_succ_edge (ENTRY_BLOCK_PTR), NULL);
}
struct tree_opt_pass pass_cse_reciprocals =
diff --git a/gcc/tree-ssa-operands.c b/gcc/tree-ssa-operands.c
index c80ec5d4b6e..0af19955533 100644
--- a/gcc/tree-ssa-operands.c
+++ b/gcc/tree-ssa-operands.c
@@ -1207,9 +1207,9 @@ swap_tree_operands (tree stmt, tree *exp0, tree *exp1)
}
-/* Recursively scan the expression pointed by EXPR_P in statement referred to
- by INFO. FLAGS is one of the OPF_* constants modifying how to interpret the
- operands found. */
+/* Recursively scan the expression pointed to by EXPR_P in statement referred
+ to by INFO. FLAGS is one of the OPF_* constants modifying how to interpret
+ the operands found. */
static void
get_expr_operands (tree stmt, tree *expr_p, int flags)
@@ -1698,7 +1698,7 @@ get_tmr_operands (tree stmt, tree expr, int flags)
}
if (tag)
- add_stmt_operand (&tag, stmt_ann (stmt), flags);
+ get_expr_operands (stmt, &tag, flags);
else
/* Something weird, so ensure that we will be careful. */
stmt_ann (stmt)->has_volatile_ops = true;
diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c
index 76ce7ab83c0..cad485abd77 100644
--- a/gcc/tree-ssa-structalias.c
+++ b/gcc/tree-ssa-structalias.c
@@ -612,6 +612,8 @@ solution_set_add (bitmap set, unsigned HOST_WIDE_INT offset)
{
unsigned HOST_WIDE_INT fieldoffset = get_varinfo (i)->offset + offset;
varinfo_t v = first_vi_for_offset (get_varinfo (i), fieldoffset);
+ if (!v)
+ continue;
bitmap_set_bit (result, v->id);
}
else if (get_varinfo (i)->is_artificial_var
@@ -997,7 +999,7 @@ build_constraint_graph (void)
/* x = &y */
bitmap_set_bit (get_varinfo (lhs.var)->solution, rhs.var);
}
- else if (rhs.var > anything_id && lhs.var > anything_id)
+ else if (lhs.var > anything_id)
{
/* Ignore 0 weighted self edges, as they can't possibly contribute
anything */
@@ -1332,6 +1334,8 @@ do_da_constraint (constraint_graph_t graph ATTRIBUTE_UNUSED,
unsigned HOST_WIDE_INT fieldoffset = get_varinfo (j)->offset + offset;
v = first_vi_for_offset (get_varinfo (j), fieldoffset);
+ if (!v)
+ continue;
t = v->node;
sol = get_varinfo (t)->solution;
if (!bitmap_bit_p (sol, rhs))
@@ -1375,6 +1379,8 @@ do_sd_constraint (constraint_graph_t graph, constraint_t c,
unsigned int t;
v = first_vi_for_offset (get_varinfo (j), fieldoffset);
+ if (!v)
+ continue;
t = v->node;
if (int_add_graph_edge (graph, lhs, t, 0))
flag |= bitmap_ior_into (sol, get_varinfo (t)->solution);
@@ -1419,6 +1425,8 @@ do_ds_constraint (constraint_graph_t graph, constraint_t c, bitmap delta)
unsigned HOST_WIDE_INT fieldoffset = get_varinfo (j)->offset + loff;
v = first_vi_for_offset (get_varinfo (j), fieldoffset);
+ if (!v)
+ continue;
t = v->node;
if (int_add_graph_edge (graph, t, rhs, roff))
{
@@ -1594,7 +1602,7 @@ perform_var_substitution (constraint_graph_t graph)
unsigned int w;
weight = get_graph_weights (graph, *ce);
- /* We can't eliminate variables that have non-zero weighted
+ /* We can't eliminate variables that have nonzero weighted
edges between them. */
if (bitmap_other_than_zero_bit_set (weight))
{
@@ -2878,7 +2886,7 @@ find_func_aliases (tree t, struct alias_info *ai)
OFFSET.
Effectively, walk the chain of fields for the variable START to find the
first field that overlaps with OFFSET.
- Abort if we can't find one. */
+ Return NULL if we can't find one. */
static varinfo_t
first_vi_for_offset (varinfo_t start, unsigned HOST_WIDE_INT offset)
@@ -2894,8 +2902,7 @@ first_vi_for_offset (varinfo_t start, unsigned HOST_WIDE_INT offset)
return curr;
curr = curr->next;
}
-
- gcc_unreachable ();
+ return NULL;
}
@@ -2972,6 +2979,7 @@ push_fields_onto_fieldstack (tree type, VEC(fieldoff_s,heap) **fieldstack,
if (TREE_CODE (field) == FIELD_DECL)
{
bool push = false;
+ int pushed = 0;
if (has_union
&& (TREE_CODE (TREE_TYPE (field)) == QUAL_UNION_TYPE
@@ -2980,7 +2988,7 @@ push_fields_onto_fieldstack (tree type, VEC(fieldoff_s,heap) **fieldstack,
if (!var_can_have_subvars (field))
push = true;
- else if (!(push_fields_onto_fieldstack
+ else if (!(pushed = push_fields_onto_fieldstack
(TREE_TYPE (field), fieldstack,
offset + bitpos_of_field (field), has_union))
&& DECL_SIZE (field)
@@ -2999,6 +3007,8 @@ push_fields_onto_fieldstack (tree type, VEC(fieldoff_s,heap) **fieldstack,
pair->offset = offset + bitpos_of_field (field);
count++;
}
+ else
+ count += pushed;
}
return count;
diff --git a/gcc/tree-ssa-threadupdate.c b/gcc/tree-ssa-threadupdate.c
index 6181b27978d..1b7733b0c9b 100644
--- a/gcc/tree-ssa-threadupdate.c
+++ b/gcc/tree-ssa-threadupdate.c
@@ -199,7 +199,7 @@ create_block_for_threading (basic_block bb, struct redirection_data *rd)
{
/* We can use the generic block duplication code and simply remove
the stuff we do not need. */
- rd->dup_block = duplicate_block (bb, NULL);
+ rd->dup_block = duplicate_block (bb, NULL, NULL);
/* Zero out the profile, since the block is unreachable for now. */
rd->dup_block->frequency = 0;
@@ -724,6 +724,8 @@ thread_block (basic_block bb)
else
{
edge e2 = e->aux;
+ update_bb_profile_for_threading (e->dest, EDGE_FREQUENCY (e),
+ e->count, e->aux);
/* If we thread to a loop exit edge, then we will need to
rediscover the loop exit edges. While it may seem that
diff --git a/gcc/tree-tailcall.c b/gcc/tree-tailcall.c
index 3c7518d7b86..7d510af7782 100644
--- a/gcc/tree-tailcall.c
+++ b/gcc/tree-tailcall.c
@@ -192,7 +192,7 @@ suitable_for_tail_call_opt_p (void)
}
/* Checks whether the expression EXPR in stmt AT is independent of the
- statement pointed by BSI (in a sense that we already know EXPR's value
+ statement pointed to by BSI (in a sense that we already know EXPR's value
at BSI). We use the fact that we are only called from the chain of
basic blocks that have only single successor. Returns the expression
containing the value of EXPR at BSI. */
diff --git a/gcc/tree-vect-analyze.c b/gcc/tree-vect-analyze.c
index 45deb5c0952..8f18d89f9a4 100644
--- a/gcc/tree-vect-analyze.c
+++ b/gcc/tree-vect-analyze.c
@@ -1056,13 +1056,16 @@ vect_analyze_data_refs_alignment (loop_vec_info loop_vinfo)
supportable_dr_alignment = vect_supportable_dr_alignment (dr);
if (!supportable_dr_alignment)
{
- if (DR_IS_READ (dr))
- fprintf (vect_dump,
- "not vectorized: unsupported unaligned load.");
- else
- fprintf (vect_dump,
- "not vectorized: unsupported unaligned store.");
- return false;
+ if (vect_print_dump_info (REPORT_UNVECTORIZED_LOOPS))
+ {
+ if (DR_IS_READ (dr))
+ fprintf (vect_dump,
+ "not vectorized: unsupported unaligned load.");
+ else
+ fprintf (vect_dump,
+ "not vectorized: unsupported unaligned store.");
+ }
+ return false;
}
if (supportable_dr_alignment != dr_aligned
&& (vect_print_dump_info (REPORT_ALIGNMENT)))
@@ -1170,7 +1173,7 @@ vect_analyze_data_refs (loop_vec_info loop_vinfo)
if (!dr || !DR_REF (dr))
{
if (vect_print_dump_info (REPORT_UNVECTORIZED_LOOPS))
- fprintf (vect_dump, "not vectorized: unhandled data-ref ");
+ fprintf (vect_dump, "not vectorized: unhandled data-ref ");
return false;
}
diff --git a/gcc/tree-vect-generic.c b/gcc/tree-vect-generic.c
index f9c9fda3104..463b161a434 100644
--- a/gcc/tree-vect-generic.c
+++ b/gcc/tree-vect-generic.c
@@ -106,13 +106,8 @@ tree_vec_extract (block_stmt_iterator *bsi, tree type,
{
if (bitpos)
return gimplify_build3 (bsi, BIT_FIELD_REF, type, t, bitsize, bitpos);
-
- /* Build a conversion; VIEW_CONVERT_EXPR is very expensive unless T will
- anyway be stored in memory, so prefer NOP_EXPR. */
- else if (TYPE_MODE (type) == BLKmode)
- return gimplify_build1 (bsi, VIEW_CONVERT_EXPR, type, t);
else
- return gimplify_build1 (bsi, NOP_EXPR, type, t);
+ return gimplify_build1 (bsi, VIEW_CONVERT_EXPR, type, t);
}
static tree
@@ -455,16 +450,7 @@ expand_vector_operations_1 (block_stmt_iterator *bsi)
if (lang_hooks.types_compatible_p (TREE_TYPE (lhs), TREE_TYPE (rhs)))
*p_rhs = rhs;
else
- {
- /* Build a conversion; VIEW_CONVERT_EXPR is very expensive unless T will
- be stored in memory anyway, so prefer NOP_EXPR. We should also try
- performing the VIEW_CONVERT_EXPR on the left side of the
- assignment. */
- if (TYPE_MODE (TREE_TYPE (rhs)) == BLKmode)
- *p_rhs = gimplify_build1 (bsi, VIEW_CONVERT_EXPR, TREE_TYPE (lhs), rhs);
- else
- *p_rhs = gimplify_build1 (bsi, NOP_EXPR, TREE_TYPE (lhs), rhs);
- }
+ *p_rhs = gimplify_build1 (bsi, VIEW_CONVERT_EXPR, TREE_TYPE (lhs), rhs);
mark_stmt_modified (bsi_stmt (*bsi));
}
diff --git a/gcc/tree-vect-transform.c b/gcc/tree-vect-transform.c
index 9dab8bcda4b..7c247b1cd24 100644
--- a/gcc/tree-vect-transform.c
+++ b/gcc/tree-vect-transform.c
@@ -751,7 +751,7 @@ get_initial_def_for_reduction (tree stmt, tree init_val, tree *scalar_def)
case MAX_EXPR:
def = init_val;
nelements = nunits;
- need_epilog_adjust = true;
+ need_epilog_adjust = false;
break;
default:
@@ -775,13 +775,9 @@ get_initial_def_for_reduction (tree stmt, tree init_val, tree *scalar_def)
vec = build_constructor_from_list (vectype, t);
if (!need_epilog_adjust)
- {
- if (INTEGRAL_TYPE_P (type))
- init_val = build_int_cst (type, 0);
- else
- init_val = build_real (type, dconst0);
- }
- *scalar_def = init_val;
+ *scalar_def = NULL_TREE;
+ else
+ *scalar_def = init_val;
return vect_init_vector (stmt, vec);
}
@@ -862,7 +858,6 @@ vect_create_epilog_for_reduction (tree vect_def, tree stmt, tree reduction_op,
imm_use_iterator imm_iter;
use_operand_p use_p;
bool extract_scalar_result;
- bool adjust_in_epilog;
/*** 1. Create the reduction def-use cycle ***/
@@ -921,7 +916,6 @@ vect_create_epilog_for_reduction (tree vect_def, tree stmt, tree reduction_op,
bsi_insert_after (&exit_bsi, epilog_stmt, BSI_NEW_STMT);
extract_scalar_result = true;
- adjust_in_epilog = true;
}
else
{
@@ -997,13 +991,15 @@ vect_create_epilog_for_reduction (tree vect_def, tree stmt, tree reduction_op,
}
extract_scalar_result = true;
- adjust_in_epilog = true;
}
else
{
+ tree rhs;
+
/*** Case 3:
- Create: s = init;
- for (offset=0; offset<vector_size; offset+=element_size;)
+ Create:
+ s = extract_field <v_out2, 0>
+ for (offset=element_size; offset<vector_size; offset+=element_size;)
{
Create: s' = extract_field <v_out2, offset>
Create: s = op <s, s'>
@@ -1015,38 +1011,29 @@ vect_create_epilog_for_reduction (tree vect_def, tree stmt, tree reduction_op,
vec_temp = PHI_RESULT (new_phi);
vec_size_in_bits = tree_low_cst (TYPE_SIZE (vectype), 1);
- /* first iteration is peeled out when possible to minimize
- the number of operations we generate: */
- if (code == PLUS_EXPR
- && (integer_zerop (scalar_initial_def)
- || real_zerop (scalar_initial_def)))
- {
- epilog_stmt = build2 (MODIFY_EXPR, scalar_type, new_scalar_dest,
- build3 (BIT_FIELD_REF, scalar_type,
- vec_temp, bitsize, bitsize_zero_node));
- new_temp = make_ssa_name (new_scalar_dest, epilog_stmt);
- TREE_OPERAND (epilog_stmt, 0) = new_temp;
- bsi_insert_after (&exit_bsi, epilog_stmt, BSI_NEW_STMT);
- if (vect_print_dump_info (REPORT_DETAILS))
- print_generic_expr (vect_dump, epilog_stmt, TDF_SLIM);
-
- bit_offset = element_bitsize;
- }
- else
- {
- new_temp = scalar_initial_def;
- bit_offset = 0;
- }
+ rhs = build3 (BIT_FIELD_REF, scalar_type, vec_temp, bitsize,
+ bitsize_zero_node);
- for (;
+ BIT_FIELD_REF_UNSIGNED (rhs) = TYPE_UNSIGNED (scalar_type);
+ epilog_stmt = build2 (MODIFY_EXPR, scalar_type, new_scalar_dest,
+ rhs);
+ new_temp = make_ssa_name (new_scalar_dest, epilog_stmt);
+ TREE_OPERAND (epilog_stmt, 0) = new_temp;
+ bsi_insert_after (&exit_bsi, epilog_stmt, BSI_NEW_STMT);
+ if (vect_print_dump_info (REPORT_DETAILS))
+ print_generic_expr (vect_dump, epilog_stmt, TDF_SLIM);
+
+ for (bit_offset = element_bitsize;
bit_offset < vec_size_in_bits;
bit_offset += element_bitsize)
{
tree bitpos = bitsize_int (bit_offset);
-
+ tree rhs = build3 (BIT_FIELD_REF, scalar_type, vec_temp, bitsize,
+ bitpos);
+
+ BIT_FIELD_REF_UNSIGNED (rhs) = TYPE_UNSIGNED (scalar_type);
epilog_stmt = build2 (MODIFY_EXPR, scalar_type, new_scalar_dest,
- build3 (BIT_FIELD_REF, scalar_type,
- vec_temp, bitsize, bitpos));
+ rhs);
new_name = make_ssa_name (new_scalar_dest, epilog_stmt);
TREE_OPERAND (epilog_stmt, 0) = new_name;
bsi_insert_after (&exit_bsi, epilog_stmt, BSI_NEW_STMT);
@@ -1064,7 +1051,6 @@ vect_create_epilog_for_reduction (tree vect_def, tree stmt, tree reduction_op,
}
extract_scalar_result = false;
- adjust_in_epilog = false;
}
}
@@ -1074,6 +1060,8 @@ vect_create_epilog_for_reduction (tree vect_def, tree stmt, tree reduction_op,
if (extract_scalar_result)
{
+ tree rhs;
+
if (vect_print_dump_info (REPORT_DETAILS))
fprintf (vect_dump, "extract scalar result");
@@ -1085,9 +1073,9 @@ vect_create_epilog_for_reduction (tree vect_def, tree stmt, tree reduction_op,
else
bitpos = bitsize_zero_node;
- epilog_stmt = build2 (MODIFY_EXPR, scalar_type, new_scalar_dest,
- build3 (BIT_FIELD_REF, scalar_type,
- new_temp, bitsize, bitpos));
+ rhs = build3 (BIT_FIELD_REF, scalar_type, new_temp, bitsize, bitpos);
+ BIT_FIELD_REF_UNSIGNED (rhs) = TYPE_UNSIGNED (scalar_type);
+ epilog_stmt = build2 (MODIFY_EXPR, scalar_type, new_scalar_dest, rhs);
new_temp = make_ssa_name (new_scalar_dest, epilog_stmt);
TREE_OPERAND (epilog_stmt, 0) = new_temp;
bsi_insert_after (&exit_bsi, epilog_stmt, BSI_NEW_STMT);
@@ -1103,7 +1091,7 @@ vect_create_epilog_for_reduction (tree vect_def, tree stmt, tree reduction_op,
Create:
s_out = scalar_expr <s_out, scalar_initial_def> */
- if (adjust_in_epilog)
+ if (scalar_initial_def)
{
epilog_stmt = build2 (MODIFY_EXPR, scalar_type, new_scalar_dest,
build2 (code, scalar_type, new_temp, scalar_initial_def));
@@ -1284,8 +1272,6 @@ vectorizable_reduction (tree stmt, block_stmt_iterator *bsi, tree *vec_stmt)
/* Prepare the operand that is defined inside the loop body */
loop_vec_def = vect_get_vec_def_for_operand (op0, stmt, NULL);
- gcc_assert (VECTOR_MODE_P (TYPE_MODE (TREE_TYPE (loop_vec_def))));
-
/* Create the vectorized operation that computes the partial results */
*vec_stmt = build2 (MODIFY_EXPR, vectype, vec_dest,
@@ -2728,10 +2714,16 @@ vect_transform_loop (loop_vec_info loop_vinfo,
int i;
tree ratio = NULL;
int vectorization_factor = LOOP_VINFO_VECT_FACTOR (loop_vinfo);
+ bitmap_iterator bi;
+ unsigned int j;
if (vect_print_dump_info (REPORT_DETAILS))
fprintf (vect_dump, "=== vec_transform_loop ===");
+ /* CHECKME: we wouldn't need this if we calles update_ssa once
+ for all loops. */
+ bitmap_zero (vect_vnames_to_rename);
+
/* Peel the loop if there are data refs with unknown alignment.
Only one data ref with unknown store is allowed. */
@@ -2817,6 +2809,9 @@ vect_transform_loop (loop_vec_info loop_vinfo,
slpeel_make_loop_iterate_ntimes (loop, ratio);
+ EXECUTE_IF_SET_IN_BITMAP (vect_vnames_to_rename, 0, j, bi)
+ mark_sym_for_renaming (SSA_NAME_VAR (ssa_name (j)));
+
/* The memory tags and pointers in vectorized statements need to
have their SSA forms updated. FIXME, why can't this be delayed
until all the loops have been transformed? */
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c
index 4a9bbe8f49c..84ed5a90c3b 100644
--- a/gcc/tree-vectorizer.c
+++ b/gcc/tree-vectorizer.c
@@ -91,7 +91,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
To vectorize stmt S2, the vectorizer first finds the stmt that defines
the operand 'b' (S1), and gets the relevant vector def 'vb' from the
- vector stmt VS1 pointed by STMT_VINFO_VEC_STMT (stmt_info (S1)). The
+ vector stmt VS1 pointed to by STMT_VINFO_VEC_STMT (stmt_info (S1)). The
resulting sequence would be:
VS1: vb = px[i];
@@ -179,6 +179,9 @@ unsigned int vect_loops_num;
/* Loop location. */
static LOC vect_loop_location;
+
+/* Bitmap of virtual variables to be renamed. */
+bitmap vect_vnames_to_rename;
/*************************************************************************
Simple Loop Peeling Utilities
@@ -511,6 +514,7 @@ slpeel_update_phi_nodes_for_guard1 (edge guard_edge, struct loop *loop,
basic_block orig_bb = loop->header;
edge new_exit_e;
tree current_new_name;
+ tree name;
/* Create new bb between loop and new_merge_bb. */
*new_exit_bb = split_edge (loop->single_exit);
@@ -522,6 +526,15 @@ slpeel_update_phi_nodes_for_guard1 (edge guard_edge, struct loop *loop,
orig_phi && update_phi;
orig_phi = PHI_CHAIN (orig_phi), update_phi = PHI_CHAIN (update_phi))
{
+ /* Virtual phi; Mark it for renaming. We actually want to call
+ mar_sym_for_renaming, but since all ssa renaming datastructures
+ are going to be freed before we get to call ssa_upate, we just
+ record this name for now in a bitmap, and will mark it for
+ renaming later. */
+ name = PHI_RESULT (orig_phi);
+ if (!is_gimple_reg (SSA_NAME_VAR (name)))
+ bitmap_set_bit (vect_vnames_to_rename, SSA_NAME_VERSION (name));
+
/** 1. Handle new-merge-point phis **/
/* 1.1. Generate new phi node in NEW_MERGE_BB: */
@@ -640,6 +653,10 @@ slpeel_update_phi_nodes_for_guard2 (edge guard_edge, struct loop *loop,
{
orig_phi = update_phi;
orig_def = PHI_ARG_DEF_FROM_EDGE (orig_phi, e);
+ /* This loop-closed-phi actually doesn't represent a use
+ out of the loop - the phi arg is a constant. */
+ if (TREE_CODE (orig_def) != SSA_NAME)
+ continue;
orig_def_new_name = get_current_def (orig_def);
arg = NULL_TREE;
@@ -845,7 +862,8 @@ slpeel_tree_duplicate_loop_to_edge_cfg (struct loop *loop, struct loops *loops,
new_bbs = xmalloc (sizeof (basic_block) * loop->num_nodes);
copy_bbs (bbs, loop->num_nodes, new_bbs,
- &loop->single_exit, 1, &new_loop->single_exit, NULL);
+ &loop->single_exit, 1, &new_loop->single_exit, NULL,
+ e->src);
/* Duplicating phi args at exit bbs as coming
also from exit of duplicated loop. */
@@ -2006,6 +2024,10 @@ vectorize_loops (struct loops *loops)
/* Fix the verbosity level if not defined explicitly by the user. */
vect_set_dump_settings ();
+ /* Allocate the bitmap that records which virtual variables that
+ need to be renamed. */
+ vect_vnames_to_rename = BITMAP_ALLOC (NULL);
+
/* ----------- Analyze loops. ----------- */
/* If some loop was duplicated, it gets bigger number
@@ -2037,6 +2059,8 @@ vectorize_loops (struct loops *loops)
/* ----------- Finalize. ----------- */
+ BITMAP_FREE (vect_vnames_to_rename);
+
for (i = 1; i < vect_loops_num; i++)
{
struct loop *loop = loops->parray[i];
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h
index 5fdca3d6502..be42b96dcba 100644
--- a/gcc/tree-vectorizer.h
+++ b/gcc/tree-vectorizer.h
@@ -263,6 +263,9 @@ extern enum verbosity_levels vect_verbosity_level;
/* Number of loops, at the beginning of vectorization. */
extern unsigned int vect_loops_num;
+/* Bitmap of virtual variables to be renamed. */
+extern bitmap vect_vnames_to_rename;
+
/*-----------------------------------------------------------------*/
/* Function prototypes. */
/*-----------------------------------------------------------------*/
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index e7d877d7d58..77ddd3a4d9e 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -915,12 +915,25 @@ vrp_int_const_binop (enum tree_code code, tree val1, tree val2)
on -INF and +INF. */
res = int_const_binop (code, val1, val2, 0);
+ if (TYPE_UNSIGNED (TREE_TYPE (val1)))
+ {
+ int checkz = compare_values (res, val1);
+
+ /* Ensure that res = val1 + val2 >= val1
+ or that res = val1 - val2 <= val1. */
+ if ((code == PLUS_EXPR && !(checkz == 1 || checkz == 0))
+ || (code == MINUS_EXPR && !(checkz == 0 || checkz == -1)))
+ {
+ res = copy_node (res);
+ TREE_OVERFLOW (res) = 1;
+ }
+ }
/* If the operation overflowed but neither VAL1 nor VAL2 are
overflown, return -INF or +INF depending on the operation
and the combination of signs of the operands. */
- if (TREE_OVERFLOW (res)
- && !TREE_OVERFLOW (val1)
- && !TREE_OVERFLOW (val2))
+ else if (TREE_OVERFLOW (res)
+ && !TREE_OVERFLOW (val1)
+ && !TREE_OVERFLOW (val2))
{
int sgn1 = tree_int_cst_sgn (val1);
int sgn2 = tree_int_cst_sgn (val2);
@@ -1136,7 +1149,8 @@ extract_range_from_binary_expr (value_range_t *vr, tree expr)
the new range. */
/* Divisions by zero result in a VARYING value. */
- if (code != MULT_EXPR && range_includes_zero_p (&vr1))
+ if (code != MULT_EXPR
+ && (vr0.type == VR_ANTI_RANGE || range_includes_zero_p (&vr1)))
{
set_value_range_to_varying (vr);
return;
@@ -1275,7 +1289,7 @@ extract_range_from_unary_expr (value_range_t *vr, tree expr)
/* Refuse to operate on varying and symbolic ranges. Also, if the
operand is neither a pointer nor an integral type, set the
resulting range to VARYING. TODO, in some cases we may be able
- to derive anti-ranges (like non-zero values). */
+ to derive anti-ranges (like nonzero values). */
if (vr0.type == VR_VARYING
|| (!INTEGRAL_TYPE_P (TREE_TYPE (op0))
&& !POINTER_TYPE_P (TREE_TYPE (op0)))
@@ -1353,27 +1367,31 @@ extract_range_from_unary_expr (value_range_t *vr, tree expr)
if (code == NEGATE_EXPR
&& !TYPE_UNSIGNED (TREE_TYPE (expr)))
{
- /* Negating an anti-range doesn't really do anything to it. The
- new range will also not take on the same range of values
- excluded by the original anti-range. */
- if (vr0.type == VR_ANTI_RANGE)
- {
- copy_value_range (vr, &vr0);
- return;
- }
-
/* NEGATE_EXPR flips the range around. */
- min = (vr0.max == TYPE_MAX_VALUE (TREE_TYPE (expr)))
- ? TYPE_MIN_VALUE (TREE_TYPE (expr))
- : fold_unary_to_constant (code, TREE_TYPE (expr), vr0.max);
+ min = (vr0.max == TYPE_MAX_VALUE (TREE_TYPE (expr)) && !flag_wrapv)
+ ? TYPE_MIN_VALUE (TREE_TYPE (expr))
+ : fold_unary_to_constant (code, TREE_TYPE (expr), vr0.max);
- max = (vr0.min == TYPE_MIN_VALUE (TREE_TYPE (expr)))
- ? TYPE_MAX_VALUE (TREE_TYPE (expr))
- : fold_unary_to_constant (code, TREE_TYPE (expr), vr0.min);
+ max = (vr0.min == TYPE_MIN_VALUE (TREE_TYPE (expr)) && !flag_wrapv)
+ ? TYPE_MAX_VALUE (TREE_TYPE (expr))
+ : fold_unary_to_constant (code, TREE_TYPE (expr), vr0.min);
}
else if (code == ABS_EXPR
&& !TYPE_UNSIGNED (TREE_TYPE (expr)))
{
+ /* -TYPE_MIN_VALUE = TYPE_MIN_VALUE with flag_wrapv so we can't get a
+ useful range. */
+ if (flag_wrapv
+ && ((vr0.type == VR_RANGE
+ && vr0.min == TYPE_MIN_VALUE (TREE_TYPE (expr)))
+ || (vr0.type == VR_ANTI_RANGE
+ && vr0.min != TYPE_MIN_VALUE (TREE_TYPE (expr))
+ && !range_includes_zero_p (&vr0))))
+ {
+ set_value_range_to_varying (vr);
+ return;
+ }
+
/* ABS_EXPR may flip the range around, if the original range
included negative values. */
min = (vr0.min == TYPE_MIN_VALUE (TREE_TYPE (expr)))
@@ -1382,12 +1400,58 @@ extract_range_from_unary_expr (value_range_t *vr, tree expr)
max = fold_unary_to_constant (code, TREE_TYPE (expr), vr0.max);
- /* If the range was reversed, swap MIN and MAX. */
- if (compare_values (min, max) == 1)
+ cmp = compare_values (min, max);
+
+ /* If a VR_ANTI_RANGEs contains zero, then we have
+ ~[-INF, min(MIN, MAX)]. */
+ if (vr0.type == VR_ANTI_RANGE)
+ {
+ if (range_includes_zero_p (&vr0))
+ {
+ tree type_min_value = TYPE_MIN_VALUE (TREE_TYPE (expr));
+
+ /* Take the lower of the two values. */
+ if (cmp != 1)
+ max = min;
+
+ /* Create ~[-INF, min (abs(MIN), abs(MAX))]
+ or ~[-INF + 1, min (abs(MIN), abs(MAX))] when
+ flag_wrapv is set and the original anti-range doesn't include
+ TYPE_MIN_VALUE, remember -TYPE_MIN_VALUE = TYPE_MIN_VALUE. */
+ min = (flag_wrapv && vr0.min != type_min_value
+ ? int_const_binop (PLUS_EXPR,
+ type_min_value,
+ integer_one_node, 0)
+ : type_min_value);
+ }
+ else
+ {
+ /* All else has failed, so create the range [0, INF], even for
+ flag_wrapv since TYPE_MIN_VALUE is in the original
+ anti-range. */
+ vr0.type = VR_RANGE;
+ min = build_int_cst (TREE_TYPE (expr), 0);
+ max = TYPE_MAX_VALUE (TREE_TYPE (expr));
+ }
+ }
+
+ /* If the range contains zero then we know that the minimum value in the
+ range will be zero. */
+ else if (range_includes_zero_p (&vr0))
{
- tree t = min;
- min = max;
- max = t;
+ if (cmp == 1)
+ max = min;
+ min = build_int_cst (TREE_TYPE (expr), 0);
+ }
+ else
+ {
+ /* If the range was reversed, swap MIN and MAX. */
+ if (cmp == 1)
+ {
+ tree t = min;
+ min = max;
+ max = t;
+ }
}
}
else
@@ -1470,29 +1534,31 @@ adjust_range_with_scev (value_range_t *vr, struct loop *loop, tree stmt,
tree var)
{
tree init, step, chrec;
- bool init_is_max;
+ bool init_is_max, unknown_max;
/* TODO. Don't adjust anti-ranges. An anti-range may provide
better opportunities than a regular range, but I'm not sure. */
if (vr->type == VR_ANTI_RANGE)
return;
- chrec = analyze_scalar_evolution (loop, var);
+ chrec = instantiate_parameters (loop, analyze_scalar_evolution (loop, var));
if (TREE_CODE (chrec) != POLYNOMIAL_CHREC)
return;
- init = CHREC_LEFT (chrec);
- step = CHREC_RIGHT (chrec);
+ init = initial_condition_in_loop_num (chrec, loop->num);
+ step = evolution_part_in_loop_num (chrec, loop->num);
/* If STEP is symbolic, we can't know whether INIT will be the
minimum or maximum value in the range. */
- if (!is_gimple_min_invariant (step))
+ if (step == NULL_TREE
+ || !is_gimple_min_invariant (step))
return;
/* Do not adjust ranges when chrec may wrap. */
if (scev_probably_wraps_p (chrec_type (chrec), init, step, stmt,
cfg_loops->parray[CHREC_VARIABLE (chrec)],
- &init_is_max))
+ &init_is_max, &unknown_max)
+ || unknown_max)
return;
if (!POINTER_TYPE_P (TREE_TYPE (init))
@@ -1703,9 +1769,8 @@ compare_range_with_value (enum tree_code comp, value_range_t *vr, tree val)
|| comp == LE_EXPR)
return NULL_TREE;
- /* ~[VAL, VAL] == VAL is always false. */
- if (compare_values (vr->min, val) == 0
- && compare_values (vr->max, val) == 0)
+ /* ~[VAL_1, VAL_2] OP VAL is known if VAL_1 <= VAL <= VAL_2. */
+ if (value_inside_range (val, vr) == 1)
return (comp == NE_EXPR) ? boolean_true_node : boolean_false_node;
return NULL_TREE;
@@ -2189,7 +2254,7 @@ register_new_assert_for (tree name,
/* Try to register an edge assertion for SSA name NAME on edge E for
- the conditional jump pointed by SI. Return true if an assertion
+ the conditional jump pointed to by SI. Return true if an assertion
for NAME could be registered. */
static bool
@@ -2747,9 +2812,7 @@ stmt_interesting_for_vrp (tree stmt)
}
-/* Initialize local data structures for VRP. Return true if VRP
- is worth running (i.e. if we found any statements that could
- benefit from range information). */
+/* Initialize local data structures for VRP. */
static void
vrp_initialize (void)
@@ -3297,6 +3360,8 @@ vrp_meet (value_range_t *vr0, value_range_t *vr1)
the two sets. */
if (vr0->equiv && vr1->equiv && vr0->equiv != vr1->equiv)
bitmap_and_into (vr0->equiv, vr1->equiv);
+ else if (vr0->equiv && !vr1->equiv)
+ bitmap_clear (vr0->equiv);
set_value_range (vr0, vr0->type, min, max, vr0->equiv);
}
@@ -3314,6 +3379,8 @@ vrp_meet (value_range_t *vr0, value_range_t *vr1)
the two sets. */
if (vr0->equiv && vr1->equiv && vr0->equiv != vr1->equiv)
bitmap_and_into (vr0->equiv, vr1->equiv);
+ else if (vr0->equiv && !vr1->equiv)
+ bitmap_clear (vr0->equiv);
}
else
goto no_meet;
@@ -3329,6 +3396,13 @@ vrp_meet (value_range_t *vr0, value_range_t *vr1)
{
if (vr1->type == VR_ANTI_RANGE)
copy_value_range (vr0, vr1);
+
+ /* The resulting set of equivalences is the intersection of
+ the two sets. */
+ if (vr0->equiv && vr1->equiv && vr0->equiv != vr1->equiv)
+ bitmap_and_into (vr0->equiv, vr1->equiv);
+ else if (vr0->equiv && !vr1->equiv)
+ bitmap_clear (vr0->equiv);
}
else
goto no_meet;
@@ -3492,7 +3566,7 @@ simplify_div_or_mod_using_ranges (tree stmt, tree rhs, enum tree_code rhs_code)
if (rhs_code == TRUNC_DIV_EXPR)
{
t = build_int_cst (NULL_TREE, tree_log2 (op1));
- t = build (RSHIFT_EXPR, TREE_TYPE (op0), op0, t);
+ t = build2 (RSHIFT_EXPR, TREE_TYPE (op0), op0, t);
}
else
{
@@ -3555,6 +3629,66 @@ simplify_abs_using_ranges (tree stmt, tree rhs)
}
}
+/* We are comparing trees OP0 and OP1 using COND_CODE. OP0 has
+ a known value range VR.
+
+ If there is one and only one value which will satisfy the
+ conditional, then return that value. Else return NULL. */
+
+static tree
+test_for_singularity (enum tree_code cond_code, tree op0,
+ tree op1, value_range_t *vr)
+{
+ tree min = NULL;
+ tree max = NULL;
+
+ /* Extract minimum/maximum values which satisfy the
+ the conditional as it was written. */
+ if (cond_code == LE_EXPR || cond_code == LT_EXPR)
+ {
+ min = TYPE_MIN_VALUE (TREE_TYPE (op0));
+
+ max = op1;
+ if (cond_code == LT_EXPR)
+ {
+ tree one = build_int_cst (TREE_TYPE (op0), 1);
+ max = fold_build2 (MINUS_EXPR, TREE_TYPE (op0), max, one);
+ }
+ }
+ else if (cond_code == GE_EXPR || cond_code == GT_EXPR)
+ {
+ max = TYPE_MAX_VALUE (TREE_TYPE (op0));
+
+ min = op1;
+ if (cond_code == GT_EXPR)
+ {
+ tree one = build_int_cst (TREE_TYPE (op0), 1);
+ max = fold_build2 (PLUS_EXPR, TREE_TYPE (op0), max, one);
+ }
+ }
+
+ /* Now refine the minimum and maximum values using any
+ value range information we have for op0. */
+ if (min && max)
+ {
+ if (compare_values (vr->min, min) == -1)
+ min = min;
+ else
+ min = vr->min;
+ if (compare_values (vr->max, max) == 1)
+ max = max;
+ else
+ max = vr->max;
+
+ /* If the new min/max values have converged to a
+ single value, then there is only one value which
+ can satisfy the condition, return that value. */
+ if (min == max && is_gimple_min_invariant (min))
+ return min;
+ }
+ return NULL;
+}
+
/* Simplify a conditional using a relational operator to an equality
test if the range information indicates only one value can satisfy
the original conditional. */
@@ -3579,58 +3713,56 @@ simplify_cond_using_ranges (tree stmt)
able to simplify this conditional. */
if (vr->type == VR_RANGE)
{
- tree min = NULL;
- tree max = NULL;
+ tree new = test_for_singularity (cond_code, op0, op1, vr);
- /* Extract minimum/maximum values which satisfy the
- the conditional as it was written. */
- if (cond_code == LE_EXPR || cond_code == LT_EXPR)
+ if (new)
{
- min = TYPE_MIN_VALUE (TREE_TYPE (op0));
-
- max = op1;
- if (cond_code == LT_EXPR)
+ if (dump_file)
{
- tree one = build_int_cst (TREE_TYPE (op0), 1);
- max = fold (build (MINUS_EXPR, TREE_TYPE (op0), max, one));
+ fprintf (dump_file, "Simplified relational ");
+ print_generic_expr (dump_file, cond, 0);
+ fprintf (dump_file, " into ");
}
- }
- else if (cond_code == GE_EXPR || cond_code == GT_EXPR)
- {
- max = TYPE_MAX_VALUE (TREE_TYPE (op0));
- min = op1;
- if (cond_code == GT_EXPR)
+ COND_EXPR_COND (stmt)
+ = build (EQ_EXPR, boolean_type_node, op0, new);
+ update_stmt (stmt);
+
+ if (dump_file)
{
- tree one = build_int_cst (TREE_TYPE (op0), 1);
- max = fold (build (PLUS_EXPR, TREE_TYPE (op0), max, one));
+ print_generic_expr (dump_file, COND_EXPR_COND (stmt), 0);
+ fprintf (dump_file, "\n");
}
+ return;
+
}
- /* Now refine the minimum and maximum values using any
- value range information we have for op0. */
- if (min && max)
+ /* Try again after inverting the condition. We only deal
+ with integral types here, so no need to worry about
+ issues with inverting FP comparisons. */
+ cond_code = invert_tree_comparison (cond_code, false);
+ new = test_for_singularity (cond_code, op0, op1, vr);
+
+ if (new)
{
- if (compare_values (vr->min, min) == -1)
- min = min;
- else
- min = vr->min;
- if (compare_values (vr->max, max) == 1)
- max = max;
- else
- max = vr->max;
-
- /* If the new min/max values have converged to a
- single value, then there is only one value which
- can satisfy the condition. Rewrite the condition
- to test for equality. */
- if (min == max
- && is_gimple_min_invariant (min))
+ if (dump_file)
{
- COND_EXPR_COND (stmt)
- = build (EQ_EXPR, boolean_type_node, op0, min);
- update_stmt (stmt);
+ fprintf (dump_file, "Simplified relational ");
+ print_generic_expr (dump_file, cond, 0);
+ fprintf (dump_file, " into ");
}
+
+ COND_EXPR_COND (stmt)
+ = build (NE_EXPR, boolean_type_node, op0, new);
+ update_stmt (stmt);
+
+ if (dump_file)
+ {
+ print_generic_expr (dump_file, COND_EXPR_COND (stmt), 0);
+ fprintf (dump_file, "\n");
+ }
+ return;
+
}
}
}
diff --git a/gcc/tree.c b/gcc/tree.c
index 35f1f2a8266..8a1e5433192 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -488,7 +488,7 @@ make_node_stat (enum tree_code code MEM_STAT_DECL)
case tcc_type:
TYPE_UID (t) = next_type_uid++;
- TYPE_ALIGN (t) = char_type_node ? TYPE_ALIGN (char_type_node) : 0;
+ TYPE_ALIGN (t) = BITS_PER_UNIT;
TYPE_USER_ALIGN (t) = 0;
TYPE_MAIN_VARIANT (t) = t;
@@ -883,7 +883,7 @@ cst_and_fits_in_hwi (tree x)
}
/* Return a new VECTOR_CST node whose type is TYPE and whose values
- are in a list pointed by VALS. */
+ are in a list pointed to by VALS. */
tree
build_vector (tree type, tree vals)
@@ -926,7 +926,7 @@ build_vector_from_ctor (tree type, VEC(constructor_elt,gc) *v)
}
/* Return a new CONSTRUCTOR node whose type is TYPE and whose values
- are in the VEC pointed by VALS. */
+ are in the VEC pointed to by VALS. */
tree
build_constructor (tree type, VEC(constructor_elt,gc) *vals)
{
@@ -1053,6 +1053,8 @@ build_string (int len, const char *str)
memset (s, 0, sizeof (struct tree_common));
TREE_SET_CODE (s, STRING_CST);
+ TREE_CONSTANT (s) = 1;
+ TREE_INVARIANT (s) = 1;
TREE_STRING_LENGTH (s) = len;
memcpy ((char *) TREE_STRING_POINTER (s), str, len);
((char *) TREE_STRING_POINTER (s))[len] = '\0';
@@ -4714,6 +4716,9 @@ build_pointer_type_for_mode (tree to_type, enum machine_mode mode,
{
tree t;
+ if (to_type == error_mark_node)
+ return error_mark_node;
+
/* In some cases, languages will have things that aren't a POINTER_TYPE
(such as a RECORD_TYPE for fat pointers in Ada) as TYPE_POINTER_TO.
In that case, return that type without regard to the rest of our
diff --git a/gcc/tree.def b/gcc/tree.def
index 00b130fbc24..c1348aac8b5 100644
--- a/gcc/tree.def
+++ b/gcc/tree.def
@@ -957,7 +957,7 @@ DEFTREECODE (REDUC_MAX_EXPR, "reduc_max_expr", tcc_unary, 1)
DEFTREECODE (REDUC_MIN_EXPR, "reduc_min_expr", tcc_unary, 1)
DEFTREECODE (REDUC_PLUS_EXPR, "reduc_plus_expr", tcc_unary, 1)
-/* Whole vector left/right shift in bytes.
+/* Whole vector left/right shift in bits.
Operand 0 is a vector to be shifted.
Operand 1 is an integer shift amount in bits. */
DEFTREECODE (VEC_LSHIFT_EXPR, "vec_lshift_expr", tcc_binary, 2)
diff --git a/gcc/tree.h b/gcc/tree.h
index 0b5a0d8fab4..55ad8d3376d 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -3555,7 +3555,7 @@ extern bool initializer_zerop (tree);
extern void categorize_ctor_elements (tree, HOST_WIDE_INT *, HOST_WIDE_INT *,
HOST_WIDE_INT *, bool *);
-extern HOST_WIDE_INT count_type_elements (tree);
+extern HOST_WIDE_INT count_type_elements (tree, bool);
/* add_var_to_bind_expr (bind_expr, var) binds var to bind_expr. */
@@ -3790,10 +3790,15 @@ extern tree fold (tree);
extern tree fold_unary (enum tree_code, tree, tree);
extern tree fold_binary (enum tree_code, tree, tree, tree);
extern tree fold_ternary (enum tree_code, tree, tree, tree, tree);
-extern tree fold_build1 (enum tree_code, tree, tree);
-extern tree fold_build2 (enum tree_code, tree, tree, tree);
-extern tree fold_build3 (enum tree_code, tree, tree, tree, tree);
-extern tree fold_initializer (tree);
+extern tree fold_build1_stat (enum tree_code, tree, tree MEM_STAT_DECL);
+#define fold_build1(c,t1,t2) fold_build1_stat (c, t1, t2 MEM_STAT_INFO)
+extern tree fold_build2_stat (enum tree_code, tree, tree, tree MEM_STAT_DECL);
+#define fold_build2(c,t1,t2,t3) fold_build2_stat (c, t1, t2, t3 MEM_STAT_INFO)
+extern tree fold_build3_stat (enum tree_code, tree, tree, tree, tree MEM_STAT_DECL);
+#define fold_build3(c,t1,t2,t3,t4) fold_build3_stat (c, t1, t2, t3, t4 MEM_STAT_INFO)
+extern tree fold_build1_initializer (enum tree_code, tree, tree);
+extern tree fold_build2_initializer (enum tree_code, tree, tree, tree);
+extern tree fold_build3_initializer (enum tree_code, tree, tree, tree, tree);
extern tree fold_convert (tree, tree);
extern tree fold_single_bit_test (enum tree_code, tree, tree, tree);
extern tree fold_ignored_result (tree);
@@ -3909,6 +3914,7 @@ extern void dump_tree_statistics (void);
extern void expand_function_end (void);
extern void expand_function_start (tree);
extern void stack_protect_prologue (void);
+extern void stack_protect_epilogue (void);
extern void recompute_tree_invarant_for_addr_expr (tree);
extern bool is_global_var (tree t);
extern bool needs_to_live_in_memory (tree);
diff --git a/gcc/treelang/ChangeLog b/gcc/treelang/ChangeLog
index 98b37f4b317..46f8872b580 100644
--- a/gcc/treelang/ChangeLog
+++ b/gcc/treelang/ChangeLog
@@ -1,3 +1,13 @@
+2005-08-07 James A. Morrison <phython@gcc.gnu.org>
+
+ * tree-convert.c (convert): Use fold_build1 instead of
+ fold (build1.
+
+2005-08-06 James A. Morrison <phython@gcc.gnu.org>
+
+ PR treelang/23072
+ * Make-lang.in: Remove old testing cruft.
+
2005-06-25 Kelley Cook <kcook@gcc.gnu.org>
* all files: Update FSF address in copyright headers.
diff --git a/gcc/treelang/Make-lang.in b/gcc/treelang/Make-lang.in
index 5b6d1224c4d..8e99dd770c2 100644
--- a/gcc/treelang/Make-lang.in
+++ b/gcc/treelang/Make-lang.in
@@ -295,7 +295,6 @@ treelang.check: $(TESTSUITEDIR)/site.exp
# these three files are empty and it seems diff has trouble generating
# patch files for new empty files as required for cvs.
# STAMP does not cut it here as I need an empty file.
- touch $(srcdir)/testsuite/treelang/{a01gcco01runpgmerr,a01gcc.out01,a01gcc.out01err}
-rootme=`${PWD_COMMAND}`; export rootme; \
srcdir=`cd ${srcdir}; ${PWD_COMMAND}` ; export srcdir ; \
cd testsuite; \
@@ -307,7 +306,6 @@ treelang.check: $(TESTSUITEDIR)/site.exp
PATH=`cd ..;${PWD_COMMAND}`:$$PATH; export PATH; \
gcc_extras="-B`cd ..;${PWD_COMMAND}` -B`cd ..;${PWD_COMMAND}`/treelang"; export gcc_extras; \
$(RUNTEST) --tool treelang $(RUNTESTFLAGS)
- rm $(srcdir)/testsuite/treelang/{a01gcco01runpgmerr,a01gcc.out01,a01gcc.out01err}
# copy the output files from the current test to source ie say the new results are OK
treelang.check.fix: force
diff --git a/gcc/treelang/tree-convert.c b/gcc/treelang/tree-convert.c
index 758b766b5b0..400c59c8df0 100644
--- a/gcc/treelang/tree-convert.c
+++ b/gcc/treelang/tree-convert.c
@@ -71,7 +71,7 @@ convert (tree type, tree expr)
return expr;
if (TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (TREE_TYPE (expr)))
- return fold (build1 (NOP_EXPR, type, expr));
+ return fold_build1 (NOP_EXPR, type, expr);
if (TREE_CODE (TREE_TYPE (expr)) == ERROR_MARK)
return error_mark_node;
if (TREE_CODE (TREE_TYPE (expr)) == VOID_TYPE)
@@ -89,9 +89,9 @@ convert (tree type, tree expr)
/* If it returns a NOP_EXPR, we must fold it here to avoid
infinite recursion between fold () and convert (). */
if (TREE_CODE (t) == NOP_EXPR)
- return fold (build1 (NOP_EXPR, type, TREE_OPERAND (t, 0)));
+ return fold_build1 (NOP_EXPR, type, TREE_OPERAND (t, 0));
else
- return fold (build1 (NOP_EXPR, type, t));
+ return fold_build1 (NOP_EXPR, type, t);
}
if (code == POINTER_TYPE || code == REFERENCE_TYPE)
return fold (convert_to_pointer (type, e));
diff --git a/gcc/value-prof.c b/gcc/value-prof.c
index f436b4a3efd..f08979020e9 100644
--- a/gcc/value-prof.c
+++ b/gcc/value-prof.c
@@ -42,6 +42,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
#include "gcov-io.h"
#include "timevar.h"
#include "tree-pass.h"
+#include "toplev.h"
static struct value_prof_hooks *value_prof_hooks;
@@ -61,6 +62,8 @@ static histogram_values static_values = NULL;
2) Speculative prefetching. If we are able to determine that the difference
between addresses accessed by a memory reference is usually constant, we
may add the prefetch instructions.
+ FIXME: This transformation was removed together with RTL based value
+ profiling.
Every such optimization should add its requirements for profiled values to
insn_values_to_profile function. This function is called from branch_prob
@@ -68,68 +71,12 @@ static histogram_values static_values = NULL;
compilation with -fprofile-arcs. The optimization may then read the
gathered data in the second compilation with -fbranch-probabilities.
- There are currently two versions, RTL-based and tree-based. Over time
- the RTL-based version may go away.
-
- In the RTL-based version, the measured data is appended as REG_VALUE_PROFILE
- note to the instrumented insn. The argument to the note consists of an
- EXPR_LIST where its members have the following meaning (from the first to
- the last):
-
- -- type of information gathered (HIST_TYPE*)
- -- the expression that is profiled
- -- list of counters starting from the first one.
-
- In the tree-based version, the measured data is pointed to from the histograms
+ The measured data is pointed to from the histograms
field of the statement annotation of the instrumented insns. It is
kept as a linked list of struct histogram_value_t's, which contain the
same information as above. */
-/* For speculative prefetching, the range in that we do not prefetch (because
- we assume that it will be in cache anyway). The asymmetry between min and
- max range is trying to reflect the fact that the sequential prefetching
- of the data is commonly done directly by hardware. Nevertheless, these
- values are just a guess and should of course be target-specific.
-
- FIXME: There is no tree form of speculative prefetching as yet.
-
- FIXME: A better approach to instrumentation in the profile-generation
- pass is to generate calls to magic library functions (to be added to
- libgcc) rather than inline code. This approach will probably be
- necessary to get tree-based speculative prefetching working in a useful
- fashion, as inline code bloats things so much the rest of the compiler has
- serious problems dealing with it (judging from the rtl behavior). */
-
-#ifndef NOPREFETCH_RANGE_MIN
-#define NOPREFETCH_RANGE_MIN (-16)
-#endif
-#ifndef NOPREFETCH_RANGE_MAX
-#define NOPREFETCH_RANGE_MAX 32
-#endif
-
-static void rtl_divmod_values_to_profile (rtx, histogram_values *);
-#ifdef HAVE_prefetch
-static bool insn_prefetch_values_to_profile (rtx, histogram_values *);
-static int find_mem_reference_1 (rtx *, void *);
-static void find_mem_reference_2 (rtx, rtx, void *);
-static bool find_mem_reference (rtx, rtx *, int *);
-#endif
-
-static void rtl_values_to_profile (rtx, histogram_values *);
-static rtx rtl_divmod_fixed_value (enum machine_mode, enum rtx_code, rtx, rtx,
- rtx, gcov_type, int);
-static rtx rtl_mod_pow2 (enum machine_mode, enum rtx_code, rtx, rtx, rtx, int);
-static rtx rtl_mod_subtract (enum machine_mode, enum rtx_code, rtx, rtx, rtx,
- int, int, int);
-#ifdef HAVE_prefetch
-static rtx gen_speculative_prefetch (rtx, gcov_type, int);
-#endif
-static bool rtl_divmod_fixed_value_transform (rtx);
-static bool rtl_mod_pow2_value_transform (rtx);
-static bool rtl_mod_subtract_transform (rtx);
-#ifdef HAVE_prefetch
-static bool speculative_prefetching_transform (rtx);
-#endif
+
static tree tree_divmod_fixed_value (tree, tree, tree, tree,
tree, int, gcov_type, gcov_type);
static tree tree_mod_pow2 (tree, tree, tree, tree, int, gcov_type, gcov_type);
@@ -139,889 +86,25 @@ static bool tree_divmod_fixed_value_transform (tree);
static bool tree_mod_pow2_value_transform (tree);
static bool tree_mod_subtract_transform (tree);
-
-/* Find values inside INSN for that we want to measure histograms for
- division/modulo optimization and stores them to VALUES. */
-static void
-rtl_divmod_values_to_profile (rtx insn, histogram_values *values)
-{
- rtx set, set_src, op1, op2;
- enum machine_mode mode;
- histogram_value hist;
-
- if (!INSN_P (insn))
- return;
-
- set = single_set (insn);
- if (!set)
- return;
-
- mode = GET_MODE (SET_DEST (set));
- if (!INTEGRAL_MODE_P (mode))
- return;
-
- set_src = SET_SRC (set);
- switch (GET_CODE (set_src))
- {
- case DIV:
- case MOD:
- case UDIV:
- case UMOD:
- op1 = XEXP (set_src, 0);
- op2 = XEXP (set_src, 1);
- if (side_effects_p (op2))
- return;
-
- /* Check for a special case where the divisor is power of 2. */
- if ((GET_CODE (set_src) == UMOD) && !CONSTANT_P (op2))
- {
- hist = ggc_alloc (sizeof (*hist));
- hist->hvalue.rtl.value = op2;
- hist->hvalue.rtl.seq = NULL_RTX;
- hist->hvalue.rtl.mode = mode;
- hist->hvalue.rtl.insn = insn;
- hist->type = HIST_TYPE_POW2;
- VEC_safe_push (histogram_value, heap, *values, hist);
- }
-
- /* Check whether the divisor is not in fact a constant. */
- if (!CONSTANT_P (op2))
- {
- hist = ggc_alloc (sizeof (*hist));
- hist->hvalue.rtl.value = op2;
- hist->hvalue.rtl.mode = mode;
- hist->hvalue.rtl.seq = NULL_RTX;
- hist->hvalue.rtl.insn = insn;
- hist->type = HIST_TYPE_SINGLE_VALUE;
- VEC_safe_push (histogram_value, heap, *values, hist);
- }
-
- /* For mod, check whether it is not often a noop (or replaceable by
- a few subtractions). */
- if (GET_CODE (set_src) == UMOD && !side_effects_p (op1))
- {
- rtx tmp;
-
- hist = ggc_alloc (sizeof (*hist));
- start_sequence ();
- tmp = simplify_gen_binary (DIV, mode, copy_rtx (op1), copy_rtx (op2));
- hist->hvalue.rtl.value = force_operand (tmp, NULL_RTX);
- hist->hvalue.rtl.seq = get_insns ();
- end_sequence ();
- hist->hvalue.rtl.mode = mode;
- hist->hvalue.rtl.insn = insn;
- hist->type = HIST_TYPE_INTERVAL;
- hist->hdata.intvl.int_start = 0;
- hist->hdata.intvl.steps = 2;
- VEC_safe_push (histogram_value, heap, *values, hist);
- }
- return;
-
- default:
- return;
- }
-}
-
-#ifdef HAVE_prefetch
-
-/* Called from find_mem_reference through for_each_rtx, finds a memory
- reference. I.e. if *EXPR is a MEM, the reference to this MEM is stored
- to *RET and the traversing of the expression is interrupted by returning 1.
- Otherwise 0 is returned. */
-
-static int
-find_mem_reference_1 (rtx *expr, void *ret)
-{
- rtx *mem = ret;
-
- if (MEM_P (*expr))
- {
- *mem = *expr;
- return 1;
- }
- return 0;
-}
-
-/* Called form find_mem_reference through note_stores to find out whether
- the memory reference MEM is a store. I.e. if EXPR == MEM, the variable
- FMR2_WRITE is set to true. */
-
-static int fmr2_write;
-static void
-find_mem_reference_2 (rtx expr, rtx pat ATTRIBUTE_UNUSED, void *mem)
-{
- if (expr == mem)
- fmr2_write = true;
-}
-
-/* Find a memory reference inside INSN, return it in MEM. Set WRITE to true
- if it is a write of the mem. Return false if no memory reference is found,
- true otherwise. */
-
-static bool
-find_mem_reference (rtx insn, rtx *mem, int *write)
-{
- *mem = NULL_RTX;
- for_each_rtx (&PATTERN (insn), find_mem_reference_1, mem);
-
- if (!*mem)
- return false;
-
- fmr2_write = false;
- note_stores (PATTERN (insn), find_mem_reference_2, *mem);
- *write = fmr2_write;
- return true;
-}
-
-/* Find values inside INSN for that we want to measure histograms for
- a speculative prefetching. Add them to the list VALUES.
- Returns true if such we found any such value, false otherwise. */
-
-static bool
-insn_prefetch_values_to_profile (rtx insn, histogram_values* values)
-{
- rtx mem, address;
- int write;
- histogram_value hist;
-
- /* It only makes sense to look for memory references in ordinary insns. */
- if (!NONJUMP_INSN_P (insn))
- return false;
-
- if (!find_mem_reference (insn, &mem, &write))
- return false;
-
- address = XEXP (mem, 0);
- if (side_effects_p (address))
- return false;
-
- if (CONSTANT_P (address))
- return false;
-
- hist = ggc_alloc (sizeof (*hist));
- hist->hvalue.rtl.value = address;
- hist->hvalue.rtl.mode = GET_MODE (address);
- hist->hvalue.rtl.seq = NULL_RTX;
- hist->hvalue.rtl.insn = insn;
- hist->type = HIST_TYPE_CONST_DELTA;
- VEC_safe_push (histogram_value, heap, *values, hist);
-
- return true;
-}
-#endif
-/* Find values inside INSN for that we want to measure histograms and adds
- them to list VALUES (increasing the record of its length in N_VALUES). */
-static void
-rtl_values_to_profile (rtx insn, histogram_values *values)
-{
- if (flag_value_profile_transformations)
- rtl_divmod_values_to_profile (insn, values);
-
-#ifdef HAVE_prefetch
- if (flag_speculative_prefetching)
- insn_prefetch_values_to_profile (insn, values);
-#endif
-}
-
-/* Find list of values for that we want to measure histograms. */
-static void
-rtl_find_values_to_profile (histogram_values *values)
-{
- rtx insn;
- unsigned i, libcall_level;
- histogram_value hist;
-
- life_analysis (NULL, PROP_DEATH_NOTES);
-
- *values = NULL;
- libcall_level = 0;
- for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
- rtl_values_to_profile (insn, values);
- static_values = *values;
-
- for (i = 0; VEC_iterate (histogram_value, *values, i, hist); i++)
- {
- switch (hist->type)
- {
- case HIST_TYPE_INTERVAL:
- if (dump_file)
- fprintf (dump_file,
- "Interval counter for insn %d, range %d -- %d.\n",
- INSN_UID ((rtx)hist->hvalue.rtl.insn),
- hist->hdata.intvl.int_start,
- (hist->hdata.intvl.int_start
- + hist->hdata.intvl.steps - 1));
- hist->n_counters = hist->hdata.intvl.steps + 2;
- break;
-
- case HIST_TYPE_POW2:
- if (dump_file)
- fprintf (dump_file,
- "Pow2 counter for insn %d.\n",
- INSN_UID ((rtx)hist->hvalue.rtl.insn));
- hist->n_counters = 2;
- break;
-
- case HIST_TYPE_SINGLE_VALUE:
- if (dump_file)
- fprintf (dump_file,
- "Single value counter for insn %d.\n",
- INSN_UID ((rtx)hist->hvalue.rtl.insn));
- hist->n_counters = 3;
- break;
-
- case HIST_TYPE_CONST_DELTA:
- if (dump_file)
- fprintf (dump_file,
- "Constant delta counter for insn %d.\n",
- INSN_UID ((rtx)hist->hvalue.rtl.insn));
- hist->n_counters = 4;
- break;
-
- default:
- gcc_unreachable ();
- }
- }
- allocate_reg_info (max_reg_num (), FALSE, FALSE);
-}
-
-/* Main entry point. Finds REG_VALUE_PROFILE notes from profiler and uses
- them to identify and exploit properties of values that are hard to analyze
- statically.
-
- We do following transformations:
-
- 1)
-
- x = a / b;
-
- where b is almost always a constant N is transformed to
-
- if (b == N)
- x = a / N;
- else
- x = a / b;
-
- Analogically with %
-
- 2)
-
- x = a % b
-
- where b is almost always a power of 2 and the division is unsigned
- TODO -- handle signed case as well
-
- if ((b & (b - 1)) == 0)
- x = a & (b - 1);
- else
- x = x % b;
-
- Note that when b = 0, no error will occur and x = a; this is correct,
- as result of such operation is undefined.
-
- 3)
-
- x = a % b
-
- where a is almost always less then b and the division is unsigned
- TODO -- handle signed case as well
-
- x = a;
- if (x >= b)
- x %= b;
-
- 4)
-
- x = a % b
-
- where a is almost always less then 2 * b and the division is unsigned
- TODO -- handle signed case as well
-
- x = a;
- if (x >= b)
- x -= b;
- if (x >= b)
- x %= b;
-
- It would be possible to continue analogically for K * b for other small
- K's, but it is probably not useful.
-
- 5)
-
- Read or write of mem[address], where the value of address changes usually
- by a constant C != 0 between the following accesses to the computation; with
- -fspeculative-prefetching we then add a prefetch of address + C before
- the insn. This handles prefetching of several interesting cases in addition
- to a simple prefetching for addresses that are induction variables, e. g.
- linked lists allocated sequentially (even in case they are processed
- recursively).
-
- TODO -- we should also check whether there is not (usually) a small
- difference with the adjacent memory references, so that we do
- not issue overlapping prefetches. Also we should employ some
- heuristics to eliminate cases where prefetching evidently spoils
- the code.
- -- it should somehow cooperate with the loop optimizer prefetching
-
- TODO:
-
- There are other useful cases that could be handled by a similar mechanism,
- for example:
-
- for (i = 0; i < n; i++)
- ...
-
- transform to (for constant N):
-
- if (n == N)
- for (i = 0; i < N; i++)
- ...
- else
- for (i = 0; i < n; i++)
- ...
- making unroller happy. Since this may grow the code significantly,
- we would have to be very careful here. */
-
+/* The overall number of invocations of the counter should match execution count
+ of basic block. Report it as error rather than internal error as it might
+ mean that user has misused the profile somehow. */
static bool
-rtl_value_profile_transformations (void)
+check_counter (tree stmt, const char * name, gcov_type all, gcov_type bb_count)
{
- rtx insn, next;
- int changed = false;
-
- for (insn = get_insns (); insn; insn = next)
+ if (all != bb_count)
{
- next = NEXT_INSN (insn);
-
- if (!INSN_P (insn))
- continue;
-
- /* Scan for insn carrying a histogram. */
- if (!find_reg_note (insn, REG_VALUE_PROFILE, 0))
- continue;
-
- /* Ignore cold areas -- we are growing a code. */
- if (!maybe_hot_bb_p (BLOCK_FOR_INSN (insn)))
- continue;
-
- if (dump_file)
- {
- fprintf (dump_file, "Trying transformations on insn %d\n",
- INSN_UID (insn));
- print_rtl_single (dump_file, insn);
- }
-
- /* Transformations: */
- if (flag_value_profile_transformations
- && (rtl_mod_subtract_transform (insn)
- || rtl_divmod_fixed_value_transform (insn)
- || rtl_mod_pow2_value_transform (insn)))
- changed = true;
-#ifdef HAVE_prefetch
- if (flag_speculative_prefetching
- && speculative_prefetching_transform (insn))
- changed = true;
-#endif
- }
-
- if (changed)
- {
- commit_edge_insertions ();
- allocate_reg_info (max_reg_num (), FALSE, FALSE);
- }
-
- return changed;
-}
-
-/* Generate code for transformation 1 (with MODE and OPERATION, operands OP1
- and OP2, whose value is expected to be VALUE, result TARGET and
- probability of taking the optimal path PROB). */
-static rtx
-rtl_divmod_fixed_value (enum machine_mode mode, enum rtx_code operation,
- rtx target, rtx op1, rtx op2, gcov_type value,
- int prob)
-{
- rtx tmp, tmp1, jump;
- rtx neq_label = gen_label_rtx ();
- rtx end_label = gen_label_rtx ();
- rtx sequence;
-
- start_sequence ();
-
- if (!REG_P (op2))
- {
- tmp = gen_reg_rtx (mode);
- emit_move_insn (tmp, copy_rtx (op2));
+ location_t * locus;
+ locus = (stmt != NULL && EXPR_HAS_LOCATION (stmt)
+ ? EXPR_LOCUS (stmt)
+ : &DECL_SOURCE_LOCATION (current_function_decl));
+ error ("%HCorrupted value profile: %s profiler overall count (%d) does not match BB count (%d)",
+ locus, name, (int)all, (int)bb_count);
+ return true;
}
- else
- tmp = op2;
-
- do_compare_rtx_and_jump (tmp, GEN_INT (value), NE, 0, mode, NULL_RTX,
- NULL_RTX, neq_label);
-
- /* Add branch probability to jump we just created. */
- jump = get_last_insn ();
- REG_NOTES (jump) = gen_rtx_EXPR_LIST (REG_BR_PROB,
- GEN_INT (REG_BR_PROB_BASE - prob),
- REG_NOTES (jump));
-
- tmp1 = simplify_gen_binary (operation, mode,
- copy_rtx (op1), GEN_INT (value));
- tmp1 = force_operand (tmp1, target);
- if (tmp1 != target)
- emit_move_insn (copy_rtx (target), copy_rtx (tmp1));
-
- emit_jump_insn (gen_jump (end_label));
- emit_barrier ();
-
- emit_label (neq_label);
- tmp1 = simplify_gen_binary (operation, mode,
- copy_rtx (op1), copy_rtx (tmp));
- tmp1 = force_operand (tmp1, target);
- if (tmp1 != target)
- emit_move_insn (copy_rtx (target), copy_rtx (tmp1));
-
- emit_label (end_label);
-
- sequence = get_insns ();
- end_sequence ();
- rebuild_jump_labels (sequence);
- return sequence;
+ return false;
}
-/* Do transform 1) on INSN if applicable. */
-static bool
-rtl_divmod_fixed_value_transform (rtx insn)
-{
- rtx set, set_src, set_dest, op1, op2, value, histogram;
- enum rtx_code code;
- enum machine_mode mode;
- gcov_type val, count, all;
- edge e;
- int prob;
-
- set = single_set (insn);
- if (!set)
- return false;
-
- set_src = SET_SRC (set);
- set_dest = SET_DEST (set);
- code = GET_CODE (set_src);
- mode = GET_MODE (set_dest);
-
- if (code != DIV && code != MOD && code != UDIV && code != UMOD)
- return false;
- op1 = XEXP (set_src, false);
- op2 = XEXP (set_src, 1);
-
- for (histogram = REG_NOTES (insn);
- histogram;
- histogram = XEXP (histogram, 1))
- if (REG_NOTE_KIND (histogram) == REG_VALUE_PROFILE
- && XEXP (XEXP (histogram, 0), 0) == GEN_INT (HIST_TYPE_SINGLE_VALUE))
- break;
-
- if (!histogram)
- return false;
-
- histogram = XEXP (XEXP (histogram, 0), 1);
- value = XEXP (histogram, 0);
- histogram = XEXP (histogram, 1);
- val = INTVAL (XEXP (histogram, 0));
- histogram = XEXP (histogram, 1);
- count = INTVAL (XEXP (histogram, 0));
- histogram = XEXP (histogram, 1);
- all = INTVAL (XEXP (histogram, 0));
-
- /* We require that count be at least half of all; this means
- that for the transformation to fire the value must be constant
- at least 50% of time (and 75% gives the guarantee of usage). */
- if (!rtx_equal_p (op2, value) || 2 * count < all)
- return false;
-
- if (dump_file)
- fprintf (dump_file, "Div/mod by constant transformation on insn %d\n",
- INSN_UID (insn));
-
- /* Compute probability of taking the optimal path. */
- prob = (count * REG_BR_PROB_BASE + all / 2) / all;
-
- e = split_block (BLOCK_FOR_INSN (insn), PREV_INSN (insn));
- delete_insn (insn);
-
- insert_insn_on_edge (
- rtl_divmod_fixed_value (mode, code, set_dest,
- op1, op2, val, prob), e);
-
- return true;
-}
-
-/* Generate code for transformation 2 (with MODE and OPERATION, operands OP1
- and OP2, result TARGET and probability of taking the optimal path PROB). */
-static rtx
-rtl_mod_pow2 (enum machine_mode mode, enum rtx_code operation, rtx target,
- rtx op1, rtx op2, int prob)
-{
- rtx tmp, tmp1, tmp2, tmp3, jump;
- rtx neq_label = gen_label_rtx ();
- rtx end_label = gen_label_rtx ();
- rtx sequence;
-
- start_sequence ();
-
- if (!REG_P (op2))
- {
- tmp = gen_reg_rtx (mode);
- emit_move_insn (tmp, copy_rtx (op2));
- }
- else
- tmp = op2;
-
- tmp1 = expand_simple_binop (mode, PLUS, tmp, constm1_rtx, NULL_RTX,
- 0, OPTAB_WIDEN);
- tmp2 = expand_simple_binop (mode, AND, tmp, tmp1, NULL_RTX,
- 0, OPTAB_WIDEN);
- do_compare_rtx_and_jump (tmp2, const0_rtx, NE, 0, mode, NULL_RTX,
- NULL_RTX, neq_label);
-
- /* Add branch probability to jump we just created. */
- jump = get_last_insn ();
- REG_NOTES (jump) = gen_rtx_EXPR_LIST (REG_BR_PROB,
- GEN_INT (REG_BR_PROB_BASE - prob),
- REG_NOTES (jump));
-
- tmp3 = expand_simple_binop (mode, AND, op1, tmp1, target,
- 0, OPTAB_WIDEN);
- if (tmp3 != target)
- emit_move_insn (copy_rtx (target), tmp3);
- emit_jump_insn (gen_jump (end_label));
- emit_barrier ();
-
- emit_label (neq_label);
- tmp1 = simplify_gen_binary (operation, mode, copy_rtx (op1), copy_rtx (tmp));
- tmp1 = force_operand (tmp1, target);
- if (tmp1 != target)
- emit_move_insn (target, tmp1);
-
- emit_label (end_label);
-
- sequence = get_insns ();
- end_sequence ();
- rebuild_jump_labels (sequence);
- return sequence;
-}
-
-/* Do transform 2) on INSN if applicable. */
-static bool
-rtl_mod_pow2_value_transform (rtx insn)
-{
- rtx set, set_src, set_dest, op1, op2, value, histogram;
- enum rtx_code code;
- enum machine_mode mode;
- gcov_type wrong_values, count;
- edge e;
- int all, prob;
-
- set = single_set (insn);
- if (!set)
- return false;
-
- set_src = SET_SRC (set);
- set_dest = SET_DEST (set);
- code = GET_CODE (set_src);
- mode = GET_MODE (set_dest);
-
- if (code != UMOD)
- return false;
- op1 = XEXP (set_src, 0);
- op2 = XEXP (set_src, 1);
-
- for (histogram = REG_NOTES (insn);
- histogram;
- histogram = XEXP (histogram, 1))
- if (REG_NOTE_KIND (histogram) == REG_VALUE_PROFILE
- && XEXP (XEXP (histogram, 0), 0) == GEN_INT (HIST_TYPE_POW2))
- break;
-
- if (!histogram)
- return false;
-
- histogram = XEXP (XEXP (histogram, 0), 1);
- value = XEXP (histogram, 0);
- histogram = XEXP (histogram, 1);
- wrong_values = INTVAL (XEXP (histogram, 0));
- histogram = XEXP (histogram, 1);
- count = INTVAL (XEXP (histogram, 0));
-
- if (!rtx_equal_p (op2, value))
- return false;
-
- /* We require that we hit a power of two at least half of all evaluations. */
- if (count < wrong_values)
- return false;
-
- if (dump_file)
- fprintf (dump_file, "Mod power of 2 transformation on insn %d\n",
- INSN_UID (insn));
-
- /* Compute probability of taking the optimal path. */
- all = count + wrong_values;
- prob = (count * REG_BR_PROB_BASE + all / 2) / all;
-
- e = split_block (BLOCK_FOR_INSN (insn), PREV_INSN (insn));
- delete_insn (insn);
-
- insert_insn_on_edge (
- rtl_mod_pow2 (mode, code, set_dest, op1, op2, prob), e);
-
- return true;
-}
-
-/* Generate code for transformations 3 and 4 (with MODE and OPERATION,
- operands OP1 and OP2, result TARGET, at most SUB subtractions, and
- probability of taking the optimal path(s) PROB1 and PROB2). */
-static rtx
-rtl_mod_subtract (enum machine_mode mode, enum rtx_code operation,
- rtx target, rtx op1, rtx op2, int sub, int prob1, int prob2)
-{
- rtx tmp, tmp1, jump;
- rtx end_label = gen_label_rtx ();
- rtx sequence;
- int i;
-
- start_sequence ();
-
- if (!REG_P (op2))
- {
- tmp = gen_reg_rtx (mode);
- emit_move_insn (tmp, copy_rtx (op2));
- }
- else
- tmp = op2;
-
- emit_move_insn (target, copy_rtx (op1));
- do_compare_rtx_and_jump (target, tmp, LTU, 0, mode, NULL_RTX,
- NULL_RTX, end_label);
-
- /* Add branch probability to jump we just created. */
- jump = get_last_insn ();
- REG_NOTES (jump) = gen_rtx_EXPR_LIST (REG_BR_PROB,
- GEN_INT (prob1), REG_NOTES (jump));
-
- for (i = 0; i < sub; i++)
- {
- tmp1 = expand_simple_binop (mode, MINUS, target, tmp, target,
- 0, OPTAB_WIDEN);
- if (tmp1 != target)
- emit_move_insn (target, tmp1);
- do_compare_rtx_and_jump (target, tmp, LTU, 0, mode, NULL_RTX,
- NULL_RTX, end_label);
-
- /* Add branch probability to jump we just created. */
- jump = get_last_insn ();
- REG_NOTES (jump) = gen_rtx_EXPR_LIST (REG_BR_PROB,
- GEN_INT (prob2), REG_NOTES (jump));
- }
-
- tmp1 = simplify_gen_binary (operation, mode, copy_rtx (target), copy_rtx (tmp));
- tmp1 = force_operand (tmp1, target);
- if (tmp1 != target)
- emit_move_insn (target, tmp1);
-
- emit_label (end_label);
-
- sequence = get_insns ();
- end_sequence ();
- rebuild_jump_labels (sequence);
- return sequence;
-}
-
-/* Do transforms 3) and 4) on INSN if applicable. */
-static bool
-rtl_mod_subtract_transform (rtx insn)
-{
- rtx set, set_src, set_dest, op1, op2, histogram;
- enum rtx_code code;
- enum machine_mode mode;
- gcov_type wrong_values, counts[2], count, all;
- edge e;
- int i, prob1, prob2;
-
- set = single_set (insn);
- if (!set)
- return false;
-
- set_src = SET_SRC (set);
- set_dest = SET_DEST (set);
- code = GET_CODE (set_src);
- mode = GET_MODE (set_dest);
-
- if (code != UMOD)
- return false;
- op1 = XEXP (set_src, 0);
- op2 = XEXP (set_src, 1);
-
- for (histogram = REG_NOTES (insn);
- histogram;
- histogram = XEXP (histogram, 1))
- if (REG_NOTE_KIND (histogram) == REG_VALUE_PROFILE
- && XEXP (XEXP (histogram, 0), 0) == GEN_INT (HIST_TYPE_INTERVAL))
- break;
-
- if (!histogram)
- return false;
-
- histogram = XEXP (XEXP (histogram, 0), 1);
- histogram = XEXP (histogram, 1);
-
- all = 0;
- for (i = 0; i < 2; i++)
- {
- counts[i] = INTVAL (XEXP (histogram, 0));
- all += counts[i];
- histogram = XEXP (histogram, 1);
- }
- wrong_values = INTVAL (XEXP (histogram, 0));
- histogram = XEXP (histogram, 1);
- wrong_values += INTVAL (XEXP (histogram, 0));
- all += wrong_values;
-
- /* We require that we use just subtractions in at least 50% of all
- evaluations. */
- count = 0;
- for (i = 0; i < 2; i++)
- {
- count += counts[i];
- if (count * 2 >= all)
- break;
- }
-
- if (i == 2)
- return false;
-
- if (dump_file)
- fprintf (dump_file, "Mod subtract transformation on insn %d\n",
- INSN_UID (insn));
-
- /* Compute probability of taking the optimal path(s). */
- prob1 = (counts[0] * REG_BR_PROB_BASE + all / 2) / all;
- prob2 = (counts[1] * REG_BR_PROB_BASE + all / 2) / all;
-
- e = split_block (BLOCK_FOR_INSN (insn), PREV_INSN (insn));
- delete_insn (insn);
-
- insert_insn_on_edge (
- rtl_mod_subtract (mode, code, set_dest,
- op1, op2, i, prob1, prob2), e);
-
- return true;
-}
-
-#ifdef HAVE_prefetch
-/* Generate code for transformation 5 for mem with ADDRESS and a constant
- step DELTA. WRITE is true if the reference is a store to mem. */
-
-static rtx
-gen_speculative_prefetch (rtx address, gcov_type delta, int write)
-{
- rtx tmp;
- rtx sequence;
-
- /* TODO: we do the prefetching for just one iteration ahead, which
- often is not enough. */
- start_sequence ();
- if (offsettable_address_p (0, VOIDmode, address))
- tmp = plus_constant (copy_rtx (address), delta);
- else
- {
- tmp = simplify_gen_binary (PLUS, Pmode,
- copy_rtx (address), GEN_INT (delta));
- tmp = force_operand (tmp, NULL);
- }
- if (! (*insn_data[(int)CODE_FOR_prefetch].operand[0].predicate)
- (tmp, insn_data[(int)CODE_FOR_prefetch].operand[0].mode))
- tmp = force_reg (Pmode, tmp);
- emit_insn (gen_prefetch (tmp, GEN_INT (write), GEN_INT (3)));
- sequence = get_insns ();
- end_sequence ();
-
- return sequence;
-}
-
-/* Do transform 5) on INSN if applicable. */
-
-static bool
-speculative_prefetching_transform (rtx insn)
-{
- rtx histogram, value;
- gcov_type val, count, all;
- edge e;
- rtx mem, address;
- int write;
-
- if (!maybe_hot_bb_p (BLOCK_FOR_INSN (insn)))
- return false;
-
- if (!find_mem_reference (insn, &mem, &write))
- return false;
-
- address = XEXP (mem, 0);
- if (side_effects_p (address))
- return false;
-
- if (CONSTANT_P (address))
- return false;
-
- for (histogram = REG_NOTES (insn);
- histogram;
- histogram = XEXP (histogram, 1))
- if (REG_NOTE_KIND (histogram) == REG_VALUE_PROFILE
- && XEXP (XEXP (histogram, 0), 0) == GEN_INT (HIST_TYPE_CONST_DELTA))
- break;
-
- if (!histogram)
- return false;
-
- histogram = XEXP (XEXP (histogram, 0), 1);
- value = XEXP (histogram, 0);
- histogram = XEXP (histogram, 1);
- /* Skip last value referenced. */
- histogram = XEXP (histogram, 1);
- val = INTVAL (XEXP (histogram, 0));
- histogram = XEXP (histogram, 1);
- count = INTVAL (XEXP (histogram, 0));
- histogram = XEXP (histogram, 1);
- all = INTVAL (XEXP (histogram, 0));
-
- /* With that few executions we do not really have a reason to optimize the
- statement, and more importantly, the data about differences of addresses
- are spoiled by the first item that had no previous value to compare
- with. */
- if (all < 4)
- return false;
-
- /* We require that count be at least half of all; this means
- that for the transformation to fire the value must be constant
- at least 50% of time (and 75% gives the guarantee of usage). */
- if (!rtx_equal_p (address, value) || 2 * count < all)
- return false;
-
- /* If the difference is too small, it does not make too much sense to
- prefetch, as the memory is probably already in cache. */
- if (val >= NOPREFETCH_RANGE_MIN && val <= NOPREFETCH_RANGE_MAX)
- return false;
-
- if (dump_file)
- fprintf (dump_file, "Speculative prefetching for insn %d\n",
- INSN_UID (insn));
-
- e = split_block (BLOCK_FOR_INSN (insn), PREV_INSN (insn));
-
- insert_insn_on_edge (gen_speculative_prefetch (address, val, write), e);
-
- return true;
-}
-#endif /* HAVE_prefetch */
-
/* Tree based transformations. */
static bool
tree_value_profile_transformations (void)
@@ -1070,8 +153,8 @@ tree_value_profile_transformations (void)
/* Free extra storage from compute_value_histograms. */
while (th)
{
- free (th->hvalue.tree.counters);
- th = th->hvalue.tree.next;
+ free (th->hvalue.counters);
+ th = th->hvalue.next;
}
ann->histograms = 0;
}
@@ -1205,17 +288,17 @@ tree_divmod_fixed_value_transform (tree stmt)
if (!ann->histograms)
return false;
- for (histogram = ann->histograms; histogram; histogram = histogram->hvalue.tree.next)
+ for (histogram = ann->histograms; histogram; histogram = histogram->hvalue.next)
if (histogram->type == HIST_TYPE_SINGLE_VALUE)
break;
if (!histogram)
return false;
- value = histogram->hvalue.tree.value;
- val = histogram->hvalue.tree.counters[0];
- count = histogram->hvalue.tree.counters[1];
- all = histogram->hvalue.tree.counters[2];
+ value = histogram->hvalue.value;
+ val = histogram->hvalue.counters[0];
+ count = histogram->hvalue.counters[1];
+ all = histogram->hvalue.counters[2];
/* We require that count is at least half of all; this means
that for the transformation to fire the value must be constant
@@ -1223,6 +306,9 @@ tree_divmod_fixed_value_transform (tree stmt)
if (simple_cst_equal (op2, value) != 1 || 2 * count < all)
return false;
+ if (check_counter (stmt, "value", all, bb_for_stmt (stmt)->count))
+ return false;
+
/* Compute probability of taking the optimal path. */
prob = (count * REG_BR_PROB_BASE + all / 2) / all;
@@ -1371,16 +457,16 @@ tree_mod_pow2_value_transform (tree stmt)
if (!ann->histograms)
return false;
- for (histogram = ann->histograms; histogram; histogram = histogram->hvalue.tree.next)
+ for (histogram = ann->histograms; histogram; histogram = histogram->hvalue.next)
if (histogram->type == HIST_TYPE_POW2)
break;
if (!histogram)
return false;
- value = histogram->hvalue.tree.value;
- wrong_values = histogram->hvalue.tree.counters[0];
- count = histogram->hvalue.tree.counters[1];
+ value = histogram->hvalue.value;
+ wrong_values = histogram->hvalue.counters[0];
+ count = histogram->hvalue.counters[1];
/* We require that we hit a power of 2 at least half of all evaluations. */
if (simple_cst_equal (op2, value) != 1 || count < wrong_values)
@@ -1394,6 +480,9 @@ tree_mod_pow2_value_transform (tree stmt)
/* Compute probability of taking the optimal path. */
all = count + wrong_values;
+ if (check_counter (stmt, "pow2", all, bb_for_stmt (stmt)->count))
+ return false;
+
prob = (count * REG_BR_PROB_BASE + all / 2) / all;
result = tree_mod_pow2 (stmt, op, op1, op2, prob, count, all);
@@ -1551,29 +640,33 @@ tree_mod_subtract_transform (tree stmt)
if (!ann->histograms)
return false;
- for (histogram = ann->histograms; histogram; histogram = histogram->hvalue.tree.next)
+ for (histogram = ann->histograms; histogram; histogram = histogram->hvalue.next)
if (histogram->type == HIST_TYPE_INTERVAL)
break;
if (!histogram)
return false;
- value = histogram->hvalue.tree.value;
+ value = histogram->hvalue.value;
all = 0;
wrong_values = 0;
for (i = 0; i < histogram->hdata.intvl.steps; i++)
- all += histogram->hvalue.tree.counters[i];
+ all += histogram->hvalue.counters[i];
- wrong_values += histogram->hvalue.tree.counters[i];
- wrong_values += histogram->hvalue.tree.counters[i+1];
+ wrong_values += histogram->hvalue.counters[i];
+ wrong_values += histogram->hvalue.counters[i+1];
all += wrong_values;
+ /* Compute probability of taking the optimal path. */
+ if (check_counter (stmt, "interval", all, bb_for_stmt (stmt)->count))
+ return false;
+
/* We require that we use just subtractions in at least 50% of all
evaluations. */
count = 0;
for (i = 0; i < histogram->hdata.intvl.steps; i++)
{
- count += histogram->hvalue.tree.counters[i];
+ count += histogram->hvalue.counters[i];
if (count * 2 >= all)
break;
}
@@ -1587,22 +680,20 @@ tree_mod_subtract_transform (tree stmt)
}
/* Compute probability of taking the optimal path(s). */
- prob1 = (histogram->hvalue.tree.counters[0] * REG_BR_PROB_BASE + all / 2) / all;
- prob2 = (histogram->hvalue.tree.counters[1] * REG_BR_PROB_BASE + all / 2) / all;
+ prob1 = (histogram->hvalue.counters[0] * REG_BR_PROB_BASE + all / 2) / all;
+ prob2 = (histogram->hvalue.counters[1] * REG_BR_PROB_BASE + all / 2) / all;
/* In practice, "steps" is always 2. This interface reflects this,
and will need to be changed if "steps" can change. */
result = tree_mod_subtract (stmt, op, op1, op2, prob1, prob2, i,
- histogram->hvalue.tree.counters[0],
- histogram->hvalue.tree.counters[1], all);
+ histogram->hvalue.counters[0],
+ histogram->hvalue.counters[1], all);
TREE_OPERAND (modify, 1) = result;
return true;
}
-
-/* Connection to the outside world. */
-/* Struct for IR-dependent hooks. */
+
struct value_prof_hooks {
/* Find list of values for which we want to measure histograms. */
void (*find_values_to_profile) (histogram_values *);
@@ -1611,20 +702,6 @@ struct value_prof_hooks {
statically. See value-prof.c for more detail. */
bool (*value_profile_transformations) (void);
};
-
-/* Hooks for RTL-based versions (the only ones that currently work). */
-static struct value_prof_hooks rtl_value_prof_hooks =
-{
- rtl_find_values_to_profile,
- rtl_value_profile_transformations
-};
-
-void
-rtl_register_value_prof_hooks (void)
-{
- value_prof_hooks = &rtl_value_prof_hooks;
- gcc_assert (!ir_type ());
-}
/* Find values inside STMT for that we want to measure histograms for
division/modulo optimization. */
@@ -1662,8 +739,8 @@ tree_divmod_values_to_profile (tree stmt, histogram_values *values)
/* Check for the case where the divisor is the same value most
of the time. */
hist = ggc_alloc (sizeof (*hist));
- hist->hvalue.tree.value = divisor;
- hist->hvalue.tree.stmt = stmt;
+ hist->hvalue.value = divisor;
+ hist->hvalue.stmt = stmt;
hist->type = HIST_TYPE_SINGLE_VALUE;
VEC_quick_push (histogram_value, *values, hist);
}
@@ -1675,14 +752,14 @@ tree_divmod_values_to_profile (tree stmt, histogram_values *values)
{
/* Check for a special case where the divisor is power of 2. */
hist = ggc_alloc (sizeof (*hist));
- hist->hvalue.tree.value = divisor;
- hist->hvalue.tree.stmt = stmt;
+ hist->hvalue.value = divisor;
+ hist->hvalue.stmt = stmt;
hist->type = HIST_TYPE_POW2;
VEC_quick_push (histogram_value, *values, hist);
hist = ggc_alloc (sizeof (*hist));
- hist->hvalue.tree.stmt = stmt;
- hist->hvalue.tree.value
+ hist->hvalue.stmt = stmt;
+ hist->hvalue.value
= build2 (TRUNC_DIV_EXPR, type, op0, divisor);
hist->type = HIST_TYPE_INTERVAL;
hist->hdata.intvl.int_start = 0;
@@ -1728,7 +805,7 @@ tree_find_values_to_profile (histogram_values *values)
if (dump_file)
{
fprintf (dump_file, "Interval counter for tree ");
- print_generic_expr (dump_file, hist->hvalue.tree.stmt,
+ print_generic_expr (dump_file, hist->hvalue.stmt,
TDF_SLIM);
fprintf (dump_file, ", range %d -- %d.\n",
hist->hdata.intvl.int_start,
@@ -1742,7 +819,7 @@ tree_find_values_to_profile (histogram_values *values)
if (dump_file)
{
fprintf (dump_file, "Pow2 counter for tree ");
- print_generic_expr (dump_file, hist->hvalue.tree.stmt, TDF_SLIM);
+ print_generic_expr (dump_file, hist->hvalue.stmt, TDF_SLIM);
fprintf (dump_file, ".\n");
}
hist->n_counters = 2;
@@ -1752,7 +829,7 @@ tree_find_values_to_profile (histogram_values *values)
if (dump_file)
{
fprintf (dump_file, "Single value counter for tree ");
- print_generic_expr (dump_file, hist->hvalue.tree.stmt, TDF_SLIM);
+ print_generic_expr (dump_file, hist->hvalue.stmt, TDF_SLIM);
fprintf (dump_file, ".\n");
}
hist->n_counters = 3;
@@ -1762,7 +839,7 @@ tree_find_values_to_profile (histogram_values *values)
if (dump_file)
{
fprintf (dump_file, "Constant delta counter for tree ");
- print_generic_expr (dump_file, hist->hvalue.tree.stmt, TDF_SLIM);
+ print_generic_expr (dump_file, hist->hvalue.stmt, TDF_SLIM);
fprintf (dump_file, ".\n");
}
hist->n_counters = 4;
@@ -1801,39 +878,4 @@ value_profile_transformations (void)
return retval;
}
-static bool
-gate_handle_value_profile_transformations (void)
-{
- return flag_branch_probabilities
- && flag_profile_values
- && !flag_tree_based_profiling
- && (flag_value_profile_transformations
- || flag_speculative_prefetching);
-}
-
-
-/* Do optimizations based on expression value profiles. */
-static void
-rest_of_handle_value_profile_transformations (void)
-{
- if (value_profile_transformations ())
- cleanup_cfg (CLEANUP_EXPENSIVE);
-}
-
-struct tree_opt_pass pass_value_profile_transformations =
-{
- "vpt", /* name */
- gate_handle_value_profile_transformations, /* gate */
- rest_of_handle_value_profile_transformations, /* execute */
- NULL, /* sub */
- NULL, /* next */
- 0, /* static_pass_number */
- TV_VPT, /* tv_id */
- 0, /* properties_required */
- 0, /* properties_provided */
- 0, /* properties_destroyed */
- 0, /* todo_flags_start */
- TODO_dump_func, /* todo_flags_finish */
- 'V' /* letter */
-};
diff --git a/gcc/value-prof.h b/gcc/value-prof.h
index 2a1191daaf2..f54b355ae9a 100644
--- a/gcc/value-prof.h
+++ b/gcc/value-prof.h
@@ -40,22 +40,12 @@ enum hist_type
/* The value to measure. */
struct histogram_value_t
{
- union
+ struct
{
- struct
- {
- rtx value; /* The value to profile. */
- rtx seq; /* Insns required to count the profiled value. */
- rtx insn; /* Insn before that to measure. */
- enum machine_mode mode; /* Mode of value to profile. */
- } rtl;
- struct
- {
- tree value; /* The value to profile. */
- tree stmt; /* Insn containing the value. */
- gcov_type *counters; /* Pointer to first counter. */
- struct histogram_value_t *next; /* Linked list pointer. */
- } tree;
+ tree value; /* The value to profile. */
+ tree stmt; /* Insn containing the value. */
+ gcov_type *counters; /* Pointer to first counter. */
+ struct histogram_value_t *next; /* Linked list pointer. */
} hvalue;
enum hist_type type; /* Type of information to measure. */
unsigned n_counters; /* Number of required counters. */
@@ -77,7 +67,6 @@ DEF_VEC_ALLOC_P(histogram_value,heap);
typedef VEC(histogram_value,heap) *histogram_values;
/* Hooks registration. */
-extern void rtl_register_value_prof_hooks (void);
extern void tree_register_value_prof_hooks (void);
/* IR-independent entry points. */
@@ -113,13 +102,9 @@ extern void init_branch_prob (void);
extern void branch_prob (void);
extern void end_branch_prob (void);
extern void tree_register_profile_hooks (void);
-extern void rtl_register_profile_hooks (void);
/* In tree-profile.c. */
extern struct profile_hooks tree_profile_hooks;
-/* In rtl-profile.c. */
-extern struct profile_hooks rtl_profile_hooks;
-
#endif /* GCC_VALUE_PROF_H */
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 3ef81468850..a85f659c32a 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -844,7 +844,8 @@ decode_reg_name (const char *asmspec)
= ADDITIONAL_REGISTER_NAMES;
for (i = 0; i < (int) ARRAY_SIZE (table); i++)
- if (! strcmp (asmspec, table[i].name))
+ if (table[i].name[0]
+ && ! strcmp (asmspec, table[i].name))
return table[i].number;
}
#endif /* ADDITIONAL_REGISTER_NAMES */
@@ -1274,11 +1275,13 @@ assemble_start_function (tree decl, const char *fnname)
unlikely_text_section ();
assemble_align (FUNCTION_BOUNDARY);
ASM_OUTPUT_LABEL (asm_out_file, cfun->cold_section_label);
- if (BB_PARTITION (ENTRY_BLOCK_PTR->next_bb) == BB_COLD_PARTITION)
+
+ /* When the function starts with a cold section, we need to explicitly
+ align the hot section and write out the hot section label.
+ But if the current function is a thunk, we do not have a CFG. */
+ if (!current_function_is_thunk
+ && BB_PARTITION (ENTRY_BLOCK_PTR->next_bb) == BB_COLD_PARTITION)
{
- /* Since the function starts with a cold section, we need to
- explicitly align the hot section and write out the hot
- section label. */
text_section ();
assemble_align (FUNCTION_BOUNDARY);
ASM_OUTPUT_LABEL (asm_out_file, cfun->hot_section_label);
@@ -1361,7 +1364,10 @@ assemble_start_function (tree decl, const char *fnname)
ASM_OUTPUT_LABEL (asm_out_file, fnname);
#endif /* ASM_DECLARE_FUNCTION_NAME */
- insert_section_boundary_note ();
+ /* Add NOTE_INSN_SWITCH_TEXT_SECTIONS notes. Don't do this if the current
+ function is a thunk, because we don't have a CFG in that case. */
+ if (!current_function_is_thunk)
+ insert_section_boundary_note ();
}
/* Output assembler code associated with defining the size of the
@@ -3841,12 +3847,46 @@ output_constant (tree exp, unsigned HOST_WIDE_INT size, unsigned int align)
if (size == 0 || flag_syntax_only)
return;
+ /* See if we're trying to intialize a pointer in a non-default mode
+ to the address of some declaration somewhere. If the target says
+ the mode is valid for pointers, assume the target has a way of
+ resolving it. */
+ if (TREE_CODE (exp) == NOP_EXPR
+ && POINTER_TYPE_P (TREE_TYPE (exp))
+ && targetm.valid_pointer_mode (TYPE_MODE (TREE_TYPE (exp))))
+ {
+ tree saved_type = TREE_TYPE (exp);
+
+ /* Peel off any intermediate conversions-to-pointer for valid
+ pointer modes. */
+ while (TREE_CODE (exp) == NOP_EXPR
+ && POINTER_TYPE_P (TREE_TYPE (exp))
+ && targetm.valid_pointer_mode (TYPE_MODE (TREE_TYPE (exp))))
+ exp = TREE_OPERAND (exp, 0);
+
+ /* If what we're left with is the address of something, we can
+ convert the address to the final type and output it that
+ way. */
+ if (TREE_CODE (exp) == ADDR_EXPR)
+ exp = build1 (ADDR_EXPR, saved_type, TREE_OPERAND (exp, 0));
+ }
+
/* Eliminate any conversions since we'll be outputting the underlying
constant. */
while (TREE_CODE (exp) == NOP_EXPR || TREE_CODE (exp) == CONVERT_EXPR
|| TREE_CODE (exp) == NON_LVALUE_EXPR
|| TREE_CODE (exp) == VIEW_CONVERT_EXPR)
- exp = TREE_OPERAND (exp, 0);
+ {
+ HOST_WIDE_INT type_size = int_size_in_bytes (TREE_TYPE (exp));
+ HOST_WIDE_INT op_size = int_size_in_bytes (TREE_TYPE (TREE_OPERAND (exp, 0)));
+
+ /* Make sure eliminating the conversion is really a no-op. */
+ if (type_size != op_size)
+ internal_error ("no-op convert from %wd to %wd bytes in initializer",
+ op_size, type_size);
+
+ exp = TREE_OPERAND (exp, 0);
+ }
code = TREE_CODE (TREE_TYPE (exp));
thissize = int_size_in_bytes (TREE_TYPE (exp));
@@ -5012,47 +5052,7 @@ default_select_section (tree decl, int reloc,
data_section ();
}
-/* A helper function for default_elf_select_section and
- default_elf_unique_section. Categorizes the DECL. */
-
enum section_category
-{
- SECCAT_TEXT,
-
- SECCAT_RODATA,
- SECCAT_RODATA_MERGE_STR,
- SECCAT_RODATA_MERGE_STR_INIT,
- SECCAT_RODATA_MERGE_CONST,
- SECCAT_SRODATA,
-
- SECCAT_DATA,
-
- /* To optimize loading of shared programs, define following subsections
- of data section:
- _REL Contains data that has relocations, so they get grouped
- together and dynamic linker will visit fewer pages in memory.
- _RO Contains data that is otherwise read-only. This is useful
- with prelinking as most relocations won't be dynamically
- linked and thus stay read only.
- _LOCAL Marks data containing relocations only to local objects.
- These relocations will get fully resolved by prelinking. */
- SECCAT_DATA_REL,
- SECCAT_DATA_REL_LOCAL,
- SECCAT_DATA_REL_RO,
- SECCAT_DATA_REL_RO_LOCAL,
-
- SECCAT_SDATA,
- SECCAT_TDATA,
-
- SECCAT_BSS,
- SECCAT_SBSS,
- SECCAT_TBSS
-};
-
-static enum section_category
-categorize_decl_for_section (tree, int, int);
-
-static enum section_category
categorize_decl_for_section (tree decl, int reloc, int shlib)
{
enum section_category ret;
diff --git a/gcc/vec.h b/gcc/vec.h
index 14fcda4c271..586797a6eec 100644
--- a/gcc/vec.h
+++ b/gcc/vec.h
@@ -151,7 +151,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
/* Check if vector is empty
int VEC_T_empty(const VEC(T) *v);
- Return non-zero if V is an empty vector (or V is NULL), zero otherwise. */
+ Return nonzero if V is an empty vector (or V is NULL), zero otherwise. */
#define VEC_empty(T,V) (VEC_length (T,V) == 0)
diff --git a/include/ChangeLog b/include/ChangeLog
index c60ddc25f28..c0c22b548c2 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,14 @@
+2005-08-17 Mark Kettenis <kettenis@gnu.org>
+
+ * floatformat.h (struct floatformat): Change type of large
+ argument for is_valid member to `const void *'.
+ (floatformat_to_double): Change type of second argument to `const
+ void *'.
+ (floatformat_from_double): Change type of last argument to `void
+ *'.
+ (floatformat_is_valid): Change type of last argument to `const
+ void *'.
+
2005-07-12 Ben Elliston <bje@au.ibm.com>
* xregex2.h (regexec): Qualify this prototype with __extension__
diff --git a/include/floatformat.h b/include/floatformat.h
index 0cbd143be3d..a2448743050 100644
--- a/include/floatformat.h
+++ b/include/floatformat.h
@@ -1,5 +1,6 @@
/* IEEE floating point support declarations, for GDB, the GNU Debugger.
- Copyright 1991, 1994, 1995, 1997, 2000, 2003 Free Software Foundation, Inc.
+ Copyright 1991, 1994, 1995, 1997, 2000, 2003, 2005
+ Free Software Foundation, Inc.
This file is part of GDB.
@@ -82,7 +83,7 @@ struct floatformat
const char *name;
/* Validator method. */
- int (*is_valid) (const struct floatformat *fmt, const char *from);
+ int (*is_valid) (const struct floatformat *fmt, const void *from);
};
/* floatformats for IEEE single and double, big and little endian. */
@@ -116,17 +117,17 @@ extern const struct floatformat floatformat_ia64_quad_little;
Store the double in *TO. */
extern void
-floatformat_to_double (const struct floatformat *, const char *, double *);
+floatformat_to_double (const struct floatformat *, const void *, double *);
/* The converse: convert the double *FROM to FMT
and store where TO points. */
extern void
-floatformat_from_double (const struct floatformat *, const double *, char *);
+floatformat_from_double (const struct floatformat *, const double *, void *);
/* Return non-zero iff the data at FROM is a valid number in format FMT. */
extern int
-floatformat_is_valid (const struct floatformat *fmt, const char *from);
+floatformat_is_valid (const struct floatformat *fmt, const void *from);
#endif /* defined (FLOATFORMAT_H) */
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index 74b93085f2a..1b62fcce3e2 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,10 @@
+2005-08-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR preprocessor/20348
+ PR preprocessor/20356
+ * files.c (_cpp_find_file, search_cache): Revert 2004-06-26 and
+ 2004-06-05 changes.
+
2005-07-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* configure.ac (ACX_PROG_CC_WARNING_OPTS): add
diff --git a/libcpp/files.c b/libcpp/files.c
index dd4f6d92ec5..779fec7ca63 100644
--- a/libcpp/files.c
+++ b/libcpp/files.c
@@ -416,21 +416,6 @@ _cpp_find_file (cpp_reader *pfile, const char *fname, cpp_dir *start_dir, bool f
/* Try each path in the include chain. */
for (; !fake ;)
{
- if (file->dir == pfile->quote_include
- || file->dir == pfile->bracket_include)
- {
- entry = search_cache (*hash_slot, file->dir);
- if (entry)
- {
- /* Found the same file again. Record it as reachable
- from this position, too. */
- free ((char *) file->name);
- free (file);
- file = entry->u.file;
- goto found;
- }
- }
-
if (find_file_in_dir (pfile, file, &invalid_pch))
break;
@@ -459,40 +444,33 @@ _cpp_find_file (cpp_reader *pfile, const char *fname, cpp_dir *start_dir, bool f
}
break;
}
- }
- /* This is a new file; put it in the list. */
- file->next_file = pfile->all_files;
- pfile->all_files = file;
+ /* Only check the cache for the starting location (done above)
+ and the quote and bracket chain heads because there are no
+ other possible starting points for searches. */
+ if (file->dir != pfile->bracket_include
+ && file->dir != pfile->quote_include)
+ continue;
- /* If this file was found in the directory-of-the-current-file,
- check whether that directory is reachable via one of the normal
- search paths. If so, we must record this entry as being
- reachable that way, otherwise we will mistakenly reprocess this
- file if it is included later from the normal search path. */
- if (file->dir && start_dir->next == pfile->quote_include)
- {
- cpp_dir *d;
- cpp_dir *proper_start_dir = pfile->quote_include;
+ entry = search_cache (*hash_slot, file->dir);
+ if (entry)
+ break;
+ }
- for (d = proper_start_dir;; d = d->next)
- {
- if (d == pfile->bracket_include)
- proper_start_dir = d;
- if (d == 0)
- {
- proper_start_dir = 0;
- break;
- }
- /* file->dir->name will have a trailing slash. */
- if (!strncmp (d->name, file->dir->name, file->dir->len - 1))
- break;
- }
- if (proper_start_dir)
- start_dir = proper_start_dir;
+ if (entry)
+ {
+ /* Cache for START_DIR too, sharing the _cpp_file structure. */
+ free ((char *) file->name);
+ free (file);
+ file = entry->u.file;
+ }
+ else
+ {
+ /* This is a new file; put it in the list. */
+ file->next_file = pfile->all_files;
+ pfile->all_files = file;
}
- found:
/* Store this new result in the hash table. */
entry = new_file_hash_entry (pfile);
entry->next = *hash_slot;
@@ -880,14 +858,10 @@ open_file_failed (cpp_reader *pfile, _cpp_file *file)
static struct file_hash_entry *
search_cache (struct file_hash_entry *head, const cpp_dir *start_dir)
{
- struct file_hash_entry *p;
+ while (head && head->start_dir != start_dir)
+ head = head->next;
- /* Look for a file that was found from a search starting at the
- given location. */
- for (p = head; p; p = p->next)
- if (p->start_dir == start_dir)
- return p;
- return 0;
+ return head;
}
/* Allocate a new _cpp_file structure. */
diff --git a/libffi/ChangeLog b/libffi/ChangeLog
index f61684c056c..fd61c4b80d6 100644
--- a/libffi/ChangeLog
+++ b/libffi/ChangeLog
@@ -1,3 +1,40 @@
+2005-08-25 Alan Modra <amodra@bigpond.net.au>
+
+ PR target/23404
+ * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
+ homed fp args.
+ (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
+
+2005-08-11 Jakub Jelinek <jakub@redhat.com>
+
+ * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
+ (AH_BOTTOM): Add FFI_HIDDEN definition.
+ * configure: Rebuilt.
+ * fficonfig.h.in: Rebuilt.
+ * src/powerpc/ffi.c (hidden): Remove.
+ (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
+ ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
+ * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
+ .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
+ * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
+ add FFI_HIDDEN to its prototype.
+ (ffi_closure_SYSV_inner): New.
+ * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
+ * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
+
+2005-08-10 Alfred M. Szmidt <ams@gnu.org>
+
+ PR libffi/21819:
+ * configure: Rebuilt.
+ * configure.ac: Handle i*86-*-gnu*.
+
+2005-08-09 Jakub Jelinek <jakub@redhat.com>
+
+ * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
+ DW_CFA_offset_extended_sf rather than
+ DW_CFA_GNU_negative_offset_extended.
+ * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
+
2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
* src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
diff --git a/libffi/configure b/libffi/configure
index e2dab2f9514..a6a6e09d06c 100755
--- a/libffi/configure
+++ b/libffi/configure
@@ -5377,6 +5377,7 @@ fi
TARGETDIR="unknown"
case "$host" in
i*86-*-linux*) TARGET=X86; TARGETDIR=x86;;
+i*86-*-gnu*) TARGET=X86; TARGETDIR=x86;;
i*86-*-solaris2.1[0-9]*) TARGET=X86_64; TARGETDIR=x86;;
i*86-*-solaris*) TARGET=X86; TARGETDIR=x86;;
i*86-*-beos*) TARGET=X86; TARGETDIR=x86;;
@@ -7521,6 +7522,40 @@ _ACEOF
fi
+echo "$as_me:$LINENO: checking for __attribute__((visibility(\"hidden\")))" >&5
+echo $ECHO_N "checking for __attribute__((visibility(\"hidden\")))... $ECHO_C" >&6
+if test "${libffi_cv_hidden_visibility_attribute+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
+ libffi_cv_hidden_visibility_attribute=no
+ if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ if grep '\.hidden.*foo' conftest.s >/dev/null; then
+ libffi_cv_hidden_visibility_attribute=yes
+ fi
+ fi
+ rm -f conftest.*
+
+fi
+echo "$as_me:$LINENO: result: $libffi_cv_hidden_visibility_attribute" >&5
+echo "${ECHO_T}$libffi_cv_hidden_visibility_attribute" >&6
+if test $libffi_cv_hidden_visibility_attribute = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1
+_ACEOF
+
+fi
+
+
+
+
diff --git a/libffi/configure.ac b/libffi/configure.ac
index 35c12319a9d..eac8e8fe42e 100644
--- a/libffi/configure.ac
+++ b/libffi/configure.ac
@@ -42,6 +42,7 @@ AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
TARGETDIR="unknown"
case "$host" in
i*86-*-linux*) TARGET=X86; TARGETDIR=x86;;
+i*86-*-gnu*) TARGET=X86; TARGETDIR=x86;;
i*86-*-solaris2.1[[0-9]]*) TARGET=X86_64; TARGETDIR=x86;;
i*86-*-solaris*) TARGET=X86; TARGETDIR=x86;;
i*86-*-beos*) TARGET=X86; TARGETDIR=x86;;
@@ -191,6 +192,38 @@ else
[Define to the flags needed for the .section .eh_frame directive.])
fi
+AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
+ libffi_cv_hidden_visibility_attribute, [
+ echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
+ libffi_cv_hidden_visibility_attribute=no
+ if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
+ if grep '\.hidden.*foo' conftest.s >/dev/null; then
+ libffi_cv_hidden_visibility_attribute=yes
+ fi
+ fi
+ rm -f conftest.*
+ ])
+if test $libffi_cv_hidden_visibility_attribute = yes; then
+ AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
+ [Define if __attribute__((visibility("hidden"))) is supported.])
+fi
+
+AH_BOTTOM([
+#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
+#ifdef LIBFFI_ASM
+#define FFI_HIDDEN(name) .hidden name
+#else
+#define FFI_HIDDEN __attribute__ ((visibility ("hidden")))
+#endif
+#else
+#ifdef LIBFFI_ASM
+#define FFI_HIDDEN(name)
+#else
+#define FFI_HIDDEN
+#endif
+#endif
+])
+
AC_SUBST(TARGET)
AC_SUBST(TARGETDIR)
diff --git a/libffi/fficonfig.h.in b/libffi/fficonfig.h.in
index e0cab345cc1..f982707344f 100644
--- a/libffi/fficonfig.h.in
+++ b/libffi/fficonfig.h.in
@@ -34,6 +34,9 @@
*/
#undef HAVE_AS_SPARC_UA_PCREL
+/* Define if __attribute__((visibility("hidden"))) is supported. */
+#undef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
+
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
@@ -133,3 +136,19 @@
/* Define to 1 if your processor stores words with the most significant byte
first (like Motorola and SPARC, unlike Intel and VAX). */
#undef WORDS_BIGENDIAN
+
+
+#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
+#ifdef LIBFFI_ASM
+#define FFI_HIDDEN(name) .hidden name
+#else
+#define FFI_HIDDEN __attribute__ ((visibility ("hidden")))
+#endif
+#else
+#ifdef LIBFFI_ASM
+#define FFI_HIDDEN(name)
+#else
+#define FFI_HIDDEN
+#endif
+#endif
+
diff --git a/libffi/src/powerpc/ffi.c b/libffi/src/powerpc/ffi.c
index b337aa74c11..cc410bc6bdc 100644
--- a/libffi/src/powerpc/ffi.c
+++ b/libffi/src/powerpc/ffi.c
@@ -29,15 +29,9 @@
#include <stdlib.h>
#include <stdio.h>
-#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 1)
-# define hidden __attribute__ ((visibility ("hidden")))
-#else
-# define hidden
-#endif
-
extern void ffi_closure_SYSV(void);
-extern void hidden ffi_closure_LINUX64(void);
+extern void FFI_HIDDEN ffi_closure_LINUX64(void);
enum {
/* The assembly depends on these exact flags. */
@@ -161,7 +155,8 @@ void ffi_prep_args_SYSV(extended_cif *ecif, unsigned *const stack)
if (fparg_count >= NUM_FPR_ARG_REGISTERS)
{
- if (intarg_count%2 != 0)
+ if (intarg_count >= NUM_GPR_ARG_REGISTERS
+ && intarg_count % 2 != 0)
{
intarg_count++;
next_arg++;
@@ -301,7 +296,7 @@ enum { ASM_NEEDS_REGISTERS64 = 4 };
*/
/*@-exportheader@*/
-void hidden ffi_prep_args64(extended_cif *ecif, unsigned long *const stack)
+void FFI_HIDDEN ffi_prep_args64(extended_cif *ecif, unsigned long *const stack)
/*@=exportheader@*/
{
const unsigned long bytes = ecif->cif->bytes;
@@ -581,7 +576,8 @@ ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
/* If this FP arg is going on the stack, it must be
8-byte-aligned. */
if (fparg_count > NUM_FPR_ARG_REGISTERS
- && intarg_count%2 != 0)
+ && intarg_count >= NUM_GPR_ARG_REGISTERS
+ && intarg_count % 2 != 0)
intarg_count++;
break;
@@ -697,10 +693,10 @@ extern void ffi_call_SYSV(/*@out@*/ extended_cif *,
unsigned, unsigned,
/*@out@*/ unsigned *,
void (*fn)());
-extern void hidden ffi_call_LINUX64(/*@out@*/ extended_cif *,
- unsigned long, unsigned long,
- /*@out@*/ unsigned long *,
- void (*fn)());
+extern void FFI_HIDDEN ffi_call_LINUX64(/*@out@*/ extended_cif *,
+ unsigned long, unsigned long,
+ /*@out@*/ unsigned long *,
+ void (*fn)());
/*@=declundef@*/
/*@=exportheader@*/
@@ -1020,10 +1016,10 @@ ffi_closure_helper_SYSV (ffi_closure* closure, void * rvalue,
}
-int hidden ffi_closure_helper_LINUX64 (ffi_closure*, void*, unsigned long*,
- ffi_dblfl*);
+int FFI_HIDDEN ffi_closure_helper_LINUX64 (ffi_closure*, void*, unsigned long*,
+ ffi_dblfl*);
-int hidden
+int FFI_HIDDEN
ffi_closure_helper_LINUX64 (ffi_closure *closure, void *rvalue,
unsigned long *pst, ffi_dblfl *pfr)
{
diff --git a/libffi/src/powerpc/linux64_closure.S b/libffi/src/powerpc/linux64_closure.S
index 5764971fbe1..b19bc718b50 100644
--- a/libffi/src/powerpc/linux64_closure.S
+++ b/libffi/src/powerpc/linux64_closure.S
@@ -5,7 +5,8 @@
.file "linux64_closure.S"
#ifdef __powerpc64__
- .hidden ffi_closure_LINUX64, .ffi_closure_LINUX64
+ FFI_HIDDEN (ffi_closure_LINUX64)
+ FFI_HIDDEN (.ffi_closure_LINUX64)
.globl ffi_closure_LINUX64, .ffi_closure_LINUX64
.section ".opd","aw"
.align 3
diff --git a/libffi/src/powerpc/ppc_closure.S b/libffi/src/powerpc/ppc_closure.S
index b45ccd6bd54..36f8ac08769 100644
--- a/libffi/src/powerpc/ppc_closure.S
+++ b/libffi/src/powerpc/ppc_closure.S
@@ -319,9 +319,9 @@ END(ffi_closure_SYSV)
.uleb128 144
.byte 0x4 # DW_CFA_advance_loc4
.4byte .LCFI1-.LCFI0
- .byte 0x2f # DW_CFA_GNU_negative_offset_extended
+ .byte 0x11 # DW_CFA_offset_extended_sf
.uleb128 0x41
- .uleb128 0x1
+ .sleb128 -1
.align 2
.LEFDE1:
diff --git a/libffi/src/powerpc/sysv.S b/libffi/src/powerpc/sysv.S
index eba70fbd8f7..235acfad382 100644
--- a/libffi/src/powerpc/sysv.S
+++ b/libffi/src/powerpc/sysv.S
@@ -191,9 +191,9 @@ END(ffi_call_SYSV)
.uleb128 0x08
.byte 0x4 /* DW_CFA_advance_loc4 */
.4byte .LCFI5-.LCFI0
- .byte 0x2f /* DW_CFA_GNU_negative_offset_extended */
+ .byte 0x11 /* DW_CFA_offset_extended_sf */
.uleb128 0x41
- .uleb128 0x1
+ .sleb128 -1
.byte 0x9f /* DW_CFA_offset, column 0x1f */
.uleb128 0x1
.byte 0x9e /* DW_CFA_offset, column 0x1e */
diff --git a/libffi/src/x86/ffi.c b/libffi/src/x86/ffi.c
index 633e549c997..e4d5fc31c8a 100644
--- a/libffi/src/x86/ffi.c
+++ b/libffi/src/x86/ffi.c
@@ -241,26 +241,24 @@ void ffi_call(/*@dependent@*/ ffi_cif *cif,
static void ffi_prep_incoming_args_SYSV (char *stack, void **ret,
void** args, ffi_cif* cif);
-static void ffi_closure_SYSV (ffi_closure *)
+void FFI_HIDDEN ffi_closure_SYSV (ffi_closure *)
__attribute__ ((regparm(1)));
-static void ffi_closure_raw_SYSV (ffi_raw_closure *)
+unsigned int FFI_HIDDEN ffi_closure_SYSV_inner (ffi_closure *, void **, void *)
+ __attribute__ ((regparm(1)));
+void FFI_HIDDEN ffi_closure_raw_SYSV (ffi_raw_closure *)
__attribute__ ((regparm(1)));
/* This function is jumped to by the trampoline */
-static void
-ffi_closure_SYSV (closure)
+unsigned int FFI_HIDDEN
+ffi_closure_SYSV_inner (closure, respp, args)
ffi_closure *closure;
+ void **respp;
+ void *args;
{
- // this is our return value storage
- long double res;
-
// our various things...
ffi_cif *cif;
void **arg_area;
- unsigned short rtype;
- void *resp = (void*)&res;
- void *args = __builtin_dwarf_cfa ();
cif = closure->cif;
arg_area = (void**) alloca (cif->nargs * sizeof (void*));
@@ -271,46 +269,11 @@ ffi_closure_SYSV (closure)
* a structure, it will re-set RESP to point to the
* structure return address. */
- ffi_prep_incoming_args_SYSV(args, (void**)&resp, arg_area, cif);
-
- (closure->fun) (cif, resp, arg_area, closure->user_data);
+ ffi_prep_incoming_args_SYSV(args, respp, arg_area, cif);
- rtype = cif->flags;
+ (closure->fun) (cif, *respp, arg_area, closure->user_data);
- /* now, do a generic return based on the value of rtype */
- if (rtype == FFI_TYPE_INT)
- {
- asm ("movl (%0),%%eax" : : "r" (resp) : "eax");
- }
- else if (rtype == FFI_TYPE_FLOAT)
- {
- asm ("flds (%0)" : : "r" (resp) : "st" );
- }
- else if (rtype == FFI_TYPE_DOUBLE)
- {
- asm ("fldl (%0)" : : "r" (resp) : "st", "st(1)" );
- }
- else if (rtype == FFI_TYPE_LONGDOUBLE)
- {
- asm ("fldt (%0)" : : "r" (resp) : "st", "st(1)" );
- }
- else if (rtype == FFI_TYPE_SINT64)
- {
- asm ("movl 0(%0),%%eax;"
- "movl 4(%0),%%edx"
- : : "r"(resp)
- : "eax", "edx");
- }
-#ifdef X86_WIN32
- else if (rtype == FFI_TYPE_SINT8) /* 1-byte struct */
- {
- asm ("movsbl (%0),%%eax" : : "r" (resp) : "eax");
- }
- else if (rtype == FFI_TYPE_SINT16) /* 2-bytes struct */
- {
- asm ("movswl (%0),%%eax" : : "r" (resp) : "eax");
- }
-#endif
+ return cif->flags;
}
/*@-exportheader@*/
@@ -394,57 +357,6 @@ ffi_prep_closure (ffi_closure* closure,
#if !FFI_NO_RAW_API
-static void
-ffi_closure_raw_SYSV (closure)
- ffi_raw_closure *closure;
-{
- // this is our return value storage
- long double res;
-
- // our various things...
- ffi_raw *raw_args;
- ffi_cif *cif;
- unsigned short rtype;
- void *resp = (void*)&res;
-
- /* get the cif */
- cif = closure->cif;
-
- /* the SYSV/X86 abi matches the RAW API exactly, well.. almost */
- raw_args = (ffi_raw*) __builtin_dwarf_cfa ();
-
- (closure->fun) (cif, resp, raw_args, closure->user_data);
-
- rtype = cif->flags;
-
- /* now, do a generic return based on the value of rtype */
- if (rtype == FFI_TYPE_INT)
- {
- asm ("movl (%0),%%eax" : : "r" (resp) : "eax");
- }
- else if (rtype == FFI_TYPE_FLOAT)
- {
- asm ("flds (%0)" : : "r" (resp) : "st" );
- }
- else if (rtype == FFI_TYPE_DOUBLE)
- {
- asm ("fldl (%0)" : : "r" (resp) : "st", "st(1)" );
- }
- else if (rtype == FFI_TYPE_LONGDOUBLE)
- {
- asm ("fldt (%0)" : : "r" (resp) : "st", "st(1)" );
- }
- else if (rtype == FFI_TYPE_SINT64)
- {
- asm ("movl 0(%0),%%eax; movl 4(%0),%%edx"
- : : "r"(resp)
- : "eax", "edx");
- }
-}
-
-
-
-
ffi_status
ffi_prep_raw_closure (ffi_raw_closure* closure,
ffi_cif* cif,
diff --git a/libffi/src/x86/sysv.S b/libffi/src/x86/sysv.S
index 53a4c2b7e98..46759f43498 100644
--- a/libffi/src/x86/sysv.S
+++ b/libffi/src/x86/sysv.S
@@ -1,5 +1,5 @@
/* -----------------------------------------------------------------------
- sysv.S - Copyright (c) 1996, 1998, 2001, 2002, 2003 Red Hat, Inc.
+ sysv.S - Copyright (c) 1996, 1998, 2001, 2002, 2003, 2005 Red Hat, Inc.
X86 Foreign Function Interface
@@ -130,6 +130,135 @@ epilogue:
.ffi_call_SYSV_end:
.size ffi_call_SYSV,.ffi_call_SYSV_end-ffi_call_SYSV
+ .align 4
+FFI_HIDDEN (ffi_closure_SYSV)
+.globl ffi_closure_SYSV
+ .type ffi_closure_SYSV, @function
+
+ffi_closure_SYSV:
+.LFB2:
+ pushl %ebp
+.LCFI2:
+ movl %esp, %ebp
+.LCFI3:
+ subl $40, %esp
+ leal -24(%ebp), %edx
+ movl %edx, -12(%ebp) /* resp */
+ leal 8(%ebp), %edx
+ movl %edx, 4(%esp) /* args = __builtin_dwarf_cfa () */
+ leal -12(%ebp), %edx
+ movl %edx, (%esp) /* &resp */
+#if defined HAVE_HIDDEN_VISIBILITY_ATTRIBUTE || !defined __PIC__
+ call ffi_closure_SYSV_inner
+#else
+ movl %ebx, 8(%esp)
+.LCFI7:
+ call 1f
+1: popl %ebx
+ addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %ebx
+ call ffi_closure_SYSV_inner@PLT
+ movl 8(%esp), %ebx
+#endif
+ movl -12(%ebp), %ecx
+ cmpl $FFI_TYPE_INT, %eax
+ je .Lcls_retint
+ cmpl $FFI_TYPE_FLOAT, %eax
+ je .Lcls_retfloat
+ cmpl $FFI_TYPE_DOUBLE, %eax
+ je .Lcls_retdouble
+ cmpl $FFI_TYPE_LONGDOUBLE, %eax
+ je .Lcls_retldouble
+ cmpl $FFI_TYPE_SINT64, %eax
+ je .Lcls_retllong
+.Lcls_epilogue:
+ movl %ebp, %esp
+ popl %ebp
+ ret
+.Lcls_retint:
+ movl (%ecx), %eax
+ jmp .Lcls_epilogue
+.Lcls_retfloat:
+ flds (%ecx)
+ jmp .Lcls_epilogue
+.Lcls_retdouble:
+ fldl (%ecx)
+ jmp .Lcls_epilogue
+.Lcls_retldouble:
+ fldt (%ecx)
+ jmp .Lcls_epilogue
+.Lcls_retllong:
+ movl (%ecx), %eax
+ movl 4(%ecx), %edx
+ jmp .Lcls_epilogue
+.LFE2:
+ .size ffi_closure_SYSV, .-ffi_closure_SYSV
+
+#if !FFI_NO_RAW_API
+
+#define RAW_CLOSURE_CIF_OFFSET ((FFI_TRAMPOLINE_SIZE + 3) & ~3)
+#define RAW_CLOSURE_FUN_OFFSET (RAW_CLOSURE_CIF_OFFSET + 4)
+#define RAW_CLOSURE_USER_DATA_OFFSET (RAW_CLOSURE_FUN_OFFSET + 4)
+#define CIF_FLAGS_OFFSET 20
+
+ .align 4
+FFI_HIDDEN (ffi_closure_raw_SYSV)
+.globl ffi_closure_raw_SYSV
+ .type ffi_closure_raw_SYSV, @function
+
+ffi_closure_raw_SYSV:
+.LFB3:
+ pushl %ebp
+.LCFI4:
+ movl %esp, %ebp
+.LCFI5:
+ pushl %esi
+.LCFI6:
+ subl $36, %esp
+ movl RAW_CLOSURE_CIF_OFFSET(%eax), %esi /* closure->cif */
+ movl RAW_CLOSURE_USER_DATA_OFFSET(%eax), %edx /* closure->user_data */
+ movl %edx, 12(%esp) /* user_data */
+ leal 8(%ebp), %edx /* __builtin_dwarf_cfa () */
+ movl %edx, 8(%esp) /* raw_args */
+ leal -24(%ebp), %edx
+ movl %edx, 4(%esp) /* &res */
+ movl %esi, (%esp) /* cif */
+ call *RAW_CLOSURE_FUN_OFFSET(%eax) /* closure->fun */
+ movl CIF_FLAGS_OFFSET(%esi), %eax /* rtype */
+ cmpl $FFI_TYPE_INT, %eax
+ je .Lrcls_retint
+ cmpl $FFI_TYPE_FLOAT, %eax
+ je .Lrcls_retfloat
+ cmpl $FFI_TYPE_DOUBLE, %eax
+ je .Lrcls_retdouble
+ cmpl $FFI_TYPE_LONGDOUBLE, %eax
+ je .Lrcls_retldouble
+ cmpl $FFI_TYPE_SINT64, %eax
+ je .Lrcls_retllong
+.Lrcls_epilogue:
+ addl $36, %esp
+ popl %esi
+ popl %ebp
+ ret
+.Lrcls_retint:
+ movl -24(%ebp), %eax
+ jmp .Lrcls_epilogue
+.Lrcls_retfloat:
+ flds -24(%ebp)
+ jmp .Lrcls_epilogue
+.Lrcls_retdouble:
+ fldl -24(%ebp)
+ jmp .Lrcls_epilogue
+.Lrcls_retldouble:
+ fldt -24(%ebp)
+ jmp .Lrcls_epilogue
+.Lrcls_retllong:
+ movl -24(%ebp), %eax
+ movl -20(%ebp), %edx
+ jmp .Lrcls_epilogue
+.LFE3:
+ .size ffi_closure_raw_SYSV, .-ffi_closure_raw_SYSV
+#endif
+
.section .eh_frame,EH_FRAME_FLAGS,@progbits
.Lframe1:
.long .LECIE1-.LSCIE1 /* Length of Common Information Entry */
@@ -180,5 +309,70 @@ epilogue:
.byte 0x5 /* .uleb128 0x5 */
.align 4
.LEFDE1:
+.LSFDE2:
+ .long .LEFDE2-.LASFDE2 /* FDE Length */
+.LASFDE2:
+ .long .LASFDE2-.Lframe1 /* FDE CIE offset */
+#ifdef __PIC__
+ .long .LFB2-. /* FDE initial location */
+#else
+ .long .LFB2
+#endif
+ .long .LFE2-.LFB2 /* FDE address range */
+#ifdef __PIC__
+ .byte 0x0 /* .uleb128 0x0; Augmentation size */
+#endif
+ .byte 0x4 /* DW_CFA_advance_loc4 */
+ .long .LCFI2-.LFB2
+ .byte 0xe /* DW_CFA_def_cfa_offset */
+ .byte 0x8 /* .uleb128 0x8 */
+ .byte 0x85 /* DW_CFA_offset, column 0x5 */
+ .byte 0x2 /* .uleb128 0x2 */
+ .byte 0x4 /* DW_CFA_advance_loc4 */
+ .long .LCFI3-.LCFI2
+ .byte 0xd /* DW_CFA_def_cfa_register */
+ .byte 0x5 /* .uleb128 0x5 */
+#if !defined HAVE_HIDDEN_VISIBILITY_ATTRIBUTE && defined __PIC__
+ .byte 0x4 /* DW_CFA_advance_loc4 */
+ .long .LCFI7-.LCFI3
+ .byte 0x83 /* DW_CFA_offset, column 0x3 */
+ .byte 0xa /* .uleb128 0xa */
+#endif
+ .align 4
+.LEFDE2:
+
+#if !FFI_NO_RAW_API
+
+.LSFDE3:
+ .long .LEFDE3-.LASFDE3 /* FDE Length */
+.LASFDE3:
+ .long .LASFDE3-.Lframe1 /* FDE CIE offset */
+#ifdef __PIC__
+ .long .LFB3-. /* FDE initial location */
+#else
+ .long .LFB3
+#endif
+ .long .LFE3-.LFB3 /* FDE address range */
+#ifdef __PIC__
+ .byte 0x0 /* .uleb128 0x0; Augmentation size */
+#endif
+ .byte 0x4 /* DW_CFA_advance_loc4 */
+ .long .LCFI4-.LFB3
+ .byte 0xe /* DW_CFA_def_cfa_offset */
+ .byte 0x8 /* .uleb128 0x8 */
+ .byte 0x85 /* DW_CFA_offset, column 0x5 */
+ .byte 0x2 /* .uleb128 0x2 */
+ .byte 0x4 /* DW_CFA_advance_loc4 */
+ .long .LCFI5-.LCFI4
+ .byte 0xd /* DW_CFA_def_cfa_register */
+ .byte 0x5 /* .uleb128 0x5 */
+ .byte 0x4 /* DW_CFA_advance_loc4 */
+ .long .LCFI6-.LCFI5
+ .byte 0x86 /* DW_CFA_offset, column 0x6 */
+ .byte 0x3 /* .uleb128 0x3 */
+ .align 4
+.LEFDE3:
+
+#endif
#endif /* ifndef __x86_64__ */
diff --git a/libffi/src/x86/win32.S b/libffi/src/x86/win32.S
index bc2812cf8f8..496953e4344 100644
--- a/libffi/src/x86/win32.S
+++ b/libffi/src/x86/win32.S
@@ -257,3 +257,117 @@ sc_epilogue:
ret
.ffi_call_STDCALL_end:
+
+ .globl _ffi_closure_SYSV
+_ffi_closure_SYSV:
+ pushl %ebp
+ movl %esp, %ebp
+ subl $40, %esp
+ leal -24(%ebp), %edx
+ movl %edx, -12(%ebp) /* resp */
+ leal 8(%ebp), %edx
+ movl %edx, 4(%esp) /* args = __builtin_dwarf_cfa () */
+ leal -12(%ebp), %edx
+ movl %edx, (%esp) /* &resp */
+ call _ffi_closure_SYSV_inner
+ movl -12(%ebp), %ecx
+ cmpl $FFI_TYPE_INT, %eax
+ je .Lcls_retint
+ cmpl $FFI_TYPE_FLOAT, %eax
+ je .Lcls_retfloat
+ cmpl $FFI_TYPE_DOUBLE, %eax
+ je .Lcls_retdouble
+ cmpl $FFI_TYPE_LONGDOUBLE, %eax
+ je .Lcls_retldouble
+ cmpl $FFI_TYPE_SINT64, %eax
+ je .Lcls_retllong
+ cmpl $FFI_TYPE_SINT8, %eax /* 1-byte struct */
+ je .Lcls_retstruct1
+ cmpl $FFI_TYPE_SINT16, %eax /* 2-bytes struct */
+ je .Lcls_retstruct2
+.Lcls_epilogue:
+ movl %ebp, %esp
+ popl %ebp
+ ret
+.Lcls_retint:
+ movl (%ecx), %eax
+ jmp .Lcls_epilogue
+.Lcls_retfloat:
+ flds (%ecx)
+ jmp .Lcls_epilogue
+.Lcls_retdouble:
+ fldl (%ecx)
+ jmp .Lcls_epilogue
+.Lcls_retldouble:
+ fldt (%ecx)
+ jmp .Lcls_epilogue
+.Lcls_retllong:
+ movl (%ecx), %eax
+ movl 4(%ecx), %edx
+ jmp .Lcls_epilogue
+.Lcls_retstruct1:
+ movsbl (%ecx), %eax
+ jmp .Lcls_epilogue
+.Lcls_retstruct2:
+ movswl (%ecx), %eax
+ jmp .Lcls_epilogue
+.ffi_closure_SYSV_end:
+
+#if !FFI_NO_RAW_API
+
+#define RAW_CLOSURE_CIF_OFFSET ((FFI_TRAMPOLINE_SIZE + 3) & ~3)
+#define RAW_CLOSURE_FUN_OFFSET (RAW_CLOSURE_CIF_OFFSET + 4)
+#define RAW_CLOSURE_USER_DATA_OFFSET (RAW_CLOSURE_FUN_OFFSET + 4)
+#define CIF_FLAGS_OFFSET 20
+
+ .balign 16
+ .globl _ffi_closure_raw_SYSV
+_ffi_closure_raw_SYSV:
+ pushl %ebp
+ movl %esp, %ebp
+ pushl %esi
+ subl $36, %esp
+ movl RAW_CLOSURE_CIF_OFFSET(%eax), %esi /* closure->cif */
+ movl RAW_CLOSURE_USER_DATA_OFFSET(%eax), %edx /* closure->user_data */
+ movl %edx, 12(%esp) /* user_data */
+ leal 8(%ebp), %edx /* __builtin_dwarf_cfa () */
+ movl %edx, 8(%esp) /* raw_args */
+ leal -24(%ebp), %edx
+ movl %edx, 4(%esp) /* &res */
+ movl %esi, (%esp) /* cif */
+ call *RAW_CLOSURE_FUN_OFFSET(%eax) /* closure->fun */
+ movl CIF_FLAGS_OFFSET(%esi), %eax /* rtype */
+ cmpl $FFI_TYPE_INT, %eax
+ je .Lrcls_retint
+ cmpl $FFI_TYPE_FLOAT, %eax
+ je .Lrcls_retfloat
+ cmpl $FFI_TYPE_DOUBLE, %eax
+ je .Lrcls_retdouble
+ cmpl $FFI_TYPE_LONGDOUBLE, %eax
+ je .Lrcls_retldouble
+ cmpl $FFI_TYPE_SINT64, %eax
+ je .Lrcls_retllong
+.Lrcls_epilogue:
+ addl $36, %esp
+ popl %esi
+ popl %ebp
+ ret
+.Lrcls_retint:
+ movl -24(%ebp), %eax
+ jmp .Lrcls_epilogue
+.Lrcls_retfloat:
+ flds -24(%ebp)
+ jmp .Lrcls_epilogue
+.Lrcls_retdouble:
+ fldl -24(%ebp)
+ jmp .Lrcls_epilogue
+.Lrcls_retldouble:
+ fldt -24(%ebp)
+ jmp .Lrcls_epilogue
+.Lrcls_retllong:
+ movl -24(%ebp), %eax
+ movl -20(%ebp), %edx
+ jmp .Lrcls_epilogue
+.ffi_closure_raw_SYSV_end:
+
+#endif
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index c068afe57d5..1dd69cb2844 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,141 @@
+2005-09-02 Andreas Jaeger <aj@suse.de>
+
+ * libgfortran.h: Add prototype for init_compile_options.
+
+ * io/io.h: Add prototype for notify_std.
+
+2005-08-31 Steve Ellcey <sje@cup.hp.com>
+
+ * io/read.c (set_integer): Use memcpy to fill buffer.
+
+2005-08-31 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/23556
+ * io/read.c (convert_real): Use memcpy to fill buffer.
+
+2005-08-29 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/23598
+ * io/lock.c(library_start): If ioparm.iostat is present, clear
+ it unconditionally.
+
+2005-08-27 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * acinclude.m4 (LIBGFOR_CHECK_UNLINK_OPEN_FILE): Add check to see
+ if target can unlink open files.
+ * configure.ac: Use this new test.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * Makefile.in: Regenerate.
+ * aclocal.ac: Regenerate.
+ * io/io.h: Add prototype for unpack_filename.
+ * io/close.c (st_close): Delete file after closing unit if
+ HAVE_UNLINK_OPEN_FILE is not defined.
+ * io/unix.c (unpack_filename): Unlink scratch file after opening
+ it only if HAVE_UNLINK_OPEN_FILE is defined.
+
+2005-08-17 Kelley Cook <kcook@gcc.gnu.org>
+
+ * All files: Update FSF address.
+
+2005-08-16 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/23428
+ * io/transfer.c (iolength_transfer): Remove __attribute__ ((unused))
+ from type. Return correct length for inquire(iolength=)
+ for complex variables.
+
+2005-08-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+ Steven Bosscher <stevenb@suse.de>
+
+ PR libfortran/20006
+ * Makefile.am: Add file runtime/compile_options.c.
+ * Makefile.in: Regenerate.
+ * libgfortran.h: Create structure compile_options_t. Define the
+ compile_options variable and GFC_STD_ macros.
+ * runtime/compile_options.c: New file.
+ * runtime/error.c (notify_std): New function.
+ * runtime/main.c (init): Call init_compile_options during
+ initialization.
+ * io/format.c: Use the new notify_std function for the $
+ descriptor extension.
+
+2005-08-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+ * Makefile.am: Add file intrinsics/tty.c to Makefile process.
+ * Makefile.in: Regenerate.
+ * io/io.h: Prototypes for new functions stream_isatty and
+ stream_ttyname.
+ * io/unix (stream_isatty, stream_ttyname): New functions to call
+ isatty() and ttyname() on a given unit.
+ * intrinsics/tty.c: New file to implement g77 intrinsics TTYNAM
+ and ISATTY.
+
+2005-08-08 Jerry DeLisle <jvdelisle@verizon.net>
+
+ PR libfortran/23154
+ * io/transfer.c (data_transfer_init): Initialize
+ current_unit->bytes_left for a read.
+
+2005-08-07 Janne Blomqvist <jblomqvi@cc.hut.fi>
+
+ PR fortran/22390
+ * io/backspace.c: File removed, contents moved to ...
+ * io/endfile.c: Ditto.
+ * io/rewind.c: Ditto.
+ * io/file_pos.c: New file, ... here.
+ * Makefile.am: Add file_pos.c to list, remove obsolete files.
+ * Makefile.in: Regenerated.
+
+2005-08-07 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * io/io.h: Change DEFAULT_TEMPDIR to /tmp instead of /var/tmp.
+ * io/unix.c (tempfile): Look at the TEMP environment variable
+ to find the temporary files directory. Whitespace correction.
+
+2005-08-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * io/unix.c: Add O_RDWR to open() call.
+
+2005-08-04 Paul Thomas <pault@gcc.gnu.org>
+
+ * transfer.c (data_transfer_init): Truncate file in
+ sequential WRITE when last_record == 0, rather than
+ current_record. Cures problem on RH9.
+
+2005-08-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * libgfortran.h: When isfinite is not provided by the system,
+ define it as a macro, so that it can accept any floating point
+ type.
+
+2005-08-01 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/23178
+ * intrinsics/flush.c (flush_i8): Add function flush_i8. Update
+ copyright years.
+
+2005-07-31 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/21787
+ * intrinsics/abort.c (abort): Close units before aborting.
+ Updated copyright years.
+
+2005-07-30 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/22436
+ * io/write.c (write_real): Add default formats for real(10) and
+ real(16).
+
+2005-07-30 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/22570 and related issues.
+ * transfer.c (formatted_transfer): Make sure that there
+ really is data present before X- or T- editing. Move all
+ treatment of tabbing during writes to start of next data
+ producing format. Suppress incorrect zeroing of bytes_left
+ in slash formating. Insert int cast for assignment of a
+ difference of two gfc_offsets.
+
2005-07-23 Jerry DeLisle <jvdelisle@verizon.net>
* io/write.c (write_float): Revise output of IEEE exceptional
@@ -25,7 +163,7 @@
x-editing during formatted input.
* transfer.c (formatted_transfer): Cast offset difference
as int, clean-up arithmetic with new variable, bytes_used,
- zero counters for FMT_SLASH,
+ zero counters for FMT_SLASH,
(data_transfer_init) Zero X- and T-editing counters
unconditionally.
(next_record_w) Zero X- and T-editing counters.
@@ -75,7 +213,7 @@
2005-07-09 Jerry DeLisle <jvdelisle@verizon.net>
PR libfortran/21875 (FM111.f)
- * io/read.c (next_char): Return a ' ' character when BLANK_ZERO or
+ * io/read.c (next_char): Return a ' ' character when BLANK_ZERO or
BLANK_NULL are active.
(read_decimal): Interpret ' ' character correctly for BZ or BN.
(read_radix): Interpret ' ' character correctly for BZ or BN.
diff --git a/libgfortran/Makefile.am b/libgfortran/Makefile.am
index e13aaa51b9a..4f12f8f3774 100644
--- a/libgfortran/Makefile.am
+++ b/libgfortran/Makefile.am
@@ -21,16 +21,14 @@ AM_CPPFLAGS = -iquote$(srcdir)/io
libgfortranincludedir = $(includedir)/gforio
gfor_io_src= \
-io/backspace.c \
io/close.c \
-io/endfile.c \
+io/file_pos.c \
io/format.c \
io/inquire.c \
io/list_read.c \
io/lock.c \
io/open.c \
io/read.c \
-io/rewind.c \
io/transfer.c \
io/unit.c \
io/unix.c \
@@ -87,6 +85,7 @@ intrinsics/symlnk.c \
intrinsics/system_clock.c \
intrinsics/time.c \
intrinsics/transpose_generic.c \
+intrinsics/tty.c \
intrinsics/umask.c \
intrinsics/unlink.c \
intrinsics/unpack_generic.c \
@@ -95,6 +94,7 @@ runtime/in_unpack_generic.c \
runtime/normalize.c
gfor_src= \
+runtime/compile_options.c \
runtime/environ.c \
runtime/error.c \
runtime/main.c \
diff --git a/libgfortran/Makefile.in b/libgfortran/Makefile.in
index 86bd9d7d4ca..d77ce3a3864 100644
--- a/libgfortran/Makefile.in
+++ b/libgfortran/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.5 from Makefile.am.
+# Makefile.in generated by automake 1.9.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -67,8 +67,8 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
am__installdirs = "$(DESTDIR)$(toolexeclibdir)"
toolexeclibLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(toolexeclib_LTLIBRARIES)
-am__objects_1 = environ.lo error.lo main.lo memory.lo pause.lo stop.lo \
- string.lo select.lo
+am__objects_1 = compile_options.lo environ.lo error.lo main.lo \
+ memory.lo pause.lo stop.lo string.lo select.lo
am__objects_2 = all_l4.lo all_l8.lo
am__objects_3 = any_l4.lo any_l8.lo
am__objects_4 = count_4_l4.lo count_8_l4.lo count_4_l8.lo \
@@ -127,9 +127,9 @@ am__objects_31 = $(am__objects_2) $(am__objects_3) $(am__objects_4) \
$(am__objects_23) $(am__objects_24) $(am__objects_25) \
$(am__objects_26) $(am__objects_27) $(am__objects_28) \
$(am__objects_29) $(am__objects_30)
-am__objects_32 = backspace.lo close.lo endfile.lo format.lo inquire.lo \
- list_read.lo lock.lo open.lo read.lo rewind.lo transfer.lo \
- unit.lo unix.lo write.lo
+am__objects_32 = close.lo file_pos.lo format.lo inquire.lo \
+ list_read.lo lock.lo open.lo read.lo transfer.lo unit.lo \
+ unix.lo write.lo
am__objects_33 = associated.lo abort.lo args.lo bessel.lo \
c99_functions.lo chdir.lo cpu_time.lo cshift0.lo \
date_and_time.lo env.lo erf.lo eoshift0.lo eoshift2.lo \
@@ -140,7 +140,7 @@ am__objects_33 = associated.lo abort.lo args.lo bessel.lo \
rand.lo random.lo rename.lo reshape_generic.lo \
reshape_packed.lo selected_int_kind.lo selected_real_kind.lo \
stat.lo symlnk.lo system_clock.lo time.lo transpose_generic.lo \
- umask.lo unlink.lo unpack_generic.lo in_pack_generic.lo \
+ tty.lo umask.lo unlink.lo unpack_generic.lo in_pack_generic.lo \
in_unpack_generic.lo normalize.lo
am__objects_34 =
am__objects_35 = _abs_c4.lo _abs_c8.lo _abs_i4.lo _abs_i8.lo \
@@ -174,7 +174,7 @@ LTPPFCCOMPILE = $(LIBTOOL) --mode=compile $(FC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_FCFLAGS) $(FCFLAGS)
FCLD = $(FC)
-FCLINK = $(LIBTOOL) --mode=link $(FCLD) $(AM_FCFLAGS) $(FCFLAGS) \
+FCLINK = $(LIBTOOL) --mode=link $(FCLD) $(AM_FFLAGS) $(FCFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -315,16 +315,14 @@ libgfortranbegin_la_LDFLAGS = -static
AM_CPPFLAGS = -iquote$(srcdir)/io
libgfortranincludedir = $(includedir)/gforio
gfor_io_src = \
-io/backspace.c \
io/close.c \
-io/endfile.c \
+io/file_pos.c \
io/format.c \
io/inquire.c \
io/list_read.c \
io/lock.c \
io/open.c \
io/read.c \
-io/rewind.c \
io/transfer.c \
io/unit.c \
io/unix.c \
@@ -381,6 +379,7 @@ intrinsics/symlnk.c \
intrinsics/system_clock.c \
intrinsics/time.c \
intrinsics/transpose_generic.c \
+intrinsics/tty.c \
intrinsics/umask.c \
intrinsics/unlink.c \
intrinsics/unpack_generic.c \
@@ -389,6 +388,7 @@ runtime/in_unpack_generic.c \
runtime/normalize.c
gfor_src = \
+runtime/compile_options.c \
runtime/environ.c \
runtime/error.c \
runtime/main.c \
@@ -832,6 +832,9 @@ f2c_specifics.lo: intrinsics/f2c_specifics.F90
.c.lo:
$(LTCOMPILE) -c -o $@ $<
+compile_options.lo: runtime/compile_options.c
+ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o compile_options.lo `test -f 'runtime/compile_options.c' || echo '$(srcdir)/'`runtime/compile_options.c
+
environ.lo: runtime/environ.c
$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o environ.lo `test -f 'runtime/environ.c' || echo '$(srcdir)/'`runtime/environ.c
@@ -1216,14 +1219,11 @@ pow_c4_i8.lo: generated/pow_c4_i8.c
pow_c8_i8.lo: generated/pow_c8_i8.c
$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pow_c8_i8.lo `test -f 'generated/pow_c8_i8.c' || echo '$(srcdir)/'`generated/pow_c8_i8.c
-backspace.lo: io/backspace.c
- $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o backspace.lo `test -f 'io/backspace.c' || echo '$(srcdir)/'`io/backspace.c
-
close.lo: io/close.c
$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o close.lo `test -f 'io/close.c' || echo '$(srcdir)/'`io/close.c
-endfile.lo: io/endfile.c
- $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o endfile.lo `test -f 'io/endfile.c' || echo '$(srcdir)/'`io/endfile.c
+file_pos.lo: io/file_pos.c
+ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o file_pos.lo `test -f 'io/file_pos.c' || echo '$(srcdir)/'`io/file_pos.c
format.lo: io/format.c
$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o format.lo `test -f 'io/format.c' || echo '$(srcdir)/'`io/format.c
@@ -1243,9 +1243,6 @@ open.lo: io/open.c
read.lo: io/read.c
$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o read.lo `test -f 'io/read.c' || echo '$(srcdir)/'`io/read.c
-rewind.lo: io/rewind.c
- $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o rewind.lo `test -f 'io/rewind.c' || echo '$(srcdir)/'`io/rewind.c
-
transfer.lo: io/transfer.c
$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o transfer.lo `test -f 'io/transfer.c' || echo '$(srcdir)/'`io/transfer.c
@@ -1393,6 +1390,9 @@ time.lo: intrinsics/time.c
transpose_generic.lo: intrinsics/transpose_generic.c
$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o transpose_generic.lo `test -f 'intrinsics/transpose_generic.c' || echo '$(srcdir)/'`intrinsics/transpose_generic.c
+tty.lo: intrinsics/tty.c
+ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tty.lo `test -f 'intrinsics/tty.c' || echo '$(srcdir)/'`intrinsics/tty.c
+
umask.lo: intrinsics/umask.c
$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o umask.lo `test -f 'intrinsics/umask.c' || echo '$(srcdir)/'`intrinsics/umask.c
diff --git a/libgfortran/acinclude.m4 b/libgfortran/acinclude.m4
index 2dc8f85e16b..4355d3a12fc 100644
--- a/libgfortran/acinclude.m4
+++ b/libgfortran/acinclude.m4
@@ -148,3 +148,38 @@ extern void bar(void) __attribute__((alias(ULP "foo")));],
AC_DEFINE(HAVE_ATTRIBUTE_ALIAS, 1,
[Define to 1 if the target supports __attribute__((alias(...))).])
fi])
+
+dnl Check whether target can unlink a file still open.
+AC_DEFUN([LIBGFOR_CHECK_UNLINK_OPEN_FILE], [
+ AC_CACHE_CHECK([whether the target can unlink an open file],
+ have_unlink_open_file, [
+ AC_TRY_RUN([
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <sys/stat.h>
+
+int main ()
+{
+ int fd;
+
+ fd = open ("testfile", O_RDWR | O_CREAT, S_IWRITE | S_IREAD);
+ if (fd <= 0)
+ return 0;
+ if (unlink ("testfile") == -1)
+ return 1;
+ write (fd, "This is a test\n", 15);
+ close (fd);
+
+ if (open ("testfile", O_RDONLY, S_IWRITE | S_IREAD) == -1 && errno == ENOENT)
+ return 0;
+ else
+ return 1;
+}], have_unlink_open_file=yes, have_unlink_open_file=no, [
+case "${target}" in
+ *mingw*) have_unlink_open_file=no ;;
+ *) have_unlink_open_file=yes;;
+esac])])
+if test x"$have_unlink_open_file" = xyes; then
+ AC_DEFINE(HAVE_UNLINK_OPEN_FILE, 1, [Define if target can unlink open files.])
+fi])
diff --git a/libgfortran/aclocal.m4 b/libgfortran/aclocal.m4
index b1f4012523e..02933d41d67 100644
--- a/libgfortran/aclocal.m4
+++ b/libgfortran/aclocal.m4
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.9.5 -*- Autoconf -*-
+# generated automatically by aclocal 1.9.4 -*- Autoconf -*-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005 Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+# Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -11,11 +11,23 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
-# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
+# -*- Autoconf -*-
+# Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+# Generated from amversion.in; do not edit by hand.
+
+# This 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 2, or (at your option)
+# any later version.
+
+# This program 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# AM_AUTOMAKE_VERSION(VERSION)
# ----------------------------
@@ -28,15 +40,26 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
# Call AM_AUTOMAKE_VERSION so it can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
- [AM_AUTOMAKE_VERSION([1.9.5])])
+ [AM_AUTOMAKE_VERSION([1.9.4])])
-# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+# AM_AUX_DIR_EXPAND
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
+# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+
+# This 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 2, or (at your option)
+# any later version.
+
+# This program 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
@@ -83,16 +106,26 @@ AC_PREREQ([2.50])dnl
am_aux_dir=`cd $ac_aux_dir && pwd`
])
-# AM_CONDITIONAL -*- Autoconf -*-
+# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
+# Copyright (C) 1997, 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
+
+# This 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 2, or (at your option)
+# any later version.
+
+# This program 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
-# serial 7
+# serial 6
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
@@ -116,19 +149,30 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Do all the work for Automake. -*- Autoconf -*-
+# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# This macro actually does too much some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-# serial 12
+# This 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 2, or (at your option)
+# any later version.
-# This macro actually does too much. Some checks are only needed if
-# your package does certain things. But this isn't really a big deal.
+# This program 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 11
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
@@ -230,31 +274,54 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
# AM_PROG_INSTALL_SH
# ------------------
# Define $install_sh.
+
+# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+
+# This 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 2, or (at your option)
+# any later version.
+
+# This program 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
install_sh=${install_sh-"$am_aux_dir/install-sh"}
AC_SUBST(install_sh)])
-# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
+# Add --enable-maintainer-mode option to configure.
# From Jim Meyering
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004
# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-# serial 4
+# This 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 2, or (at your option)
+# any later version.
+
+# This program 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 3
AC_DEFUN([AM_MAINTAINER_MODE],
[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
@@ -273,16 +340,27 @@ AC_DEFUN([AM_MAINTAINER_MODE],
AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+# -*- Autoconf -*-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-# serial 4
+# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
+
+# This 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 2, or (at your option)
+# any later version.
+
+# This program 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 3
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
@@ -308,16 +386,27 @@ else
fi
])
-# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
# AM_PROG_MKDIR_P
# ---------------
# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
-#
+
+# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+
+# This 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 2, or (at your option)
+# any later version.
+
+# This program 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
# created by `make install' are always world readable, even if the
# installer happens to have an overly restrictive umask (e.g. 077).
@@ -371,14 +460,25 @@ else
fi
AC_SUBST([mkdir_p])])
-# Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005
+# Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004
# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-# serial 5
+# This 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 2, or (at your option)
+# any later version.
+
+# This program 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 4
# AM_ENABLE_MULTILIB([MAKEFILE], [REL-TO-TOP-SRCDIR])
# ---------------------------------------------------
@@ -429,15 +529,26 @@ multi_basedir="$multi_basedir"
CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
CC="$CC"])])dnl
-# Helper functions for option handling. -*- Autoconf -*-
+# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
+# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
-# serial 3
+# This 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 2, or (at your option)
+# any later version.
+
+# This program 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 2
# _AM_MANGLE_OPTION(NAME)
# -----------------------
@@ -462,16 +573,28 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-# Check to make sure that the build environment is sane. -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
+# Check to make sure that the build environment is sane.
+#
-# serial 4
+# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc.
+
+# This 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 2, or (at your option)
+# any later version.
+
+# This program 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 3
# AM_SANITY_CHECK
# ---------------
@@ -514,14 +637,25 @@ Check your system clock])
fi
AC_MSG_RESULT(yes)])
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
# AM_PROG_INSTALL_STRIP
-# ---------------------
+
+# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+
+# This 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 2, or (at your option)
+# any later version.
+
+# This program 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
# One issue with vendor `install' (even GNU) is that you can't
# specify the program used to strip binaries. This is especially
# annoying in cross-compiling environments, where the build's strip
@@ -544,13 +678,25 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
+# Copyright (C) 2004 Free Software Foundation, Inc.
+
+# This 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 2, or (at your option)
+# any later version.
+
+# This program 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 1
-# serial 2
# _AM_PROG_TAR(FORMAT)
# --------------------
diff --git a/libgfortran/c99_protos.h b/libgfortran/c99_protos.h
index d43bff5cc7e..a42380de670 100644
--- a/libgfortran/c99_protos.h
+++ b/libgfortran/c99_protos.h
@@ -15,8 +15,8 @@ GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with libgfortran; see the file COPYING.LIB. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with other files,
some of which are compiled with GCC, to produce an executable,
diff --git a/libgfortran/config.h.in b/libgfortran/config.h.in
index 1b58cc86a86..c84938e0809 100644
--- a/libgfortran/config.h.in
+++ b/libgfortran/config.h.in
@@ -291,6 +291,9 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
+/* Define if target can unlink open files. */
+#undef HAVE_UNLINK_OPEN_FILE
+
/* libm includes y0 */
#undef HAVE_Y0
diff --git a/libgfortran/configure b/libgfortran/configure
index 28474dd88c0..293fe0d53ef 100755
--- a/libgfortran/configure
+++ b/libgfortran/configure
@@ -970,7 +970,7 @@ esac
else
echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
fi
- cd $ac_popdir
+ cd "$ac_popdir"
done
fi
@@ -2602,8 +2602,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2661,8 +2660,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2778,8 +2776,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2833,8 +2830,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2879,8 +2875,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2924,8 +2919,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4123,7 +4117,7 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
case $host in
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 4126 "configure"' > conftest.$ac_ext
+ echo '#line 4120 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -4270,8 +4264,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4514,7 +4507,7 @@ fi
# Provide some information about the compiler.
-echo "$as_me:4517:" \
+echo "$as_me:4510:" \
"checking for Fortran compiler version" >&5
ac_compiler=`set X $ac_compile; echo $2`
{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
@@ -4560,8 +4553,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_fc_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_fc_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4610,8 +4602,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_fc_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_fc_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4718,8 +4709,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4748,8 +4738,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4819,8 +4808,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4872,8 +4860,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4944,8 +4931,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4997,8 +4983,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5321,8 +5306,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5492,8 +5476,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5561,8 +5544,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5751,8 +5733,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5992,8 +5973,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6061,8 +6041,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6234,8 +6213,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6388,8 +6366,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6541,8 +6518,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6687,8 +6663,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6835,8 +6810,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6879,8 +6853,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6945,8 +6918,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6989,8 +6961,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7055,8 +7026,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7099,8 +7069,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7179,8 +7148,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7294,8 +7262,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7408,8 +7375,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7516,8 +7482,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7594,8 +7559,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7671,8 +7635,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7748,8 +7711,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7828,8 +7790,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7905,8 +7866,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7982,8 +7942,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8059,8 +8018,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8136,8 +8094,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8213,8 +8170,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8290,8 +8246,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8367,8 +8322,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8444,8 +8398,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8521,8 +8474,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8598,8 +8550,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8675,8 +8626,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8752,8 +8702,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8829,8 +8778,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8906,8 +8854,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8983,8 +8930,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9060,8 +9006,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9137,8 +9082,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9214,8 +9158,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9291,8 +9234,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9368,8 +9310,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9445,8 +9386,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9522,8 +9462,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9599,8 +9538,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9676,8 +9614,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9753,8 +9690,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9830,8 +9766,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9907,8 +9842,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9984,8 +9918,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10061,8 +9994,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10138,8 +10070,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10215,8 +10146,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10292,8 +10222,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10369,8 +10298,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10446,8 +10374,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10523,8 +10450,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10600,8 +10526,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10677,8 +10602,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10754,8 +10678,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10831,8 +10754,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10908,8 +10830,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10985,8 +10906,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11062,8 +10982,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11139,8 +11058,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11216,8 +11134,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11293,8 +11210,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11370,8 +11286,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11447,8 +11362,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11524,8 +11438,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11603,8 +11516,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11689,8 +11601,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11796,8 +11707,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11859,8 +11769,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11998,8 +11907,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -12077,8 +11985,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -12146,8 +12053,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -12211,8 +12117,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -12284,8 +12189,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -12317,6 +12221,84 @@ _ACEOF
fi
+# Various other checks on target
+
+ echo "$as_me:$LINENO: checking whether the target can unlink an open file" >&5
+echo $ECHO_N "checking whether the target can unlink an open file... $ECHO_C" >&6
+if test "${have_unlink_open_file+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ if test "$cross_compiling" = yes; then
+
+case "${target}" in
+ *mingw*) have_unlink_open_file=no ;;
+ *) have_unlink_open_file=yes;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <sys/stat.h>
+
+int main ()
+{
+ int fd;
+
+ fd = open ("testfile", O_RDWR | O_CREAT, S_IWRITE | S_IREAD);
+ if (fd <= 0)
+ return 0;
+ if (unlink ("testfile") == -1)
+ return 1;
+ write (fd, "This is a test\n", 15);
+ close (fd);
+
+ if (open ("testfile", O_RDONLY, S_IWRITE | S_IREAD) == -1 && errno == ENOENT)
+ return 0;
+ else
+ return 1;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ have_unlink_open_file=yes
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+have_unlink_open_file=no
+fi
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+echo "$as_me:$LINENO: result: $have_unlink_open_file" >&5
+echo "${ECHO_T}$have_unlink_open_file" >&6
+if test x"$have_unlink_open_file" = xyes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_UNLINK_OPEN_FILE 1
+_ACEOF
+
+fi
+
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
@@ -13254,11 +13236,6 @@ esac
*) ac_INSTALL=$ac_top_builddir$INSTALL ;;
esac
- if test x"$ac_file" != x-; then
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- rm -f "$ac_file"
- fi
# Let's still pretend it is `configure' which instantiates (i.e., don't
# use $as_me), people would be surprised to read:
# /* config.h. Generated by config.status. */
@@ -13297,6 +13274,12 @@ echo "$as_me: error: cannot find input file: $f" >&2;}
fi;;
esac
done` || { (exit 1); exit 1; }
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
sed "$ac_vpsub
diff --git a/libgfortran/configure.ac b/libgfortran/configure.ac
index 9dd1f5a86c8..41dc7e67b54 100644
--- a/libgfortran/configure.ac
+++ b/libgfortran/configure.ac
@@ -258,6 +258,9 @@ LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY
LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT
LIBGFOR_CHECK_ATTRIBUTE_ALIAS
+# Various other checks on target
+LIBGFOR_CHECK_UNLINK_OPEN_FILE
+
AC_CACHE_SAVE
if test ${multilib} = yes; then
diff --git a/libgfortran/generated/_abs_c4.f90 b/libgfortran/generated/_abs_c4.f90
index c52f9b40178..342dc3d1638 100644
--- a/libgfortran/generated/_abs_c4.f90
+++ b/libgfortran/generated/_abs_c4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_abs_c8.f90 b/libgfortran/generated/_abs_c8.f90
index c5d2582c228..e3e18d1b865 100644
--- a/libgfortran/generated/_abs_c8.f90
+++ b/libgfortran/generated/_abs_c8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_abs_i4.f90 b/libgfortran/generated/_abs_i4.f90
index c4db4851cab..97d94a1a7b7 100644
--- a/libgfortran/generated/_abs_i4.f90
+++ b/libgfortran/generated/_abs_i4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_abs_i8.f90 b/libgfortran/generated/_abs_i8.f90
index 1564fa09a4c..909cccfb002 100644
--- a/libgfortran/generated/_abs_i8.f90
+++ b/libgfortran/generated/_abs_i8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_abs_r4.f90 b/libgfortran/generated/_abs_r4.f90
index 2145cfe571f..52a50056af8 100644
--- a/libgfortran/generated/_abs_r4.f90
+++ b/libgfortran/generated/_abs_r4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_abs_r8.f90 b/libgfortran/generated/_abs_r8.f90
index 691ec799aff..0f137b626d4 100644
--- a/libgfortran/generated/_abs_r8.f90
+++ b/libgfortran/generated/_abs_r8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_acos_r4.f90 b/libgfortran/generated/_acos_r4.f90
index bed6e3b4640..8163e387ce3 100644
--- a/libgfortran/generated/_acos_r4.f90
+++ b/libgfortran/generated/_acos_r4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_acos_r8.f90 b/libgfortran/generated/_acos_r8.f90
index 00ef71cc41d..d2570911dc2 100644
--- a/libgfortran/generated/_acos_r8.f90
+++ b/libgfortran/generated/_acos_r8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_aint_r4.f90 b/libgfortran/generated/_aint_r4.f90
index 1378fcce31e..a525748c50a 100644
--- a/libgfortran/generated/_aint_r4.f90
+++ b/libgfortran/generated/_aint_r4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_aint_r8.f90 b/libgfortran/generated/_aint_r8.f90
index e074669d872..0f6e5dd418a 100644
--- a/libgfortran/generated/_aint_r8.f90
+++ b/libgfortran/generated/_aint_r8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_anint_r4.f90 b/libgfortran/generated/_anint_r4.f90
index 6ffe5576618..8b6d62a359a 100644
--- a/libgfortran/generated/_anint_r4.f90
+++ b/libgfortran/generated/_anint_r4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_anint_r8.f90 b/libgfortran/generated/_anint_r8.f90
index a2bc3cac3c8..4dc6ab18685 100644
--- a/libgfortran/generated/_anint_r8.f90
+++ b/libgfortran/generated/_anint_r8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_asin_r4.f90 b/libgfortran/generated/_asin_r4.f90
index cc377f05e48..907d495e505 100644
--- a/libgfortran/generated/_asin_r4.f90
+++ b/libgfortran/generated/_asin_r4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_asin_r8.f90 b/libgfortran/generated/_asin_r8.f90
index 52e5019534c..af035a1b04f 100644
--- a/libgfortran/generated/_asin_r8.f90
+++ b/libgfortran/generated/_asin_r8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_atan2_r4.f90 b/libgfortran/generated/_atan2_r4.f90
index b3ad604dcfa..92fa2d1b6e8 100644
--- a/libgfortran/generated/_atan2_r4.f90
+++ b/libgfortran/generated/_atan2_r4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_atan2_r8.f90 b/libgfortran/generated/_atan2_r8.f90
index 38d6348d3c1..ef359996a88 100644
--- a/libgfortran/generated/_atan2_r8.f90
+++ b/libgfortran/generated/_atan2_r8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_atan_r4.f90 b/libgfortran/generated/_atan_r4.f90
index 078a8d61995..e3410cfb0fd 100644
--- a/libgfortran/generated/_atan_r4.f90
+++ b/libgfortran/generated/_atan_r4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_atan_r8.f90 b/libgfortran/generated/_atan_r8.f90
index 7e6179dc197..2e0b75bf2aa 100644
--- a/libgfortran/generated/_atan_r8.f90
+++ b/libgfortran/generated/_atan_r8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_conjg_c4.f90 b/libgfortran/generated/_conjg_c4.f90
index d577fb221a9..e5904db113e 100644
--- a/libgfortran/generated/_conjg_c4.f90
+++ b/libgfortran/generated/_conjg_c4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_conjg_c8.f90 b/libgfortran/generated/_conjg_c8.f90
index 1fabbe8d9e7..5e6d35b5e0e 100644
--- a/libgfortran/generated/_conjg_c8.f90
+++ b/libgfortran/generated/_conjg_c8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_cos_c4.f90 b/libgfortran/generated/_cos_c4.f90
index 6173bdc82db..336f25077c0 100644
--- a/libgfortran/generated/_cos_c4.f90
+++ b/libgfortran/generated/_cos_c4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_cos_c8.f90 b/libgfortran/generated/_cos_c8.f90
index 9268f868594..68e1c707f23 100644
--- a/libgfortran/generated/_cos_c8.f90
+++ b/libgfortran/generated/_cos_c8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_cos_r4.f90 b/libgfortran/generated/_cos_r4.f90
index 1a5c4263994..028c69de1c0 100644
--- a/libgfortran/generated/_cos_r4.f90
+++ b/libgfortran/generated/_cos_r4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_cos_r8.f90 b/libgfortran/generated/_cos_r8.f90
index 0be1d81b125..11edb56a61f 100644
--- a/libgfortran/generated/_cos_r8.f90
+++ b/libgfortran/generated/_cos_r8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_cosh_r4.f90 b/libgfortran/generated/_cosh_r4.f90
index 66219d09086..7fab9fc404d 100644
--- a/libgfortran/generated/_cosh_r4.f90
+++ b/libgfortran/generated/_cosh_r4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_cosh_r8.f90 b/libgfortran/generated/_cosh_r8.f90
index 8440fc00878..855ee485c5e 100644
--- a/libgfortran/generated/_cosh_r8.f90
+++ b/libgfortran/generated/_cosh_r8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_dim_i4.f90 b/libgfortran/generated/_dim_i4.f90
index 3dc0543e659..4396c66bcc0 100644
--- a/libgfortran/generated/_dim_i4.f90
+++ b/libgfortran/generated/_dim_i4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_dim_i8.f90 b/libgfortran/generated/_dim_i8.f90
index a2fe7d7eb1a..0584d1a3a45 100644
--- a/libgfortran/generated/_dim_i8.f90
+++ b/libgfortran/generated/_dim_i8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_dim_r4.f90 b/libgfortran/generated/_dim_r4.f90
index e243cd413ea..7fd1bc5dc85 100644
--- a/libgfortran/generated/_dim_r4.f90
+++ b/libgfortran/generated/_dim_r4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_dim_r8.f90 b/libgfortran/generated/_dim_r8.f90
index 2b90ef8989d..3e43f11f1f6 100644
--- a/libgfortran/generated/_dim_r8.f90
+++ b/libgfortran/generated/_dim_r8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_exp_c4.f90 b/libgfortran/generated/_exp_c4.f90
index d17760cfc0b..28044eb75da 100644
--- a/libgfortran/generated/_exp_c4.f90
+++ b/libgfortran/generated/_exp_c4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_exp_c8.f90 b/libgfortran/generated/_exp_c8.f90
index df1ac32392d..17f15375f0c 100644
--- a/libgfortran/generated/_exp_c8.f90
+++ b/libgfortran/generated/_exp_c8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_exp_r4.f90 b/libgfortran/generated/_exp_r4.f90
index df6f19568fd..261f6a08489 100644
--- a/libgfortran/generated/_exp_r4.f90
+++ b/libgfortran/generated/_exp_r4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_exp_r8.f90 b/libgfortran/generated/_exp_r8.f90
index 5e95be5d414..f525b413a1b 100644
--- a/libgfortran/generated/_exp_r8.f90
+++ b/libgfortran/generated/_exp_r8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_log10_r4.f90 b/libgfortran/generated/_log10_r4.f90
index 99a004e4ccb..712d56b4aae 100644
--- a/libgfortran/generated/_log10_r4.f90
+++ b/libgfortran/generated/_log10_r4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_log10_r8.f90 b/libgfortran/generated/_log10_r8.f90
index 88a53a9e413..7c3f63de5e1 100644
--- a/libgfortran/generated/_log10_r8.f90
+++ b/libgfortran/generated/_log10_r8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_log_c4.f90 b/libgfortran/generated/_log_c4.f90
index 90eefd71407..7f83e527f26 100644
--- a/libgfortran/generated/_log_c4.f90
+++ b/libgfortran/generated/_log_c4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_log_c8.f90 b/libgfortran/generated/_log_c8.f90
index 8872c86a070..92b267be0a9 100644
--- a/libgfortran/generated/_log_c8.f90
+++ b/libgfortran/generated/_log_c8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_log_r4.f90 b/libgfortran/generated/_log_r4.f90
index 1758eb62e6e..6e667a02718 100644
--- a/libgfortran/generated/_log_r4.f90
+++ b/libgfortran/generated/_log_r4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_log_r8.f90 b/libgfortran/generated/_log_r8.f90
index 21d26b70f72..38a86283504 100644
--- a/libgfortran/generated/_log_r8.f90
+++ b/libgfortran/generated/_log_r8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_mod_i4.f90 b/libgfortran/generated/_mod_i4.f90
index b1c822752f6..3776e05c4d8 100644
--- a/libgfortran/generated/_mod_i4.f90
+++ b/libgfortran/generated/_mod_i4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_mod_i8.f90 b/libgfortran/generated/_mod_i8.f90
index 7ad92cf14c0..4dd2b52d2c9 100644
--- a/libgfortran/generated/_mod_i8.f90
+++ b/libgfortran/generated/_mod_i8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_mod_r4.f90 b/libgfortran/generated/_mod_r4.f90
index 2ac97da6415..20fb128f1cc 100644
--- a/libgfortran/generated/_mod_r4.f90
+++ b/libgfortran/generated/_mod_r4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_mod_r8.f90 b/libgfortran/generated/_mod_r8.f90
index c29464e082b..25b90d4df25 100644
--- a/libgfortran/generated/_mod_r8.f90
+++ b/libgfortran/generated/_mod_r8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_sign_i4.f90 b/libgfortran/generated/_sign_i4.f90
index 36a224e893a..420318876c2 100644
--- a/libgfortran/generated/_sign_i4.f90
+++ b/libgfortran/generated/_sign_i4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_sign_i8.f90 b/libgfortran/generated/_sign_i8.f90
index bf3d4c77129..e3cd674cbb9 100644
--- a/libgfortran/generated/_sign_i8.f90
+++ b/libgfortran/generated/_sign_i8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_sign_r4.f90 b/libgfortran/generated/_sign_r4.f90
index 5e6392cd959..f5fef6a2031 100644
--- a/libgfortran/generated/_sign_r4.f90
+++ b/libgfortran/generated/_sign_r4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_sign_r8.f90 b/libgfortran/generated/_sign_r8.f90
index dbb915397a7..b676205d187 100644
--- a/libgfortran/generated/_sign_r8.f90
+++ b/libgfortran/generated/_sign_r8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_sin_c4.f90 b/libgfortran/generated/_sin_c4.f90
index 0198cf1c670..059bd943981 100644
--- a/libgfortran/generated/_sin_c4.f90
+++ b/libgfortran/generated/_sin_c4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_sin_c8.f90 b/libgfortran/generated/_sin_c8.f90
index 0a1c034d5c4..56c4cfa3895 100644
--- a/libgfortran/generated/_sin_c8.f90
+++ b/libgfortran/generated/_sin_c8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_sin_r4.f90 b/libgfortran/generated/_sin_r4.f90
index cdeca6c0676..4520ad7d9ef 100644
--- a/libgfortran/generated/_sin_r4.f90
+++ b/libgfortran/generated/_sin_r4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_sin_r8.f90 b/libgfortran/generated/_sin_r8.f90
index d676e88c6b0..20dd269fef1 100644
--- a/libgfortran/generated/_sin_r8.f90
+++ b/libgfortran/generated/_sin_r8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_sinh_r4.f90 b/libgfortran/generated/_sinh_r4.f90
index 6658610151b..545d0aa5ded 100644
--- a/libgfortran/generated/_sinh_r4.f90
+++ b/libgfortran/generated/_sinh_r4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_sinh_r8.f90 b/libgfortran/generated/_sinh_r8.f90
index 851ff28503e..b3788390148 100644
--- a/libgfortran/generated/_sinh_r8.f90
+++ b/libgfortran/generated/_sinh_r8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_sqrt_c4.f90 b/libgfortran/generated/_sqrt_c4.f90
index 21053234375..901f2d7e5c1 100644
--- a/libgfortran/generated/_sqrt_c4.f90
+++ b/libgfortran/generated/_sqrt_c4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_sqrt_c8.f90 b/libgfortran/generated/_sqrt_c8.f90
index fd48577c1a8..023620f3285 100644
--- a/libgfortran/generated/_sqrt_c8.f90
+++ b/libgfortran/generated/_sqrt_c8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_sqrt_r4.f90 b/libgfortran/generated/_sqrt_r4.f90
index dd234dacfc6..d55cfa723df 100644
--- a/libgfortran/generated/_sqrt_r4.f90
+++ b/libgfortran/generated/_sqrt_r4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_sqrt_r8.f90 b/libgfortran/generated/_sqrt_r8.f90
index 52f8194b3b9..28c1d5db127 100644
--- a/libgfortran/generated/_sqrt_r8.f90
+++ b/libgfortran/generated/_sqrt_r8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_tan_r4.f90 b/libgfortran/generated/_tan_r4.f90
index deadcfb8614..7e0fd557881 100644
--- a/libgfortran/generated/_tan_r4.f90
+++ b/libgfortran/generated/_tan_r4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_tan_r8.f90 b/libgfortran/generated/_tan_r8.f90
index 8ed403ccca7..5a8716ea1b6 100644
--- a/libgfortran/generated/_tan_r8.f90
+++ b/libgfortran/generated/_tan_r8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_tanh_r4.f90 b/libgfortran/generated/_tanh_r4.f90
index 8b01dda363c..0f3174b468a 100644
--- a/libgfortran/generated/_tanh_r4.f90
+++ b/libgfortran/generated/_tanh_r4.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/_tanh_r8.f90 b/libgfortran/generated/_tanh_r8.f90
index 86cc445a6e6..9d6ed774f05 100644
--- a/libgfortran/generated/_tanh_r8.f90
+++ b/libgfortran/generated/_tanh_r8.f90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.
diff --git a/libgfortran/generated/all_l4.c b/libgfortran/generated/all_l4.c
index 8889fd0368a..82035f19cbe 100644
--- a/libgfortran/generated/all_l4.c
+++ b/libgfortran/generated/all_l4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/all_l8.c b/libgfortran/generated/all_l8.c
index d1a9f402e3a..41552d21e67 100644
--- a/libgfortran/generated/all_l8.c
+++ b/libgfortran/generated/all_l8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/any_l4.c b/libgfortran/generated/any_l4.c
index c53c06b5181..4d3153e4243 100644
--- a/libgfortran/generated/any_l4.c
+++ b/libgfortran/generated/any_l4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/any_l8.c b/libgfortran/generated/any_l8.c
index f901359cb71..29fdcd13d78 100644
--- a/libgfortran/generated/any_l8.c
+++ b/libgfortran/generated/any_l8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/count_4_l4.c b/libgfortran/generated/count_4_l4.c
index a3030c1b508..c2fdbf0b394 100644
--- a/libgfortran/generated/count_4_l4.c
+++ b/libgfortran/generated/count_4_l4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/count_4_l8.c b/libgfortran/generated/count_4_l8.c
index a6fe2c63057..473483a12f2 100644
--- a/libgfortran/generated/count_4_l8.c
+++ b/libgfortran/generated/count_4_l8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/count_8_l4.c b/libgfortran/generated/count_8_l4.c
index c6a3e645ab9..595cb40a5a9 100644
--- a/libgfortran/generated/count_8_l4.c
+++ b/libgfortran/generated/count_8_l4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/count_8_l8.c b/libgfortran/generated/count_8_l8.c
index ca68b15d2d0..1e9bd619f2a 100644
--- a/libgfortran/generated/count_8_l8.c
+++ b/libgfortran/generated/count_8_l8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/cshift1_4.c b/libgfortran/generated/cshift1_4.c
index 1f3eee3bc74..43ab52b4db2 100644
--- a/libgfortran/generated/cshift1_4.c
+++ b/libgfortran/generated/cshift1_4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/cshift1_8.c b/libgfortran/generated/cshift1_8.c
index d84c859b167..c9664b1ed9f 100644
--- a/libgfortran/generated/cshift1_8.c
+++ b/libgfortran/generated/cshift1_8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/dotprod_c4.c b/libgfortran/generated/dotprod_c4.c
index 96450a0a7e0..e047a90c2aa 100644
--- a/libgfortran/generated/dotprod_c4.c
+++ b/libgfortran/generated/dotprod_c4.c
@@ -26,8 +26,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/dotprod_c8.c b/libgfortran/generated/dotprod_c8.c
index fe2d82d52ac..747d3a1b245 100644
--- a/libgfortran/generated/dotprod_c8.c
+++ b/libgfortran/generated/dotprod_c8.c
@@ -26,8 +26,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/dotprod_i4.c b/libgfortran/generated/dotprod_i4.c
index c964dbc17d0..65245ab4de7 100644
--- a/libgfortran/generated/dotprod_i4.c
+++ b/libgfortran/generated/dotprod_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/dotprod_i8.c b/libgfortran/generated/dotprod_i8.c
index 845bf68d491..3c857e2c39f 100644
--- a/libgfortran/generated/dotprod_i8.c
+++ b/libgfortran/generated/dotprod_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/dotprod_l4.c b/libgfortran/generated/dotprod_l4.c
index a237a8b49a3..a8fdf951072 100644
--- a/libgfortran/generated/dotprod_l4.c
+++ b/libgfortran/generated/dotprod_l4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/dotprod_l8.c b/libgfortran/generated/dotprod_l8.c
index 2c1462e5ae6..cbb2961199a 100644
--- a/libgfortran/generated/dotprod_l8.c
+++ b/libgfortran/generated/dotprod_l8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/dotprod_r4.c b/libgfortran/generated/dotprod_r4.c
index bd72a334f8f..28f8fcdb6b5 100644
--- a/libgfortran/generated/dotprod_r4.c
+++ b/libgfortran/generated/dotprod_r4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/dotprod_r8.c b/libgfortran/generated/dotprod_r8.c
index 8f523f3e9dc..b0e704e306d 100644
--- a/libgfortran/generated/dotprod_r8.c
+++ b/libgfortran/generated/dotprod_r8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/eoshift1_4.c b/libgfortran/generated/eoshift1_4.c
index c85b2de0997..d2580f8974a 100644
--- a/libgfortran/generated/eoshift1_4.c
+++ b/libgfortran/generated/eoshift1_4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/eoshift1_8.c b/libgfortran/generated/eoshift1_8.c
index 685150c5201..5da23ce95e5 100644
--- a/libgfortran/generated/eoshift1_8.c
+++ b/libgfortran/generated/eoshift1_8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/eoshift3_4.c b/libgfortran/generated/eoshift3_4.c
index 7e715bebfe5..ab0d4e75876 100644
--- a/libgfortran/generated/eoshift3_4.c
+++ b/libgfortran/generated/eoshift3_4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/eoshift3_8.c b/libgfortran/generated/eoshift3_8.c
index c5d6f1165f0..81571f43bbe 100644
--- a/libgfortran/generated/eoshift3_8.c
+++ b/libgfortran/generated/eoshift3_8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/exp_c4.c b/libgfortran/generated/exp_c4.c
index c4bc41bad20..0e4999275dc 100644
--- a/libgfortran/generated/exp_c4.c
+++ b/libgfortran/generated/exp_c4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include <math.h>
#include "libgfortran.h"
diff --git a/libgfortran/generated/exp_c8.c b/libgfortran/generated/exp_c8.c
index 9c0fb20e248..a1228568043 100644
--- a/libgfortran/generated/exp_c8.c
+++ b/libgfortran/generated/exp_c8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include <math.h>
#include "libgfortran.h"
diff --git a/libgfortran/generated/exponent_r4.c b/libgfortran/generated/exponent_r4.c
index b268140a865..3d0ffb370d9 100644
--- a/libgfortran/generated/exponent_r4.c
+++ b/libgfortran/generated/exponent_r4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include <math.h>
#include "libgfortran.h"
diff --git a/libgfortran/generated/exponent_r8.c b/libgfortran/generated/exponent_r8.c
index e8670d5fc33..9fc8bff27b1 100644
--- a/libgfortran/generated/exponent_r8.c
+++ b/libgfortran/generated/exponent_r8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include <math.h>
#include "libgfortran.h"
diff --git a/libgfortran/generated/fraction_r4.c b/libgfortran/generated/fraction_r4.c
index 9f4ba28483b..d7ca25f0d35 100644
--- a/libgfortran/generated/fraction_r4.c
+++ b/libgfortran/generated/fraction_r4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include <math.h>
#include "libgfortran.h"
diff --git a/libgfortran/generated/fraction_r8.c b/libgfortran/generated/fraction_r8.c
index 00ad7251005..d9b6c44ac70 100644
--- a/libgfortran/generated/fraction_r8.c
+++ b/libgfortran/generated/fraction_r8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include <math.h>
#include "libgfortran.h"
diff --git a/libgfortran/generated/hyp_c4.c b/libgfortran/generated/hyp_c4.c
index 1fe11e1b536..5fdff7b62e7 100644
--- a/libgfortran/generated/hyp_c4.c
+++ b/libgfortran/generated/hyp_c4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include <math.h>
#include "libgfortran.h"
diff --git a/libgfortran/generated/hyp_c8.c b/libgfortran/generated/hyp_c8.c
index 01b3cab5a5e..436a6a69741 100644
--- a/libgfortran/generated/hyp_c8.c
+++ b/libgfortran/generated/hyp_c8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include <math.h>
#include "libgfortran.h"
diff --git a/libgfortran/generated/in_pack_c4.c b/libgfortran/generated/in_pack_c4.c
index ed3b8ec6ef6..c1446ad02b3 100644
--- a/libgfortran/generated/in_pack_c4.c
+++ b/libgfortran/generated/in_pack_c4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/in_pack_c8.c b/libgfortran/generated/in_pack_c8.c
index e313540f7bf..666585960c3 100644
--- a/libgfortran/generated/in_pack_c8.c
+++ b/libgfortran/generated/in_pack_c8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/in_pack_i4.c b/libgfortran/generated/in_pack_i4.c
index 75ea83bda9d..1034bde0e89 100644
--- a/libgfortran/generated/in_pack_i4.c
+++ b/libgfortran/generated/in_pack_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/in_pack_i8.c b/libgfortran/generated/in_pack_i8.c
index 69cc861d404..aa7e98c38c5 100644
--- a/libgfortran/generated/in_pack_i8.c
+++ b/libgfortran/generated/in_pack_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/in_unpack_c4.c b/libgfortran/generated/in_unpack_c4.c
index e24939e5e52..7388ec9d1da 100644
--- a/libgfortran/generated/in_unpack_c4.c
+++ b/libgfortran/generated/in_unpack_c4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/in_unpack_c8.c b/libgfortran/generated/in_unpack_c8.c
index 66865075c02..dc0e20dc7f4 100644
--- a/libgfortran/generated/in_unpack_c8.c
+++ b/libgfortran/generated/in_unpack_c8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/in_unpack_i4.c b/libgfortran/generated/in_unpack_i4.c
index 4759568d73a..8664b8c9925 100644
--- a/libgfortran/generated/in_unpack_i4.c
+++ b/libgfortran/generated/in_unpack_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/in_unpack_i8.c b/libgfortran/generated/in_unpack_i8.c
index 28c3a90f6af..8117c2ce8cb 100644
--- a/libgfortran/generated/in_unpack_i8.c
+++ b/libgfortran/generated/in_unpack_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/matmul_c4.c b/libgfortran/generated/matmul_c4.c
index d8ffa2969c5..8d13bb91625 100644
--- a/libgfortran/generated/matmul_c4.c
+++ b/libgfortran/generated/matmul_c4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/matmul_c8.c b/libgfortran/generated/matmul_c8.c
index bc9442f936d..ada73eb44b0 100644
--- a/libgfortran/generated/matmul_c8.c
+++ b/libgfortran/generated/matmul_c8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/matmul_i4.c b/libgfortran/generated/matmul_i4.c
index bc8a510d408..16c376f2185 100644
--- a/libgfortran/generated/matmul_i4.c
+++ b/libgfortran/generated/matmul_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/matmul_i8.c b/libgfortran/generated/matmul_i8.c
index d5cc8cbc965..0e29d078fa5 100644
--- a/libgfortran/generated/matmul_i8.c
+++ b/libgfortran/generated/matmul_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/matmul_l4.c b/libgfortran/generated/matmul_l4.c
index c2c0816345c..ff32eb44fd7 100644
--- a/libgfortran/generated/matmul_l4.c
+++ b/libgfortran/generated/matmul_l4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/matmul_l8.c b/libgfortran/generated/matmul_l8.c
index c5647aedf06..b726a70d5dc 100644
--- a/libgfortran/generated/matmul_l8.c
+++ b/libgfortran/generated/matmul_l8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/matmul_r4.c b/libgfortran/generated/matmul_r4.c
index 2e2327ecd97..91311ceedc8 100644
--- a/libgfortran/generated/matmul_r4.c
+++ b/libgfortran/generated/matmul_r4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/matmul_r8.c b/libgfortran/generated/matmul_r8.c
index ac11c984f3a..3748731a20f 100644
--- a/libgfortran/generated/matmul_r8.c
+++ b/libgfortran/generated/matmul_r8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/maxloc0_4_i4.c b/libgfortran/generated/maxloc0_4_i4.c
index 27acaaabc5f..5821e38ef22 100644
--- a/libgfortran/generated/maxloc0_4_i4.c
+++ b/libgfortran/generated/maxloc0_4_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/maxloc0_4_i8.c b/libgfortran/generated/maxloc0_4_i8.c
index ea383f99b27..ae935666d18 100644
--- a/libgfortran/generated/maxloc0_4_i8.c
+++ b/libgfortran/generated/maxloc0_4_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/maxloc0_4_r4.c b/libgfortran/generated/maxloc0_4_r4.c
index d09c89c78b0..a5e8c741e0d 100644
--- a/libgfortran/generated/maxloc0_4_r4.c
+++ b/libgfortran/generated/maxloc0_4_r4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/maxloc0_4_r8.c b/libgfortran/generated/maxloc0_4_r8.c
index 6b5c7b29ba3..e1ac5d7b9f6 100644
--- a/libgfortran/generated/maxloc0_4_r8.c
+++ b/libgfortran/generated/maxloc0_4_r8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/maxloc0_8_i4.c b/libgfortran/generated/maxloc0_8_i4.c
index 5c8a369c4c2..13720778c6d 100644
--- a/libgfortran/generated/maxloc0_8_i4.c
+++ b/libgfortran/generated/maxloc0_8_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/maxloc0_8_i8.c b/libgfortran/generated/maxloc0_8_i8.c
index 45325eadc83..83d17cc3d02 100644
--- a/libgfortran/generated/maxloc0_8_i8.c
+++ b/libgfortran/generated/maxloc0_8_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/maxloc0_8_r4.c b/libgfortran/generated/maxloc0_8_r4.c
index 6c3b836fc87..8eede406215 100644
--- a/libgfortran/generated/maxloc0_8_r4.c
+++ b/libgfortran/generated/maxloc0_8_r4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/maxloc0_8_r8.c b/libgfortran/generated/maxloc0_8_r8.c
index e77093d1199..55ed45fe513 100644
--- a/libgfortran/generated/maxloc0_8_r8.c
+++ b/libgfortran/generated/maxloc0_8_r8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/maxloc1_4_i4.c b/libgfortran/generated/maxloc1_4_i4.c
index 8a718dc5002..bfa721d4da2 100644
--- a/libgfortran/generated/maxloc1_4_i4.c
+++ b/libgfortran/generated/maxloc1_4_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/maxloc1_4_i8.c b/libgfortran/generated/maxloc1_4_i8.c
index e4fa1e0c202..81a09ba6b44 100644
--- a/libgfortran/generated/maxloc1_4_i8.c
+++ b/libgfortran/generated/maxloc1_4_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/maxloc1_4_r4.c b/libgfortran/generated/maxloc1_4_r4.c
index ac64ccba5db..d955b7756a0 100644
--- a/libgfortran/generated/maxloc1_4_r4.c
+++ b/libgfortran/generated/maxloc1_4_r4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/maxloc1_4_r8.c b/libgfortran/generated/maxloc1_4_r8.c
index deaf7dc6fe4..c2a2ec4df8f 100644
--- a/libgfortran/generated/maxloc1_4_r8.c
+++ b/libgfortran/generated/maxloc1_4_r8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/maxloc1_8_i4.c b/libgfortran/generated/maxloc1_8_i4.c
index 6f560ad61c9..344c13b2fbe 100644
--- a/libgfortran/generated/maxloc1_8_i4.c
+++ b/libgfortran/generated/maxloc1_8_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/maxloc1_8_i8.c b/libgfortran/generated/maxloc1_8_i8.c
index c1b0fa395a3..763667bb3ab 100644
--- a/libgfortran/generated/maxloc1_8_i8.c
+++ b/libgfortran/generated/maxloc1_8_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/maxloc1_8_r4.c b/libgfortran/generated/maxloc1_8_r4.c
index 7eb68bfcc92..8de42dfed95 100644
--- a/libgfortran/generated/maxloc1_8_r4.c
+++ b/libgfortran/generated/maxloc1_8_r4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/maxloc1_8_r8.c b/libgfortran/generated/maxloc1_8_r8.c
index 2311180a49c..8b22fdb7cbc 100644
--- a/libgfortran/generated/maxloc1_8_r8.c
+++ b/libgfortran/generated/maxloc1_8_r8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/maxval_i4.c b/libgfortran/generated/maxval_i4.c
index 7e2bb194767..2c82e335fa0 100644
--- a/libgfortran/generated/maxval_i4.c
+++ b/libgfortran/generated/maxval_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/maxval_i8.c b/libgfortran/generated/maxval_i8.c
index cb58a877540..94103261114 100644
--- a/libgfortran/generated/maxval_i8.c
+++ b/libgfortran/generated/maxval_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/maxval_r4.c b/libgfortran/generated/maxval_r4.c
index b6b2bfacdc8..6e4236caebd 100644
--- a/libgfortran/generated/maxval_r4.c
+++ b/libgfortran/generated/maxval_r4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/maxval_r8.c b/libgfortran/generated/maxval_r8.c
index abfa7776383..2d8eb2d6299 100644
--- a/libgfortran/generated/maxval_r8.c
+++ b/libgfortran/generated/maxval_r8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/minloc0_4_i4.c b/libgfortran/generated/minloc0_4_i4.c
index 7d59bc1e7bd..3b82c89a573 100644
--- a/libgfortran/generated/minloc0_4_i4.c
+++ b/libgfortran/generated/minloc0_4_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/minloc0_4_i8.c b/libgfortran/generated/minloc0_4_i8.c
index e34b5a823bb..98c56499f22 100644
--- a/libgfortran/generated/minloc0_4_i8.c
+++ b/libgfortran/generated/minloc0_4_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/minloc0_4_r4.c b/libgfortran/generated/minloc0_4_r4.c
index 67cff096a9a..c5f9a3796ee 100644
--- a/libgfortran/generated/minloc0_4_r4.c
+++ b/libgfortran/generated/minloc0_4_r4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/minloc0_4_r8.c b/libgfortran/generated/minloc0_4_r8.c
index 7079b3ca34f..d9d51b2beff 100644
--- a/libgfortran/generated/minloc0_4_r8.c
+++ b/libgfortran/generated/minloc0_4_r8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/minloc0_8_i4.c b/libgfortran/generated/minloc0_8_i4.c
index e7769c4e2fb..9d7abfa4fd9 100644
--- a/libgfortran/generated/minloc0_8_i4.c
+++ b/libgfortran/generated/minloc0_8_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/minloc0_8_i8.c b/libgfortran/generated/minloc0_8_i8.c
index 010cb34f40a..bfeda262527 100644
--- a/libgfortran/generated/minloc0_8_i8.c
+++ b/libgfortran/generated/minloc0_8_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/minloc0_8_r4.c b/libgfortran/generated/minloc0_8_r4.c
index 95ad69293d5..1b1d57bc9f0 100644
--- a/libgfortran/generated/minloc0_8_r4.c
+++ b/libgfortran/generated/minloc0_8_r4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/minloc0_8_r8.c b/libgfortran/generated/minloc0_8_r8.c
index 68c6e84151d..c7a276979db 100644
--- a/libgfortran/generated/minloc0_8_r8.c
+++ b/libgfortran/generated/minloc0_8_r8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/minloc1_4_i4.c b/libgfortran/generated/minloc1_4_i4.c
index 7f961afdd10..2aa1d4d057b 100644
--- a/libgfortran/generated/minloc1_4_i4.c
+++ b/libgfortran/generated/minloc1_4_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/minloc1_4_i8.c b/libgfortran/generated/minloc1_4_i8.c
index 8770f7c426d..08a74c7e60f 100644
--- a/libgfortran/generated/minloc1_4_i8.c
+++ b/libgfortran/generated/minloc1_4_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/minloc1_4_r4.c b/libgfortran/generated/minloc1_4_r4.c
index 97f3734205d..9d0af3bc4be 100644
--- a/libgfortran/generated/minloc1_4_r4.c
+++ b/libgfortran/generated/minloc1_4_r4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/minloc1_4_r8.c b/libgfortran/generated/minloc1_4_r8.c
index 52100877db2..de5440b6165 100644
--- a/libgfortran/generated/minloc1_4_r8.c
+++ b/libgfortran/generated/minloc1_4_r8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/minloc1_8_i4.c b/libgfortran/generated/minloc1_8_i4.c
index 322f98edaad..66699886d74 100644
--- a/libgfortran/generated/minloc1_8_i4.c
+++ b/libgfortran/generated/minloc1_8_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/minloc1_8_i8.c b/libgfortran/generated/minloc1_8_i8.c
index e9c2088a8fc..4adb1492d98 100644
--- a/libgfortran/generated/minloc1_8_i8.c
+++ b/libgfortran/generated/minloc1_8_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/minloc1_8_r4.c b/libgfortran/generated/minloc1_8_r4.c
index d0d74e49830..45cb8343eef 100644
--- a/libgfortran/generated/minloc1_8_r4.c
+++ b/libgfortran/generated/minloc1_8_r4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/minloc1_8_r8.c b/libgfortran/generated/minloc1_8_r8.c
index 8d0dec6da48..f6c72e49837 100644
--- a/libgfortran/generated/minloc1_8_r8.c
+++ b/libgfortran/generated/minloc1_8_r8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/minval_i4.c b/libgfortran/generated/minval_i4.c
index 146508ed81a..01ef0236efb 100644
--- a/libgfortran/generated/minval_i4.c
+++ b/libgfortran/generated/minval_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/minval_i8.c b/libgfortran/generated/minval_i8.c
index 3ff45c1cda0..1d769030625 100644
--- a/libgfortran/generated/minval_i8.c
+++ b/libgfortran/generated/minval_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/minval_r4.c b/libgfortran/generated/minval_r4.c
index a17294226b1..c4e30392166 100644
--- a/libgfortran/generated/minval_r4.c
+++ b/libgfortran/generated/minval_r4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/minval_r8.c b/libgfortran/generated/minval_r8.c
index 7f66c2a7fd4..de6eea1cd53 100644
--- a/libgfortran/generated/minval_r8.c
+++ b/libgfortran/generated/minval_r8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/nearest_r4.c b/libgfortran/generated/nearest_r4.c
index 409d7fb4832..265b6493c78 100644
--- a/libgfortran/generated/nearest_r4.c
+++ b/libgfortran/generated/nearest_r4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include <math.h>
#include <float.h>
#include "libgfortran.h"
diff --git a/libgfortran/generated/nearest_r8.c b/libgfortran/generated/nearest_r8.c
index e4ed4a61fbb..337cce6cae5 100644
--- a/libgfortran/generated/nearest_r8.c
+++ b/libgfortran/generated/nearest_r8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include <math.h>
#include <float.h>
#include "libgfortran.h"
diff --git a/libgfortran/generated/pow_c4_i4.c b/libgfortran/generated/pow_c4_i4.c
index 35570819306..a25607e570b 100644
--- a/libgfortran/generated/pow_c4_i4.c
+++ b/libgfortran/generated/pow_c4_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/generated/pow_c4_i8.c b/libgfortran/generated/pow_c4_i8.c
index be7c0fc0eb1..a6098365d29 100644
--- a/libgfortran/generated/pow_c4_i8.c
+++ b/libgfortran/generated/pow_c4_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/generated/pow_c8_i4.c b/libgfortran/generated/pow_c8_i4.c
index 130d5493a2e..e205998b57e 100644
--- a/libgfortran/generated/pow_c8_i4.c
+++ b/libgfortran/generated/pow_c8_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/generated/pow_c8_i8.c b/libgfortran/generated/pow_c8_i8.c
index cc58c63c872..922fbffdb29 100644
--- a/libgfortran/generated/pow_c8_i8.c
+++ b/libgfortran/generated/pow_c8_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/generated/pow_i4_i4.c b/libgfortran/generated/pow_i4_i4.c
index 8dc2e322170..86b49f7f3e0 100644
--- a/libgfortran/generated/pow_i4_i4.c
+++ b/libgfortran/generated/pow_i4_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/generated/pow_i4_i8.c b/libgfortran/generated/pow_i4_i8.c
index 8f1a071ae79..5353f78a23a 100644
--- a/libgfortran/generated/pow_i4_i8.c
+++ b/libgfortran/generated/pow_i4_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/generated/pow_i8_i4.c b/libgfortran/generated/pow_i8_i4.c
index 0f369bcb143..e0b6320be01 100644
--- a/libgfortran/generated/pow_i8_i4.c
+++ b/libgfortran/generated/pow_i8_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/generated/pow_i8_i8.c b/libgfortran/generated/pow_i8_i8.c
index ff124f9167f..5468259a767 100644
--- a/libgfortran/generated/pow_i8_i8.c
+++ b/libgfortran/generated/pow_i8_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/generated/pow_r4_i4.c b/libgfortran/generated/pow_r4_i4.c
index 0adebf19f35..48c4f425300 100644
--- a/libgfortran/generated/pow_r4_i4.c
+++ b/libgfortran/generated/pow_r4_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/generated/pow_r4_i8.c b/libgfortran/generated/pow_r4_i8.c
index 397745eee44..f5a8ba27fad 100644
--- a/libgfortran/generated/pow_r4_i8.c
+++ b/libgfortran/generated/pow_r4_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/generated/pow_r8_i4.c b/libgfortran/generated/pow_r8_i4.c
index 988e4d5200e..20622c6bc65 100644
--- a/libgfortran/generated/pow_r8_i4.c
+++ b/libgfortran/generated/pow_r8_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/generated/pow_r8_i8.c b/libgfortran/generated/pow_r8_i8.c
index 45f7fbb3128..3f6002d82c9 100644
--- a/libgfortran/generated/pow_r8_i8.c
+++ b/libgfortran/generated/pow_r8_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/generated/product_c4.c b/libgfortran/generated/product_c4.c
index db7baf832a8..e2bae080aba 100644
--- a/libgfortran/generated/product_c4.c
+++ b/libgfortran/generated/product_c4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/product_c8.c b/libgfortran/generated/product_c8.c
index 0bcd5287f36..a5dee48e78c 100644
--- a/libgfortran/generated/product_c8.c
+++ b/libgfortran/generated/product_c8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/product_i4.c b/libgfortran/generated/product_i4.c
index 7f23db7e039..acc6886e0c7 100644
--- a/libgfortran/generated/product_i4.c
+++ b/libgfortran/generated/product_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/product_i8.c b/libgfortran/generated/product_i8.c
index 8d859a47695..d41269b7ee5 100644
--- a/libgfortran/generated/product_i8.c
+++ b/libgfortran/generated/product_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/product_r4.c b/libgfortran/generated/product_r4.c
index 8cc80d1192f..46814d7e808 100644
--- a/libgfortran/generated/product_r4.c
+++ b/libgfortran/generated/product_r4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/product_r8.c b/libgfortran/generated/product_r8.c
index 57e7008de9e..891ca5da237 100644
--- a/libgfortran/generated/product_r8.c
+++ b/libgfortran/generated/product_r8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/reshape_c4.c b/libgfortran/generated/reshape_c4.c
index cac328cbdf5..f1be1851314 100644
--- a/libgfortran/generated/reshape_c4.c
+++ b/libgfortran/generated/reshape_c4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/reshape_c8.c b/libgfortran/generated/reshape_c8.c
index 9fbd615b3c4..7d853f6378b 100644
--- a/libgfortran/generated/reshape_c8.c
+++ b/libgfortran/generated/reshape_c8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/reshape_i4.c b/libgfortran/generated/reshape_i4.c
index 99e3db4192d..bf7bba363c7 100644
--- a/libgfortran/generated/reshape_i4.c
+++ b/libgfortran/generated/reshape_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/reshape_i8.c b/libgfortran/generated/reshape_i8.c
index e0858633724..5f17a5faa84 100644
--- a/libgfortran/generated/reshape_i8.c
+++ b/libgfortran/generated/reshape_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/set_exponent_r4.c b/libgfortran/generated/set_exponent_r4.c
index 28651f22c85..e646176a7ce 100644
--- a/libgfortran/generated/set_exponent_r4.c
+++ b/libgfortran/generated/set_exponent_r4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include <math.h>
#include "libgfortran.h"
diff --git a/libgfortran/generated/set_exponent_r8.c b/libgfortran/generated/set_exponent_r8.c
index 63a351cbbae..482e0185dbf 100644
--- a/libgfortran/generated/set_exponent_r8.c
+++ b/libgfortran/generated/set_exponent_r8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include <math.h>
#include "libgfortran.h"
diff --git a/libgfortran/generated/shape_i4.c b/libgfortran/generated/shape_i4.c
index 79737bf2923..c6b4f7f5369 100644
--- a/libgfortran/generated/shape_i4.c
+++ b/libgfortran/generated/shape_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/shape_i8.c b/libgfortran/generated/shape_i8.c
index d0b62182180..84011b166b3 100644
--- a/libgfortran/generated/shape_i8.c
+++ b/libgfortran/generated/shape_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/sum_c4.c b/libgfortran/generated/sum_c4.c
index 129b9190bcc..88bd14debc4 100644
--- a/libgfortran/generated/sum_c4.c
+++ b/libgfortran/generated/sum_c4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/sum_c8.c b/libgfortran/generated/sum_c8.c
index ff37c029e35..c532e2a3023 100644
--- a/libgfortran/generated/sum_c8.c
+++ b/libgfortran/generated/sum_c8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/sum_i4.c b/libgfortran/generated/sum_i4.c
index ec24a1107df..6fd750eb246 100644
--- a/libgfortran/generated/sum_i4.c
+++ b/libgfortran/generated/sum_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/sum_i8.c b/libgfortran/generated/sum_i8.c
index 4e2991f84b2..8b7ea070abb 100644
--- a/libgfortran/generated/sum_i8.c
+++ b/libgfortran/generated/sum_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/sum_r4.c b/libgfortran/generated/sum_r4.c
index 84477928f74..1419f2f853f 100644
--- a/libgfortran/generated/sum_r4.c
+++ b/libgfortran/generated/sum_r4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/sum_r8.c b/libgfortran/generated/sum_r8.c
index 3c57ce80e3a..6dbd65663ba 100644
--- a/libgfortran/generated/sum_r8.c
+++ b/libgfortran/generated/sum_r8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/generated/transpose_c4.c b/libgfortran/generated/transpose_c4.c
index 7e1e734eaab..374efed0829 100644
--- a/libgfortran/generated/transpose_c4.c
+++ b/libgfortran/generated/transpose_c4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <assert.h>
diff --git a/libgfortran/generated/transpose_c8.c b/libgfortran/generated/transpose_c8.c
index 78d84d01a1c..a8785428111 100644
--- a/libgfortran/generated/transpose_c8.c
+++ b/libgfortran/generated/transpose_c8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <assert.h>
diff --git a/libgfortran/generated/transpose_i4.c b/libgfortran/generated/transpose_i4.c
index 75a78a064f5..c99ef487711 100644
--- a/libgfortran/generated/transpose_i4.c
+++ b/libgfortran/generated/transpose_i4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <assert.h>
diff --git a/libgfortran/generated/transpose_i8.c b/libgfortran/generated/transpose_i8.c
index c0e1121f593..75aa035bcec 100644
--- a/libgfortran/generated/transpose_i8.c
+++ b/libgfortran/generated/transpose_i8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <assert.h>
diff --git a/libgfortran/generated/trig_c4.c b/libgfortran/generated/trig_c4.c
index e3e66ffacfc..30f7999cd87 100644
--- a/libgfortran/generated/trig_c4.c
+++ b/libgfortran/generated/trig_c4.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include <math.h>
#include "libgfortran.h"
diff --git a/libgfortran/generated/trig_c8.c b/libgfortran/generated/trig_c8.c
index 9194fad1d44..9734e99d940 100644
--- a/libgfortran/generated/trig_c8.c
+++ b/libgfortran/generated/trig_c8.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include <math.h>
#include "libgfortran.h"
diff --git a/libgfortran/intrinsics/abort.c b/libgfortran/intrinsics/abort.c
index 83b42125e58..65c00266e45 100644
--- a/libgfortran/intrinsics/abort.c
+++ b/libgfortran/intrinsics/abort.c
@@ -1,5 +1,5 @@
/* Implementation of the ABORT intrinsic.
- Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
@@ -24,8 +24,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include <stdlib.h>
#include "libgfortran.h"
@@ -35,5 +35,6 @@ export_proto_np(PREFIX(abort));
void PREFIX(abort) (void)
{
+ close_units ();
abort ();
}
diff --git a/libgfortran/intrinsics/args.c b/libgfortran/intrinsics/args.c
index 72f1b987c87..b9273b30ace 100644
--- a/libgfortran/intrinsics/args.c
+++ b/libgfortran/intrinsics/args.c
@@ -26,8 +26,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <sys/types.h>
diff --git a/libgfortran/intrinsics/associated.c b/libgfortran/intrinsics/associated.c
index 46eb1496587..ac10d7ce7fe 100644
--- a/libgfortran/intrinsics/associated.c
+++ b/libgfortran/intrinsics/associated.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "libgfortran.h"
diff --git a/libgfortran/intrinsics/bessel.c b/libgfortran/intrinsics/bessel.c
index b6356d487bd..0079a3316d0 100644
--- a/libgfortran/intrinsics/bessel.c
+++ b/libgfortran/intrinsics/bessel.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <math.h>
diff --git a/libgfortran/intrinsics/c99_functions.c b/libgfortran/intrinsics/c99_functions.c
index c4b57207f71..11c5caf8106 100644
--- a/libgfortran/intrinsics/c99_functions.c
+++ b/libgfortran/intrinsics/c99_functions.c
@@ -24,8 +24,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <sys/types.h>
diff --git a/libgfortran/intrinsics/chdir.c b/libgfortran/intrinsics/chdir.c
index 817371f84a8..eaa83780ea0 100644
--- a/libgfortran/intrinsics/chdir.c
+++ b/libgfortran/intrinsics/chdir.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/intrinsics/cpu_time.c b/libgfortran/intrinsics/cpu_time.c
index 7b21233954a..4d9525a2adb 100644
--- a/libgfortran/intrinsics/cpu_time.c
+++ b/libgfortran/intrinsics/cpu_time.c
@@ -24,8 +24,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <sys/types.h>
diff --git a/libgfortran/intrinsics/cshift0.c b/libgfortran/intrinsics/cshift0.c
index 499991bacfa..e491e178e36 100644
--- a/libgfortran/intrinsics/cshift0.c
+++ b/libgfortran/intrinsics/cshift0.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/intrinsics/date_and_time.c b/libgfortran/intrinsics/date_and_time.c
index 2364186a0d7..be2959b3347 100644
--- a/libgfortran/intrinsics/date_and_time.c
+++ b/libgfortran/intrinsics/date_and_time.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <sys/types.h>
diff --git a/libgfortran/intrinsics/dprod_r8.f90 b/libgfortran/intrinsics/dprod_r8.f90
index d0f2063d142..30110b079fa 100644
--- a/libgfortran/intrinsics/dprod_r8.f90
+++ b/libgfortran/intrinsics/dprod_r8.f90
@@ -15,8 +15,8 @@
!
!You should have received a copy of the GNU Lesser General Public
!License along with libgfor; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
elemental function specific__dprod_r8 (p1, p2)
diff --git a/libgfortran/intrinsics/env.c b/libgfortran/intrinsics/env.c
index 2b5032d33bd..d9084b746c1 100644
--- a/libgfortran/intrinsics/env.c
+++ b/libgfortran/intrinsics/env.c
@@ -26,8 +26,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <sys/types.h>
diff --git a/libgfortran/intrinsics/eoshift0.c b/libgfortran/intrinsics/eoshift0.c
index 0ab1d34dd67..b8dfb40be3c 100644
--- a/libgfortran/intrinsics/eoshift0.c
+++ b/libgfortran/intrinsics/eoshift0.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/intrinsics/eoshift2.c b/libgfortran/intrinsics/eoshift2.c
index 1580bc2d53d..dde9e1e64fa 100644
--- a/libgfortran/intrinsics/eoshift2.c
+++ b/libgfortran/intrinsics/eoshift2.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/intrinsics/erf.c b/libgfortran/intrinsics/erf.c
index 67077a621a2..bf9ecca8985 100644
--- a/libgfortran/intrinsics/erf.c
+++ b/libgfortran/intrinsics/erf.c
@@ -24,8 +24,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <math.h>
diff --git a/libgfortran/intrinsics/etime.c b/libgfortran/intrinsics/etime.c
index 0cb74719f1b..547e10fb3b1 100644
--- a/libgfortran/intrinsics/etime.c
+++ b/libgfortran/intrinsics/etime.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <sys/types.h>
diff --git a/libgfortran/intrinsics/exit.c b/libgfortran/intrinsics/exit.c
index 667cf7ff198..772772191a4 100644
--- a/libgfortran/intrinsics/exit.c
+++ b/libgfortran/intrinsics/exit.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
diff --git a/libgfortran/intrinsics/f2c_specifics.F90 b/libgfortran/intrinsics/f2c_specifics.F90
index 8a2a8acb562..04c0e37f3d7 100644
--- a/libgfortran/intrinsics/f2c_specifics.F90
+++ b/libgfortran/intrinsics/f2c_specifics.F90
@@ -24,8 +24,8 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
! Specifics for the intrinsics whose calling conventions change if
! -ff2c is used.
diff --git a/libgfortran/intrinsics/flush.c b/libgfortran/intrinsics/flush.c
index 40335f9e2da..a0ca44d8038 100644
--- a/libgfortran/intrinsics/flush.c
+++ b/libgfortran/intrinsics/flush.c
@@ -1,5 +1,5 @@
/* Implementation of the FLUSH intrinsic.
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2005 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargls@comcast.net>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
@@ -75,3 +75,26 @@ flush_i4 (GFC_INTEGER_4 *unit)
flush (us->s);
}
}
+
+
+extern void flush_i8 (GFC_INTEGER_8 *);
+export_proto(flush_i8);
+
+void
+flush_i8 (GFC_INTEGER_8 *unit)
+{
+ gfc_unit *us;
+
+ /* flush all streams */
+ if (unit == NULL)
+ {
+ us = g.unit_root;
+ recursive_flush(us);
+ }
+ else
+ {
+ us = find_unit(*unit);
+ if (us != NULL)
+ flush (us->s);
+ }
+}
diff --git a/libgfortran/intrinsics/fnum.c b/libgfortran/intrinsics/fnum.c
index fa899156672..1311856c8c1 100644
--- a/libgfortran/intrinsics/fnum.c
+++ b/libgfortran/intrinsics/fnum.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/intrinsics/gerror.c b/libgfortran/intrinsics/gerror.c
index c106adf22a1..0ec354a0bac 100644
--- a/libgfortran/intrinsics/gerror.c
+++ b/libgfortran/intrinsics/gerror.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/intrinsics/getXid.c b/libgfortran/intrinsics/getXid.c
index 345cace2c0a..4c456ae4ecc 100644
--- a/libgfortran/intrinsics/getXid.c
+++ b/libgfortran/intrinsics/getXid.c
@@ -24,8 +24,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
diff --git a/libgfortran/intrinsics/getcwd.c b/libgfortran/intrinsics/getcwd.c
index 89e481d015d..d3bd8811229 100644
--- a/libgfortran/intrinsics/getcwd.c
+++ b/libgfortran/intrinsics/getcwd.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/intrinsics/getlog.c b/libgfortran/intrinsics/getlog.c
index 9eda12ee5da..35c52bdb639 100644
--- a/libgfortran/intrinsics/getlog.c
+++ b/libgfortran/intrinsics/getlog.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/intrinsics/hostnm.c b/libgfortran/intrinsics/hostnm.c
index 856fccf1c8d..882330a764e 100644
--- a/libgfortran/intrinsics/hostnm.c
+++ b/libgfortran/intrinsics/hostnm.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/intrinsics/hyper.c b/libgfortran/intrinsics/hyper.c
index 6b88ba12f83..ec7f27d3d01 100644
--- a/libgfortran/intrinsics/hyper.c
+++ b/libgfortran/intrinsics/hyper.c
@@ -24,8 +24,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <math.h>
diff --git a/libgfortran/intrinsics/ierrno.c b/libgfortran/intrinsics/ierrno.c
index f7cfdffc5ae..2e30caa2b3a 100644
--- a/libgfortran/intrinsics/ierrno.c
+++ b/libgfortran/intrinsics/ierrno.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/intrinsics/ishftc.c b/libgfortran/intrinsics/ishftc.c
index 412a56f77f7..f5e7493b7c5 100644
--- a/libgfortran/intrinsics/ishftc.c
+++ b/libgfortran/intrinsics/ishftc.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "libgfortran.h"
diff --git a/libgfortran/intrinsics/kill.c b/libgfortran/intrinsics/kill.c
index 5ffab14a786..3df830cd4c8 100644
--- a/libgfortran/intrinsics/kill.c
+++ b/libgfortran/intrinsics/kill.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/intrinsics/link.c b/libgfortran/intrinsics/link.c
index 8d131fef2b4..3ddebf3f4dc 100644
--- a/libgfortran/intrinsics/link.c
+++ b/libgfortran/intrinsics/link.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/intrinsics/mvbits.c b/libgfortran/intrinsics/mvbits.c
index 1a17ecce9e2..6bfb5cad85b 100644
--- a/libgfortran/intrinsics/mvbits.c
+++ b/libgfortran/intrinsics/mvbits.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* TODO: This should be replaced by a compiler builtin. */
diff --git a/libgfortran/intrinsics/pack_generic.c b/libgfortran/intrinsics/pack_generic.c
index 00c55a889c1..2b0be00e11d 100644
--- a/libgfortran/intrinsics/pack_generic.c
+++ b/libgfortran/intrinsics/pack_generic.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/intrinsics/perror.c b/libgfortran/intrinsics/perror.c
index 8926901fb9e..96edc9bcf3e 100644
--- a/libgfortran/intrinsics/perror.c
+++ b/libgfortran/intrinsics/perror.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/intrinsics/rand.c b/libgfortran/intrinsics/rand.c
index 2cf88f94927..a580060b0ed 100644
--- a/libgfortran/intrinsics/rand.c
+++ b/libgfortran/intrinsics/rand.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* Simple multiplicative congruent algorithm.
The period of this generator is approximately 2^31-1, which means that
diff --git a/libgfortran/intrinsics/random.c b/libgfortran/intrinsics/random.c
index 107eec19f78..363083e4893 100644
--- a/libgfortran/intrinsics/random.c
+++ b/libgfortran/intrinsics/random.c
@@ -26,8 +26,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "libgfortran.h"
diff --git a/libgfortran/intrinsics/rename.c b/libgfortran/intrinsics/rename.c
index 981c4a771fb..9e1d53308cb 100644
--- a/libgfortran/intrinsics/rename.c
+++ b/libgfortran/intrinsics/rename.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/intrinsics/reshape_generic.c b/libgfortran/intrinsics/reshape_generic.c
index 265bfb99e63..1dc78cb3745 100644
--- a/libgfortran/intrinsics/reshape_generic.c
+++ b/libgfortran/intrinsics/reshape_generic.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/intrinsics/reshape_packed.c b/libgfortran/intrinsics/reshape_packed.c
index 06d1f763759..a6a193774b2 100644
--- a/libgfortran/intrinsics/reshape_packed.c
+++ b/libgfortran/intrinsics/reshape_packed.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/intrinsics/selected_int_kind.f90 b/libgfortran/intrinsics/selected_int_kind.f90
index 8d9a6bedc6b..80bc25b00bc 100644
--- a/libgfortran/intrinsics/selected_int_kind.f90
+++ b/libgfortran/intrinsics/selected_int_kind.f90
@@ -15,8 +15,8 @@
!
!You should have received a copy of the GNU Lesser General Public
!License along with libgfor; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
function selected_int_kind (r)
diff --git a/libgfortran/intrinsics/selected_real_kind.f90 b/libgfortran/intrinsics/selected_real_kind.f90
index df2881717cd..4cc2a0992fe 100644
--- a/libgfortran/intrinsics/selected_real_kind.f90
+++ b/libgfortran/intrinsics/selected_real_kind.f90
@@ -15,8 +15,8 @@
!
!You should have received a copy of the GNU Lesser General Public
!License along with libgfor; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
function selected_real_kind (p, r)
diff --git a/libgfortran/intrinsics/size.c b/libgfortran/intrinsics/size.c
index 97c364b108a..5112386a165 100644
--- a/libgfortran/intrinsics/size.c
+++ b/libgfortran/intrinsics/size.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "libgfortran.h"
diff --git a/libgfortran/intrinsics/sleep.c b/libgfortran/intrinsics/sleep.c
index d79d8ba7b07..05edc3f54b7 100644
--- a/libgfortran/intrinsics/sleep.c
+++ b/libgfortran/intrinsics/sleep.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/intrinsics/spread_generic.c b/libgfortran/intrinsics/spread_generic.c
index f1035b0c533..5de8f9c4fdb 100644
--- a/libgfortran/intrinsics/spread_generic.c
+++ b/libgfortran/intrinsics/spread_generic.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/intrinsics/stat.c b/libgfortran/intrinsics/stat.c
index 1d21529b9a1..ac91204522e 100644
--- a/libgfortran/intrinsics/stat.c
+++ b/libgfortran/intrinsics/stat.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/intrinsics/string_intrinsics.c b/libgfortran/intrinsics/string_intrinsics.c
index a7eda9dc2b7..f13d1172ad8 100644
--- a/libgfortran/intrinsics/string_intrinsics.c
+++ b/libgfortran/intrinsics/string_intrinsics.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* Unlike what the name of this file suggests, we don't actually
diff --git a/libgfortran/intrinsics/symlnk.c b/libgfortran/intrinsics/symlnk.c
index 66fa990412a..2e778635986 100644
--- a/libgfortran/intrinsics/symlnk.c
+++ b/libgfortran/intrinsics/symlnk.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/intrinsics/system.c b/libgfortran/intrinsics/system.c
index 81ceef3ad17..73f937142f6 100644
--- a/libgfortran/intrinsics/system.c
+++ b/libgfortran/intrinsics/system.c
@@ -25,8 +25,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with libgfortran; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
#include "config.h"
diff --git a/libgfortran/intrinsics/system_clock.c b/libgfortran/intrinsics/system_clock.c
index 17c7bb62097..8a38f78480a 100644
--- a/libgfortran/intrinsics/system_clock.c
+++ b/libgfortran/intrinsics/system_clock.c
@@ -24,8 +24,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <sys/types.h>
diff --git a/libgfortran/intrinsics/time.c b/libgfortran/intrinsics/time.c
index e5dd6ffa17a..da5a1ffd333 100644
--- a/libgfortran/intrinsics/time.c
+++ b/libgfortran/intrinsics/time.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/intrinsics/transpose_generic.c b/libgfortran/intrinsics/transpose_generic.c
index fd26e605345..3b5ac96c63b 100644
--- a/libgfortran/intrinsics/transpose_generic.c
+++ b/libgfortran/intrinsics/transpose_generic.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/intrinsics/umask.c b/libgfortran/intrinsics/umask.c
index 7d227176bc7..721272dc485 100644
--- a/libgfortran/intrinsics/umask.c
+++ b/libgfortran/intrinsics/umask.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
diff --git a/libgfortran/intrinsics/unlink.c b/libgfortran/intrinsics/unlink.c
index 52328de50f1..2f7a5ca8b49 100644
--- a/libgfortran/intrinsics/unlink.c
+++ b/libgfortran/intrinsics/unlink.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
diff --git a/libgfortran/intrinsics/unpack_generic.c b/libgfortran/intrinsics/unpack_generic.c
index 929e1c36397..1d6ff3d7d40 100644
--- a/libgfortran/intrinsics/unpack_generic.c
+++ b/libgfortran/intrinsics/unpack_generic.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/io/backspace.c b/libgfortran/io/backspace.c
deleted file mode 100644
index d4ba3a9baaa..00000000000
--- a/libgfortran/io/backspace.c
+++ /dev/null
@@ -1,182 +0,0 @@
-/* Copyright (C) 2002-2003 Free Software Foundation, Inc.
- Contributed by Andy Vaught
-
-This file is part of the GNU Fortran 95 runtime library (libgfortran).
-
-Libgfortran 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.
-
-In addition to the permissions in the GNU General Public License, the
-Free Software Foundation gives you unlimited permission to link the
-compiled version of this file into combinations with other programs,
-and to distribute those combinations without any restriction coming
-from the use of this file. (The General Public License restrictions
-do apply in other respects; for example, they cover modification of
-the file, and distribution when not linked into a combine
-executable.)
-
-Libgfortran 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 Libgfortran; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
-
-#include "config.h"
-#include <string.h>
-#include "libgfortran.h"
-#include "io.h"
-
-/* backspace.c -- Implement the BACKSPACE statement */
-
-/* formatted_backspace(void)-- Move the file back one line. The
- * current position is after the newline that terminates the previous
- * record, and we have to sift backwards to find the newline before
- * that or the start of the file, whichever comes first. */
-
-#define READ_CHUNK 4096
-
-static void
-formatted_backspace (void)
-{
- gfc_offset base;
- char *p;
- int n;
-
- base = file_position (current_unit->s) - 1;
-
- do
- {
- n = (base < READ_CHUNK) ? base : READ_CHUNK;
- base -= n;
-
- p = salloc_r_at (current_unit->s, &n, base);
- if (p == NULL)
- goto io_error;
-
- /* Because we've moved backwords from the current position, it
- * should not be possible to get a short read. Because it isn't
- * clear what to do about such thing, we ignore the possibility. */
-
- /* There is no memrchr() in the C library, so we have to do it
- * ourselves. */
-
- n--;
- while (n >= 0)
- {
- if (p[n] == '\n')
- {
- base += n + 1;
- goto done;
- }
-
- n--;
- }
-
- }
- while (base != 0);
-
- /* base is the new pointer. Seek to it exactly */
- done:
- if (sseek (current_unit->s, base) == FAILURE)
- goto io_error;
- current_unit->last_record--;
- current_unit->endfile = NO_ENDFILE;
-
- return;
-
- io_error:
- generate_error (ERROR_OS, NULL);
-}
-
-
-/* unformatted_backspace()-- Move the file backwards for an
- * unformatted sequential file. We are guaranteed to be between
- * records on entry and we have to shift to the previous record. */
-
-static void
-unformatted_backspace (void)
-{
- gfc_offset m, new;
- int length;
- char *p;
-
- length = sizeof (gfc_offset);
-
- p = salloc_r_at (current_unit->s, &length,
- file_position (current_unit->s) - length);
- if (p == NULL)
- goto io_error;
-
- memcpy (&m, p, sizeof (gfc_offset));
- new = file_position (current_unit->s) - m - 2*length;
- if (sseek (current_unit->s, new) == FAILURE)
- goto io_error;
-
- current_unit->last_record--;
- return;
-
- io_error:
- generate_error (ERROR_OS, NULL);
-}
-
-
-extern void st_backspace (void);
-export_proto(st_backspace);
-
-void
-st_backspace (void)
-{
- gfc_unit *u;
-
- library_start ();
-
- u = find_unit (ioparm.unit);
- if (u == NULL)
- {
- generate_error (ERROR_BAD_UNIT, NULL);
- goto done;
- }
-
- current_unit = u;
-
- /* Ignore direct access. Non-advancing I/O is only allowed for
- * formatted sequential I/O and the next direct access transfer
- * repositions the file anyway. */
-
- if (u->flags.access == ACCESS_DIRECT)
- goto done;
-
- /* Check for special cases involving the ENDFILE record first */
-
- if (u->endfile == AFTER_ENDFILE)
- u->endfile = AT_ENDFILE;
- else
- {
- if (file_position (u->s) == 0)
- goto done; /* Common special case */
-
- if (u->mode == WRITING)
- {
- flush (u->s);
- struncate (u->s);
- u->mode = READING;
- }
-
- if (u->flags.form == FORM_FORMATTED)
- formatted_backspace ();
- else
- unformatted_backspace ();
-
- u->endfile = NO_ENDFILE;
- u->current_record = 0;
- }
-
- done:
- library_end ();
-}
diff --git a/libgfortran/io/close.c b/libgfortran/io/close.c
index ee4fb974e5e..6010e921fcb 100644
--- a/libgfortran/io/close.c
+++ b/libgfortran/io/close.c
@@ -24,12 +24,13 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Libgfortran; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"
#include "io.h"
+#include <limits.h>
typedef enum
{ CLOSE_DELETE, CLOSE_KEEP, CLOSE_UNSPECIFIED }
@@ -50,6 +51,11 @@ st_close (void)
{
close_status status;
gfc_unit *u;
+#if !HAVE_UNLINK_OPEN_FILE
+ char * path;
+
+ path = NULL;
+#endif
library_start ();
@@ -68,14 +74,30 @@ st_close (void)
if (status == CLOSE_KEEP)
generate_error (ERROR_BAD_OPTION,
"Can't KEEP a scratch file on CLOSE");
+#if !HAVE_UNLINK_OPEN_FILE
+ path = (char *) gfc_alloca (u->file_len + 1);
+ unpack_filename (path, u->file, u->file_len);
+#endif
}
else
{
if (status == CLOSE_DELETE)
- delete_file (u);
+ {
+#if HAVE_UNLINK_OPEN_FILE
+ delete_file (u);
+#else
+ path = (char *) gfc_alloca (u->file_len + 1);
+ unpack_filename (path, u->file, u->file_len);
+#endif
+ }
}
close_unit (u);
+
+#if !HAVE_UNLINK_OPEN_FILE
+ if (path != NULL)
+ unlink (path);
+#endif
}
library_end ();
diff --git a/libgfortran/io/endfile.c b/libgfortran/io/endfile.c
deleted file mode 100644
index 8d01ea1076b..00000000000
--- a/libgfortran/io/endfile.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright (C) 2002-2003 Free Software Foundation, Inc.
- Contributed by Andy Vaught
-
-This file is part of the GNU Fortran 95 runtime library (libgfortran).
-
-Libgfortran 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.
-
-In addition to the permissions in the GNU General Public License, the
-Free Software Foundation gives you unlimited permission to link the
-compiled version of this file into combinations with other programs,
-and to distribute those combinations without any restriction coming
-from the use of this file. (The General Public License restrictions
-do apply in other respects; for example, they cover modification of
-the file, and distribution when not linked into a combine
-executable.)
-
-Libgfortran 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 Libgfortran; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
-
-#include "config.h"
-#include "libgfortran.h"
-#include "io.h"
-
-/* endfile.c-- Implement the ENDFILE statement */
-
-extern void st_endfile (void);
-export_proto(st_endfile);
-
-void
-st_endfile (void)
-{
- gfc_unit *u;
-
- library_start ();
-
- u = get_unit (0);
- if (u != NULL)
- {
- current_unit = u; /* next_record() needs this set */
- if (u->current_record)
- next_record (1);
-
- flush(u->s);
- struncate (u->s);
- u->endfile = AFTER_ENDFILE;
- }
-
- library_end ();
-}
diff --git a/libgfortran/io/format.c b/libgfortran/io/format.c
index 229a937b05b..3f7091e66d0 100644
--- a/libgfortran/io/format.c
+++ b/libgfortran/io/format.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Libgfortran; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* format.c-- parse a FORMAT string into a binary format suitable for
@@ -580,6 +580,7 @@ parse_format_list (void)
case FMT_DOLLAR:
get_fnode (&head, &tail, FMT_DOLLAR);
tail->repeat = 1;
+ notify_std (GFC_STD_GNU, "Extension: $ descriptor");
goto between_desc;
case FMT_T:
diff --git a/libgfortran/io/inquire.c b/libgfortran/io/inquire.c
index 731adad7c86..31f1ad18b02 100644
--- a/libgfortran/io/inquire.c
+++ b/libgfortran/io/inquire.c
@@ -24,8 +24,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Libgfortran; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* Implement the non-IOLENGTH variant of the INQUIRY statement */
diff --git a/libgfortran/io/io.h b/libgfortran/io/io.h
index 37bdb3ebdfa..83f2dfbd0d4 100644
--- a/libgfortran/io/io.h
+++ b/libgfortran/io/io.h
@@ -15,8 +15,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Libgfortran; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with other files,
some of which are compiled with GCC, to produce an executable,
@@ -33,7 +33,7 @@ Boston, MA 02111-1307, USA. */
#include <setjmp.h>
#include "libgfortran.h"
-#define DEFAULT_TEMPDIR "/var/tmp"
+#define DEFAULT_TEMPDIR "/tmp"
/* Basic types used in data transfers. */
@@ -496,9 +496,18 @@ internal_proto(empty_internal_buffer);
extern try flush (stream *);
internal_proto(flush);
+extern int stream_isatty (stream *);
+internal_proto(stream_isatty);
+
+extern char * stream_ttyname (stream *);
+internal_proto(stream_ttyname);
+
extern int unit_to_fd (int);
internal_proto(unit_to_fd);
+extern int unpack_filename (char *, const char *, int);
+internal_proto(unpack_filename);
+
/* unit.c */
extern void insert_unit (gfc_unit *);
@@ -647,4 +656,8 @@ internal_proto(write_z);
extern void list_formatted_write (bt, void *, int);
internal_proto(list_formatted_write);
+/* error.c */
+extern try notify_std (int, const char *);
+internal_proto(notify_std);
+
#endif
diff --git a/libgfortran/io/list_read.c b/libgfortran/io/list_read.c
index df99e7858a7..661ad339a98 100644
--- a/libgfortran/io/list_read.c
+++ b/libgfortran/io/list_read.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Libgfortran; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
diff --git a/libgfortran/io/lock.c b/libgfortran/io/lock.c
index 516d8705317..7dc08e1d828 100644
--- a/libgfortran/io/lock.c
+++ b/libgfortran/io/lock.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <string.h>
@@ -54,7 +54,7 @@ library_start (void)
stay within the library. */
g.in_library = 1;
- if (ioparm.iostat != NULL && ioparm.library_return == LIBRARY_OK)
+ if (ioparm.iostat != NULL)
*ioparm.iostat = ERROR_OK;
ioparm.library_return = LIBRARY_OK;
diff --git a/libgfortran/io/open.c b/libgfortran/io/open.c
index a48476bacbc..333ac6f8436 100644
--- a/libgfortran/io/open.c
+++ b/libgfortran/io/open.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Libgfortran; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <unistd.h>
diff --git a/libgfortran/io/read.c b/libgfortran/io/read.c
index 654475dd079..64231b936c2 100644
--- a/libgfortran/io/read.c
+++ b/libgfortran/io/read.c
@@ -24,8 +24,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Libgfortran; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
@@ -49,20 +49,35 @@ set_integer (void *dest, GFC_INTEGER_LARGEST value, int length)
{
#ifdef HAVE_GFC_INTEGER_16
case 16:
- *((GFC_INTEGER_16 *) dest) = value;
+ {
+ GFC_INTEGER_16 tmp = value;
+ memcpy (dest, (void *) &tmp, length);
+ }
break;
#endif
case 8:
- *((GFC_INTEGER_8 *) dest) = value;
+ {
+ GFC_INTEGER_8 tmp = value;
+ memcpy (dest, (void *) &tmp, length);
+ }
break;
case 4:
- *((GFC_INTEGER_4 *) dest) = value;
+ {
+ GFC_INTEGER_4 tmp = value;
+ memcpy (dest, (void *) &tmp, length);
+ }
break;
case 2:
- *((GFC_INTEGER_2 *) dest) = value;
+ {
+ GFC_INTEGER_2 tmp = value;
+ memcpy (dest, (void *) &tmp, length);
+ }
break;
case 1:
- *((GFC_INTEGER_1 *) dest) = value;
+ {
+ GFC_INTEGER_1 tmp = value;
+ memcpy (dest, (void *) &tmp, length);
+ }
break;
default:
internal_error ("Bad integer kind");
@@ -124,24 +139,36 @@ convert_real (void *dest, const char *buffer, int length)
switch (length)
{
case 4:
- *((GFC_REAL_4 *) dest) =
+ {
+ GFC_REAL_4 tmp =
#if defined(HAVE_STRTOF)
- strtof (buffer, NULL);
+ strtof (buffer, NULL);
#else
- (GFC_REAL_4) strtod (buffer, NULL);
+ (GFC_REAL_4) strtod (buffer, NULL);
#endif
+ memcpy (dest, (void *) &tmp, length);
+ }
break;
case 8:
- *((GFC_REAL_8 *) dest) = strtod (buffer, NULL);
+ {
+ GFC_REAL_8 tmp = strtod (buffer, NULL);
+ memcpy (dest, (void *) &tmp, length);
+ }
break;
#if defined(HAVE_GFC_REAL_10) && defined (HAVE_STRTOLD)
case 10:
- *((GFC_REAL_10 *) dest) = strtold (buffer, NULL);
+ {
+ GFC_REAL_10 tmp = strtold (buffer, NULL);
+ memcpy (dest, (void *) &tmp, length);
+ }
break;
#endif
#if defined(HAVE_GFC_REAL_16) && defined (HAVE_STRTOLD)
case 16:
- *((GFC_REAL_16 *) dest) = strtold (buffer, NULL);
+ {
+ GFC_REAL_16 tmp = strtold (buffer, NULL);
+ memcpy (dest, (void *) &tmp, length);
+ }
break;
#endif
default:
diff --git a/libgfortran/io/rewind.c b/libgfortran/io/rewind.c
deleted file mode 100644
index 48d57bafaa5..00000000000
--- a/libgfortran/io/rewind.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Copyright (C) 2002-2003 Free Software Foundation, Inc.
- Contributed by Andy Vaught
-
-This file is part of the GNU Fortran 95 runtime library (libgfortran).
-
-Libgfortran 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.
-
-In addition to the permissions in the GNU General Public License, the
-Free Software Foundation gives you unlimited permission to link the
-compiled version of this file into combinations with other programs,
-and to distribute those combinations without any restriction coming
-from the use of this file. (The General Public License restrictions
-do apply in other respects; for example, they cover modification of
-the file, and distribution when not linked into a combine
-executable.)
-
-Libgfortran 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 Libgfortran; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
-
-#include "config.h"
-#include "libgfortran.h"
-#include "io.h"
-
-/* rewind.c-- Implement the rewind statement */
-
-extern void st_rewind (void);
-export_proto(st_rewind);
-
-void
-st_rewind (void)
-{
- gfc_unit *u;
-
- library_start ();
-
- u = find_unit (ioparm.unit);
- if (u != NULL)
- {
- if (u->flags.access != ACCESS_SEQUENTIAL)
- generate_error (ERROR_BAD_OPTION,
- "Cannot REWIND a file opened for DIRECT access");
- else
- {
- /* If we have been writing to the file, the last written record
- is the last record in the file, so truncate the file now.
- Reset to read mode so two consecutive rewind statements
- don't delete the file contents. Flush buffer when switching
- mode. */
- if (u->mode == WRITING)
- {
- flush (u->s);
- struncate (u->s);
- }
- u->mode = READING;
- u->last_record = 0;
- if (sseek (u->s, 0) == FAILURE)
- generate_error (ERROR_OS, NULL);
-
- u->endfile = NO_ENDFILE;
- u->current_record = 0;
- test_endfile (u);
- }
- /* update position for INQUIRE */
- u->flags.position = POSITION_REWIND;
- }
-
- library_end ();
-}
diff --git a/libgfortran/io/transfer.c b/libgfortran/io/transfer.c
index 85d0dd91cfa..c7d53ee7cd8 100644
--- a/libgfortran/io/transfer.c
+++ b/libgfortran/io/transfer.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Libgfortran; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* transfer.c -- Top level handling of data transfer statements. */
@@ -480,16 +480,25 @@ formatted_transfer (bt type, void *p, int len)
return; /* No data descriptors left (already raised). */
/* Now discharge T, TR and X movements to the right. This is delayed
- until a data producing format to supress trailing spaces. */
+ until a data producing format to suppress trailing spaces. */
t = f->format;
- if (g.mode == WRITING && skips > 0
- && (t == FMT_I || t == FMT_B || t == FMT_O || t == FMT_Z
- || t == FMT_F || t == FMT_E || t == FMT_EN || t == FMT_ES
- || t == FMT_G || t == FMT_L || t == FMT_A || t == FMT_D
+ if (g.mode == WRITING && skips != 0
+ && ((n>0 && ( t == FMT_I || t == FMT_B || t == FMT_O
+ || t == FMT_Z || t == FMT_F || t == FMT_E
+ || t == FMT_EN || t == FMT_ES || t == FMT_G
+ || t == FMT_L || t == FMT_A || t == FMT_D))
|| t == FMT_STRING))
{
- write_x (skips, pending_spaces);
- max_pos = (int)(current_unit->recl - current_unit->bytes_left);
+ if (skips > 0)
+ {
+ write_x (skips, pending_spaces);
+ max_pos = (int)(current_unit->recl - current_unit->bytes_left);
+ }
+ if (skips < 0)
+ {
+ move_pos_offset (current_unit->s, skips);
+ current_unit->bytes_left -= (gfc_offset)skips;
+ }
skips = pending_spaces = 0;
}
@@ -724,19 +733,19 @@ formatted_transfer (bt type, void *p, int len)
/* Writes occur just before the switch on f->format, above, so that
trailing blanks are suppressed. */
- if (skips > 0)
+ if (g.mode == READING)
{
- if (g.mode == READING)
+ if (skips > 0)
{
f->u.n = skips;
read_x (f);
}
- }
- if (skips < 0)
- {
- move_pos_offset (current_unit->s, skips);
- current_unit->bytes_left -= skips;
- skips = pending_spaces = 0;
+ if (skips < 0)
+ {
+ move_pos_offset (current_unit->s, skips);
+ current_unit->bytes_left -= (gfc_offset)skips;
+ skips = pending_spaces = 0;
+ }
}
break;
@@ -779,7 +788,6 @@ formatted_transfer (bt type, void *p, int len)
case FMT_SLASH:
consume_data_flag = 0 ;
skips = pending_spaces = 0;
- current_unit->bytes_left = 0;
next_record (0);
break;
@@ -818,7 +826,7 @@ formatted_transfer (bt type, void *p, int len)
if (g.mode == READING)
skips = 0;
- pos = current_unit->recl - current_unit->bytes_left;
+ pos = (int)(current_unit->recl - current_unit->bytes_left);
max_pos = (max_pos > pos) ? max_pos : pos;
}
@@ -1020,7 +1028,9 @@ data_transfer_init (int read_flag)
{
current_unit->recl = file_length(current_unit->s);
if (g.mode==WRITING)
- empty_internal_buffer (current_unit->s);
+ empty_internal_buffer (current_unit->s);
+ else
+ current_unit->bytes_left = current_unit->recl;
}
/* Check the action. */
@@ -1163,7 +1173,7 @@ data_transfer_init (int read_flag)
it is always safe to truncate the file on the first write */
if (g.mode == WRITING
&& current_unit->flags.access == ACCESS_SEQUENTIAL
- && current_unit->current_record == 0)
+ && current_unit->last_record == 0)
struncate(current_unit->s);
current_unit->mode = g.mode;
@@ -1526,12 +1536,16 @@ finalize_transfer (void)
data transfer, it just updates the length counter. */
static void
-iolength_transfer (bt type __attribute__ ((unused)),
- void *dest __attribute__ ((unused)),
+iolength_transfer (bt type , void *dest __attribute__ ((unused)),
int len)
{
if (ioparm.iolength != NULL)
- *ioparm.iolength += len;
+ {
+ if (type == BT_COMPLEX)
+ *ioparm.iolength += 2*len;
+ else
+ *ioparm.iolength += len;
+ }
}
diff --git a/libgfortran/io/unit.c b/libgfortran/io/unit.c
index 81e600067bf..9cea354e736 100644
--- a/libgfortran/io/unit.c
+++ b/libgfortran/io/unit.c
@@ -24,8 +24,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Libgfortran; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/io/unix.c b/libgfortran/io/unix.c
index b35182d6169..a0ed7b64510 100644
--- a/libgfortran/io/unix.c
+++ b/libgfortran/io/unix.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Libgfortran; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* Unix stream I/O module */
@@ -952,7 +952,7 @@ unit_to_fd(int unit)
* buffer that is PATH_MAX characters, convert the fortran string to a
* C string in the buffer. Returns nonzero if this is not possible. */
-static int
+int
unpack_filename (char *cstring, const char *fstring, int len)
{
len = fstrlen (fstring, len);
@@ -984,6 +984,8 @@ tempfile (void)
if (tempdir == NULL)
tempdir = getenv ("TMP");
if (tempdir == NULL)
+ tempdir = getenv ("TEMP");
+ if (tempdir == NULL)
tempdir = DEFAULT_TEMPDIR;
template = get_mem (strlen (tempdir) + 20);
@@ -998,7 +1000,7 @@ tempfile (void)
if (mktemp (template))
do
- fd = open (template, O_CREAT | O_EXCL, S_IREAD | S_IWRITE);
+ fd = open (template, O_RDWR | O_CREAT | O_EXCL, S_IREAD | S_IWRITE);
while (!(fd == -1 && errno == EEXIST) && mktemp (template));
else
fd = -1;
@@ -1134,8 +1136,11 @@ open_external (unit_flags *flags)
fd = tempfile ();
if (flags->action == ACTION_UNSPECIFIED)
flags->action = ACTION_READWRITE;
+
+#if HAVE_UNLINK_OPEN_FILE
/* We can unlink scratch files now and it will go away when closed. */
unlink (ioparm.file);
+#endif
}
else
{
@@ -1534,6 +1539,18 @@ flush (stream *s)
return fd_flush( (unix_stream *) s);
}
+int
+stream_isatty (stream *s)
+{
+ return isatty (((unix_stream *) s)->fd);
+}
+
+char *
+stream_ttyname (stream *s)
+{
+ return ttyname (((unix_stream *) s)->fd);
+}
+
/* How files are stored: This is an operating-system specific issue,
and therefore belongs here. There are three cases to consider.
diff --git a/libgfortran/io/write.c b/libgfortran/io/write.c
index a702de18a2a..74d0f9fa0ad 100644
--- a/libgfortran/io/write.c
+++ b/libgfortran/io/write.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Libgfortran; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <string.h>
@@ -1292,7 +1292,8 @@ write_character (const char *source, int length)
/* Output a real number with default format.
- This is 1PG14.7E2 for REAL(4) and 1PG23.15E3 for REAL(8). */
+ This is 1PG14.7E2 for REAL(4), 1PG23.15E3 for REAL(8),
+ 1PG24.15E4 for REAL(10) and 1PG40.31E4 for REAL(16). */
static void
write_real (const char *source, int length)
@@ -1301,17 +1302,31 @@ write_real (const char *source, int length)
int org_scale = g.scale_factor;
f.format = FMT_G;
g.scale_factor = 1;
- if (length < 8)
+ switch (length)
{
+ case 4:
f.u.real.w = 14;
f.u.real.d = 7;
f.u.real.e = 2;
- }
- else
- {
+ break;
+ case 8:
f.u.real.w = 23;
f.u.real.d = 15;
f.u.real.e = 3;
+ break;
+ case 10:
+ f.u.real.w = 24;
+ f.u.real.d = 15;
+ f.u.real.e = 4;
+ break;
+ case 16:
+ f.u.real.w = 40;
+ f.u.real.d = 31;
+ f.u.real.e = 4;
+ break;
+ default:
+ internal_error ("bad real kind");
+ break;
}
write_float (&f, source , length);
g.scale_factor = org_scale;
diff --git a/libgfortran/libgfortran.h b/libgfortran/libgfortran.h
index ccba2a764be..4b9e47a126a 100644
--- a/libgfortran/libgfortran.h
+++ b/libgfortran/libgfortran.h
@@ -1,5 +1,5 @@
/* Common declarations for all of libgfor.
- Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>, and
Andy Vaught <andy@xena.eas.asu.edu>
@@ -17,8 +17,8 @@ GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with libgfor; see the file COPYING.LIB. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with other files,
some of which are compiled with GCC, to produce an executable,
@@ -179,17 +179,11 @@ typedef off_t gfc_offset;
alternatives, or bail out. */
#if (!defined(isfinite) || defined(__CYGWIN__))
#undef isfinite
-static inline int
-isfinite (double x)
-{
#if defined(fpclassify)
- return (fpclassify(x) != FP_NAN && fpclassify(x) != FP_INFINITE);
-#elif defined(HAVE_FINITE)
- return finite (x);
+#define isfinite(x) (fpclassify(x) != FP_NAN && fpclassify(x) != FP_INFINITE)
#else
-#error "libgfortran needs isfinite, fpclassify, or finite"
+#define isfinite(x) ((x) - (x) == 0)
#endif
-}
#endif /* !defined(isfinite) */
/* TODO: find the C99 version of these an move into above ifdef. */
@@ -301,11 +295,26 @@ typedef struct
}
options_t;
-
extern options_t options;
internal_proto(options);
+/* Compile-time options that will influence the library. */
+
+typedef struct
+{
+ int warn_std;
+ int allow_std;
+}
+compile_options_t;
+
+extern compile_options_t compile_options;
+internal_proto(compile_options);
+
+extern void init_compile_options (void);
+internal_proto(init_compile_options);
+
+
/* Structure for statement options. */
typedef struct
@@ -340,6 +349,18 @@ typedef enum
error_codes;
+/* Flags to specify which standard/extension contains a feature.
+ Keep them in sync with their counterparts in gcc/fortran/gfortran.h. */
+#define GFC_STD_LEGACY (1<<6) /* Backward compatibility. */
+#define GFC_STD_GNU (1<<5) /* GNU Fortran extension. */
+#define GFC_STD_F2003 (1<<4) /* New in F2003. */
+/* Note that no features were obsoleted nor deleted in F2003. */
+#define GFC_STD_F95 (1<<3) /* New in F95. */
+#define GFC_STD_F95_DEL (1<<2) /* Deleted in F95. */
+#define GFC_STD_F95_OBS (1<<1) /* Obsoleted in F95. */
+#define GFC_STD_F77 (1<<0) /* Up to and including F77. */
+
+
/* The filename and line number don't go inside the globals structure.
They are set by the rest of the program and must be linked to. */
diff --git a/libgfortran/m4/all.m4 b/libgfortran/m4/all.m4
index c11258fc1b5..5e20473676d 100644
--- a/libgfortran/m4/all.m4
+++ b/libgfortran/m4/all.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/m4/any.m4 b/libgfortran/m4/any.m4
index ba6039dbc9c..8c78b3444ca 100644
--- a/libgfortran/m4/any.m4
+++ b/libgfortran/m4/any.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/m4/cexp.m4 b/libgfortran/m4/cexp.m4
index 7b92b790447..eda0a256077 100644
--- a/libgfortran/m4/cexp.m4
+++ b/libgfortran/m4/cexp.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include <math.h>
#include "libgfortran.h"'
diff --git a/libgfortran/m4/chyp.m4 b/libgfortran/m4/chyp.m4
index 3630d1b1f53..f520fa40987 100644
--- a/libgfortran/m4/chyp.m4
+++ b/libgfortran/m4/chyp.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include <math.h>
#include "libgfortran.h"'
diff --git a/libgfortran/m4/count.m4 b/libgfortran/m4/count.m4
index 3a1e1dd0670..59580febb02 100644
--- a/libgfortran/m4/count.m4
+++ b/libgfortran/m4/count.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/m4/cshift1.m4 b/libgfortran/m4/cshift1.m4
index 2384097a51c..59c5d7e5de8 100644
--- a/libgfortran/m4/cshift1.m4
+++ b/libgfortran/m4/cshift1.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/m4/ctrig.m4 b/libgfortran/m4/ctrig.m4
index cc33b0654da..9b2429c7f26 100644
--- a/libgfortran/m4/ctrig.m4
+++ b/libgfortran/m4/ctrig.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include <math.h>
#include "libgfortran.h"'
diff --git a/libgfortran/m4/dotprod.m4 b/libgfortran/m4/dotprod.m4
index e0b4d56ec4e..1410a1a3f3a 100644
--- a/libgfortran/m4/dotprod.m4
+++ b/libgfortran/m4/dotprod.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/m4/dotprodc.m4 b/libgfortran/m4/dotprodc.m4
index 8d3f83afb9d..806dd798255 100644
--- a/libgfortran/m4/dotprodc.m4
+++ b/libgfortran/m4/dotprodc.m4
@@ -26,8 +26,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/m4/dotprodl.m4 b/libgfortran/m4/dotprodl.m4
index b1cb0ac0295..56365f03c3d 100644
--- a/libgfortran/m4/dotprodl.m4
+++ b/libgfortran/m4/dotprodl.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/m4/eoshift1.m4 b/libgfortran/m4/eoshift1.m4
index 36b88420327..0c55c8711b6 100644
--- a/libgfortran/m4/eoshift1.m4
+++ b/libgfortran/m4/eoshift1.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/m4/eoshift3.m4 b/libgfortran/m4/eoshift3.m4
index 8acceeae919..1df01b57637 100644
--- a/libgfortran/m4/eoshift3.m4
+++ b/libgfortran/m4/eoshift3.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/m4/exponent.m4 b/libgfortran/m4/exponent.m4
index 38b38033f17..62217937899 100644
--- a/libgfortran/m4/exponent.m4
+++ b/libgfortran/m4/exponent.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include <math.h>
#include "libgfortran.h"'
diff --git a/libgfortran/m4/fraction.m4 b/libgfortran/m4/fraction.m4
index 13cd5aab22a..9f33c59e304 100644
--- a/libgfortran/m4/fraction.m4
+++ b/libgfortran/m4/fraction.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include <math.h>
#include "libgfortran.h"'
diff --git a/libgfortran/m4/head.m4 b/libgfortran/m4/head.m4
index ffa08131860..73e99b22afd 100644
--- a/libgfortran/m4/head.m4
+++ b/libgfortran/m4/head.m4
@@ -24,7 +24,7 @@
!
!You should have received a copy of the GNU General Public
!License along with libgfortran; see the file COPYING. If not,
-!write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-!Boston, MA 02111-1307, USA.
+!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+!Boston, MA 02110-1301, USA.
!
!This file is machine generated.'
diff --git a/libgfortran/m4/in_pack.m4 b/libgfortran/m4/in_pack.m4
index 819cb3e2c33..1e6fdf57484 100644
--- a/libgfortran/m4/in_pack.m4
+++ b/libgfortran/m4/in_pack.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/m4/in_unpack.m4 b/libgfortran/m4/in_unpack.m4
index 47ae51d9ac0..1d2a609c007 100644
--- a/libgfortran/m4/in_unpack.m4
+++ b/libgfortran/m4/in_unpack.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/m4/matmul.m4 b/libgfortran/m4/matmul.m4
index 0ce1b08907f..02297b935fa 100644
--- a/libgfortran/m4/matmul.m4
+++ b/libgfortran/m4/matmul.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/m4/matmull.m4 b/libgfortran/m4/matmull.m4
index 4f3375dea51..c36949c2d81 100644
--- a/libgfortran/m4/matmull.m4
+++ b/libgfortran/m4/matmull.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/m4/maxloc0.m4 b/libgfortran/m4/maxloc0.m4
index 16492555446..e0ea06132f2 100644
--- a/libgfortran/m4/maxloc0.m4
+++ b/libgfortran/m4/maxloc0.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/m4/maxloc1.m4 b/libgfortran/m4/maxloc1.m4
index 52baf34ab00..103e15ad9a4 100644
--- a/libgfortran/m4/maxloc1.m4
+++ b/libgfortran/m4/maxloc1.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/m4/maxval.m4 b/libgfortran/m4/maxval.m4
index dca018e8083..be0613c362c 100644
--- a/libgfortran/m4/maxval.m4
+++ b/libgfortran/m4/maxval.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/m4/minloc0.m4 b/libgfortran/m4/minloc0.m4
index 73e3040cb2c..d2186679cf5 100644
--- a/libgfortran/m4/minloc0.m4
+++ b/libgfortran/m4/minloc0.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/m4/minloc1.m4 b/libgfortran/m4/minloc1.m4
index 931ae2230c6..d2eaff9fc96 100644
--- a/libgfortran/m4/minloc1.m4
+++ b/libgfortran/m4/minloc1.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/m4/minval.m4 b/libgfortran/m4/minval.m4
index 1f9b04e2d6a..2fea1cdd74a 100644
--- a/libgfortran/m4/minval.m4
+++ b/libgfortran/m4/minval.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/m4/nearest.m4 b/libgfortran/m4/nearest.m4
index c1bedfbbd3c..ce83dc500ff 100644
--- a/libgfortran/m4/nearest.m4
+++ b/libgfortran/m4/nearest.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include <math.h>
#include <float.h>
#include "libgfortran.h"'
diff --git a/libgfortran/m4/pow.m4 b/libgfortran/m4/pow.m4
index 94515530d94..c7ed7664c3e 100644
--- a/libgfortran/m4/pow.m4
+++ b/libgfortran/m4/pow.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include "libgfortran.h"'
diff --git a/libgfortran/m4/product.m4 b/libgfortran/m4/product.m4
index ca0fea74a7c..6e9581d6fba 100644
--- a/libgfortran/m4/product.m4
+++ b/libgfortran/m4/product.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/m4/reshape.m4 b/libgfortran/m4/reshape.m4
index e0db3315ae9..adc6df0bbda 100644
--- a/libgfortran/m4/reshape.m4
+++ b/libgfortran/m4/reshape.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/m4/set_exponent.m4 b/libgfortran/m4/set_exponent.m4
index 2abebf30f6a..797906c97b5 100644
--- a/libgfortran/m4/set_exponent.m4
+++ b/libgfortran/m4/set_exponent.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include <math.h>
#include "libgfortran.h"'
diff --git a/libgfortran/m4/shape.m4 b/libgfortran/m4/shape.m4
index 8f0a0ef9711..5481ba07cb6 100644
--- a/libgfortran/m4/shape.m4
+++ b/libgfortran/m4/shape.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/m4/sum.m4 b/libgfortran/m4/sum.m4
index 27d3d1b1d8a..8dcc7aac242 100644
--- a/libgfortran/m4/sum.m4
+++ b/libgfortran/m4/sum.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/m4/transpose.m4 b/libgfortran/m4/transpose.m4
index fc0e3d8e869..cfd817576aa 100644
--- a/libgfortran/m4/transpose.m4
+++ b/libgfortran/m4/transpose.m4
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <assert.h>
diff --git a/libgfortran/runtime/environ.c b/libgfortran/runtime/environ.c
index 4c2cd99ad15..66222bfd2f7 100644
--- a/libgfortran/runtime/environ.c
+++ b/libgfortran/runtime/environ.c
@@ -24,8 +24,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with libgfortran; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <string.h>
diff --git a/libgfortran/runtime/error.c b/libgfortran/runtime/error.c
index ff91b96bd3f..2a84edf1624 100644
--- a/libgfortran/runtime/error.c
+++ b/libgfortran/runtime/error.c
@@ -24,8 +24,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with libgfortran; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
@@ -489,3 +489,29 @@ generate_error (int family, const char *message)
runtime_error (message);
}
+
+
+
+/* Possibly issue a warning/error about use of a nonstandard (or deleted)
+ feature. An error/warning will be issued if the currently selected
+ standard does not contain the requested bits. */
+
+try
+notify_std (int std, const char * message)
+{
+ int warning;
+
+ warning = compile_options.warn_std & std;
+ if ((compile_options.allow_std & std) != 0 && !warning)
+ return SUCCESS;
+
+ show_locus ();
+ if (!warning)
+ {
+ st_printf ("Fortran runtime error: %s\n", message);
+ sys_exit (2);
+ }
+ else
+ st_printf ("Fortran runtime warning: %s\n", message);
+ return FAILURE;
+}
diff --git a/libgfortran/runtime/in_pack_generic.c b/libgfortran/runtime/in_pack_generic.c
index 23810cf8320..1536db17d28 100644
--- a/libgfortran/runtime/in_pack_generic.c
+++ b/libgfortran/runtime/in_pack_generic.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/runtime/in_unpack_generic.c b/libgfortran/runtime/in_unpack_generic.c
index 1e8ac6b7a47..8ca0fa53492 100644
--- a/libgfortran/runtime/in_unpack_generic.c
+++ b/libgfortran/runtime/in_unpack_generic.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/runtime/main.c b/libgfortran/runtime/main.c
index d2cedf70371..77204309aae 100644
--- a/libgfortran/runtime/main.c
+++ b/libgfortran/runtime/main.c
@@ -24,8 +24,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with libgfortran; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include <stdio.h>
#include <stdlib.h>
@@ -96,6 +96,7 @@ init (void)
init_variables ();
init_units ();
+ init_compile_options ();
#ifdef DEBUG
/* Check for special command lines. */
diff --git a/libgfortran/runtime/memory.c b/libgfortran/runtime/memory.c
index ce2dc91c797..a8264f1a489 100644
--- a/libgfortran/runtime/memory.c
+++ b/libgfortran/runtime/memory.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <stdlib.h>
diff --git a/libgfortran/runtime/normalize.c b/libgfortran/runtime/normalize.c
index 350cd0c4b52..7bc90033ef3 100644
--- a/libgfortran/runtime/normalize.c
+++ b/libgfortran/runtime/normalize.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include <math.h>
#include "libgfortran.h"
diff --git a/libgfortran/runtime/pause.c b/libgfortran/runtime/pause.c
index 1ce90ffb26a..516e7441f3c 100644
--- a/libgfortran/runtime/pause.c
+++ b/libgfortran/runtime/pause.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <string.h>
diff --git a/libgfortran/runtime/select.c b/libgfortran/runtime/select.c
index d12e44be4f7..4421e024ced 100644
--- a/libgfortran/runtime/select.c
+++ b/libgfortran/runtime/select.c
@@ -24,8 +24,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with libgfortran; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "libgfortran.h"
diff --git a/libgfortran/runtime/stop.c b/libgfortran/runtime/stop.c
index 4098b444308..768d75bbc0a 100644
--- a/libgfortran/runtime/stop.c
+++ b/libgfortran/runtime/stop.c
@@ -25,8 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with libgfortran; see the file COPYING. If not,
-write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <string.h>
diff --git a/libgfortran/runtime/string.c b/libgfortran/runtime/string.c
index 5fff97f5a3c..5284b2fc8a9 100644
--- a/libgfortran/runtime/string.c
+++ b/libgfortran/runtime/string.c
@@ -24,8 +24,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with libgfortran; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#include "config.h"
#include <string.h>
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 589afe76631..3e2e92e6068 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,23 @@
+2005-08-17 Mark Kettenis <kettenis@gnu.org>
+
+ * floatformat.c (floatformat_always_valid): Change type of last
+ argument to `void *'.
+ (floatformat_i387_ext_is_valid): Likewise.
+ (floatformat_to_double): Change type of second argument to `const
+ void *'.
+ (floatformat_from_double): Change type of last argument to `void
+ *'.
+ (floatformat_is_valid): Change type of last argument to `const
+ void *'.
+ (ieee_test): Remove redundant casts.
+
+2005-08-17 Kelley Cook <kcook@gcc.gnu.org>
+
+ * strverscmp.c: Update FSF address.
+ * testsuite/Makefile.in: Likewise.
+ * testsuite/test-demangle.c: Likewise.
+ * testsuite/test-pexecute.c: Likewise.
+
2005-07-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* getopt.c: Include ansidecl.h before system headers.
diff --git a/libiberty/floatformat.c b/libiberty/floatformat.c
index e466f53a7ab..8f0d7894641 100644
--- a/libiberty/floatformat.c
+++ b/libiberty/floatformat.c
@@ -1,5 +1,6 @@
/* IEEE floating point support routines, for GDB, the GNU Debugger.
- Copyright (C) 1991, 1994, 1999, 2000, 2003 Free Software Foundation, Inc.
+ Copyright 1991, 1994, 1999, 2000, 2003, 2005
+ Free Software Foundation, Inc.
This file is part of GDB.
@@ -52,11 +53,11 @@ static unsigned long get_field (const unsigned char *,
unsigned int,
unsigned int);
static int floatformat_always_valid (const struct floatformat *fmt,
- const char *from);
+ const void *from);
static int
floatformat_always_valid (const struct floatformat *fmt ATTRIBUTE_UNUSED,
- const char *from ATTRIBUTE_UNUSED)
+ const void *from ATTRIBUTE_UNUSED)
{
return 1;
}
@@ -107,23 +108,24 @@ const struct floatformat floatformat_ieee_double_littlebyte_bigword =
floatformat_always_valid
};
-static int floatformat_i387_ext_is_valid (const struct floatformat *fmt, const char *from);
+static int floatformat_i387_ext_is_valid (const struct floatformat *fmt,
+ const void *from);
static int
-floatformat_i387_ext_is_valid (const struct floatformat *fmt, const char *from)
+floatformat_i387_ext_is_valid (const struct floatformat *fmt, const void *from)
{
/* In the i387 double-extended format, if the exponent is all ones,
then the integer bit must be set. If the exponent is neither 0
nor ~0, the intbit must also be set. Only if the exponent is
zero can it be zero, and then it must be zero. */
unsigned long exponent, int_bit;
- const unsigned char *ufrom = (const unsigned char *) from;
-
+ const unsigned char *ufrom = from;
+
exponent = get_field (ufrom, fmt->byteorder, fmt->totalsize,
fmt->exp_start, fmt->exp_len);
int_bit = get_field (ufrom, fmt->byteorder, fmt->totalsize,
fmt->man_start, 1);
-
+
if ((exponent == 0) != (int_bit == 0))
return 0;
else
@@ -267,9 +269,9 @@ get_field (const unsigned char *data, enum floatformat_byteorders order,
void
floatformat_to_double (const struct floatformat *fmt,
- const char *from, double *to)
+ const void *from, double *to)
{
- const unsigned char *ufrom = (const unsigned char *)from;
+ const unsigned char *ufrom = from;
double dto;
long exponent;
unsigned long mant;
@@ -438,14 +440,14 @@ put_field (unsigned char *data, enum floatformat_byteorders order,
void
floatformat_from_double (const struct floatformat *fmt,
- const double *from, char *to)
+ const double *from, void *to)
{
double dfrom;
int exponent;
double mant;
unsigned int mant_bits, mant_off;
int mant_bits_left;
- unsigned char *uto = (unsigned char *)to;
+ unsigned char *uto = to;
dfrom = *from;
memset (uto, 0, fmt->totalsize / FLOATFORMAT_CHAR_BIT);
@@ -533,7 +535,7 @@ floatformat_from_double (const struct floatformat *fmt,
/* Return non-zero iff the data at FROM is a valid number in format FMT. */
int
-floatformat_is_valid (const struct floatformat *fmt, const char *from)
+floatformat_is_valid (const struct floatformat *fmt, const void *from)
{
return fmt->is_valid (fmt, from);
}
@@ -550,15 +552,13 @@ ieee_test (double n)
{
double result;
- floatformat_to_double (&floatformat_ieee_double_little, (char *) &n,
- &result);
+ floatformat_to_double (&floatformat_ieee_double_little, &n, &result);
if ((n != result && (! isnan (n) || ! isnan (result)))
|| (n < 0 && result >= 0)
|| (n >= 0 && result < 0))
printf ("Differ(to): %.20g -> %.20g\n", n, result);
- floatformat_from_double (&floatformat_ieee_double_little, &n,
- (char *) &result);
+ floatformat_from_double (&floatformat_ieee_double_little, &n, &result);
if ((n != result && (! isnan (n) || ! isnan (result)))
|| (n < 0 && result >= 0)
|| (n >= 0 && result < 0))
diff --git a/libiberty/strverscmp.c b/libiberty/strverscmp.c
index 2c6fe8a5910..04e1e4ae99e 100644
--- a/libiberty/strverscmp.c
+++ b/libiberty/strverscmp.c
@@ -15,8 +15,8 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
+ Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301 USA. */
#include "libiberty.h"
#include "safe-ctype.h"
diff --git a/libiberty/testsuite/Makefile.in b/libiberty/testsuite/Makefile.in
index e15f6fa191a..2be6bb3d7a8 100644
--- a/libiberty/testsuite/Makefile.in
+++ b/libiberty/testsuite/Makefile.in
@@ -16,8 +16,8 @@
#
# You should have received a copy of the GNU Library General Public
# License along with libiberty; see the file COPYING.LIB. If not,
-# write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
+# write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
#
# This file was written by Tom Tromey <tromey@cygnus.com>.
diff --git a/libiberty/testsuite/test-demangle.c b/libiberty/testsuite/test-demangle.c
index 4d515fab534..dcb27d259d4 100644
--- a/libiberty/testsuite/test-demangle.c
+++ b/libiberty/testsuite/test-demangle.c
@@ -16,7 +16,7 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/libiberty/testsuite/test-pexecute.c b/libiberty/testsuite/test-pexecute.c
index dfb5413453e..8e01fda479a 100644
--- a/libiberty/testsuite/test-pexecute.c
+++ b/libiberty/testsuite/test-pexecute.c
@@ -16,7 +16,7 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 6d235808940..0c6f6509505 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,115 @@
+2005-08-29 Thomas Fitzsimmons <fitzsim@redhat.com>
+
+ PR libgcj/23549
+ * gij.cc (main): Don't expect arguments to -enableassertions, -ea,
+ -disableassertions and -da.
+
+2005-08-29 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * configure.ac: Replace "*-*-darwin[0-7].*" with
+ "*-*-darwin[[0-7]].*"
+ * configure: Regenerate.
+
+2005-08-24 Andreas Tobler <a.tobler@schweiz.ch>
+
+ * configure.ac (extra_ldflags_libjava): Enable -single_module only for
+ darwin < 8.
+ * configure: Regenerate.
+
+2005-08-23 Roman Kennke <roman@kennke.org>
+
+ * java/lang/Character.java
+ (toChars(int)): New JDK1.5 method.
+ (toChars(int, char[], int)): New JDK1.5 method.
+ (charCount): New JDK1.5 method.
+ (isSupplementaryCodePoint): New JDK1.5 method.
+ (isValidCodePoint): New JDK1.5 method.
+
+2005-08-23 Tom Tromey <tromey@redhat.com>
+
+ * aclocal.m4, Makefile.in: Rebuilt.
+ * Makefile.am (property_files): Added META-INF files.
+ (propertyo_files): Changed definition.
+ ($(propertyo_files)): Updated patterns.
+
+2005-08-22 Tom Tromey <tromey@redhat.com>
+
+ PR libgcj/22622:
+ * configure: Rebuilt.
+ * configure.ac: Correctly create Configuration.java (for
+ temporary use).
+
+2005-08-22 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Makefile.am (ACLOCAL_AMFLAGS): Also include "..".
+ * acinclude.m4: Delete. Extract CHECK_FOR_BROKEN_MINGW_LD to ...
+ * mingwld.m4: ... this new file.
+ * aclocal.m4, Makefile.in, gcj/Makefile.in: Regenerate.
+ * include/Makefile.in, testsuite/Makfile.in: Regenerate.
+
+2005-08-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR libgcj/23507
+ * stacktrace.cc (_Jv_StackTrace::UnwindTraceFn): Fix typo in newLength
+ assignment. Cast operands of compare to function pointer type.
+
+2005-08-21 Tom Tromey <tromey@redhat.com>
+
+ * HACKING: Updated for hacking classpath in libgcj.
+
+2005-08-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR libgcj/21692
+ * sysdep/pa/descriptor.h: New file.
+ * configure.host: Use sysdep/pa/descriptor.h on hppa*-*.
+
+2005-08-19 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * Makefile.am (extra_ldflags_libjava): New variable to
+ substitute in.
+ (LIBLINK): Add extra_ldflags_libjava to it.
+ * configure.ac (extra_ldflags_libjava): Set for *-darwin* to
+ "-Wl,-single_module".
+ * Makefile.in: Regenerate.
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
+ * gcj/Makefile.in: Regenerate.
+ * include/Makefile.in: Regenerate.
+ * testsuite/Makefile.in: Regenerate.
+
+2005-08-17 Tom Tromey <tromey@redhat.com>
+
+ * java/lang/Class.h (_Jv_IsBinaryCompatibilityABI): Declare as
+ friend.
+ * include/jvm.h (_Jv_IsBinaryCompatibilityABI): New function.
+ * testsuite/libjava.lang/bclink.java: New file.
+ * testsuite/libjava.lang/bclink.out: New file.
+ * link.cc (print_class_loaded): Changed ABI test to look at
+ various _syms fields.
+
+2005-08-17 Andreas Tobler <a.tobler@schweiz.ch>
+
+ * testsuite/libjava.jacks/jacks.xfail: Remove 15.21-assoc-7,
+ 15.21-assoc-8, 15.21-equal-3, 15.28-string-11.
+
+2005-08-16 Ranjit Mathew <rmathew@hotmail.com>
+
+ More testsuite adjustments for PR java/19870.
+ * testsuite/libjava.lang/PR19870_2.java: New testcase.
+ * testsuite/libjava.lang/PR19870_2.out: Expected output for the
+ new testcase.
+ * testsuite/libjava.jacks/jacks.xfail: Remove
+ 8.5.2-non-static-member-usage-2 and add 15.12.3-explicit-constructor-9.
+
+2005-08-16 Tom Tromey <tromey@redhat.com>
+
+ * gnu/xml/xpath/XPathParser.y: Removed.
+
+2005-08-12 Morgan Deters <mdeters@morgandeters.com>
+
+ PR libgcj/23353:
+ * java/lang/natObject.cc (clone): Clear sync_info.
+
2005-07-26 Tom Tromey <tromey@redhat.com>
* gnu/java/net/protocol/ftp/package.html,
diff --git a/libjava/HACKING b/libjava/HACKING
index 410b1cc59e6..649a161f2ff 100644
--- a/libjava/HACKING
+++ b/libjava/HACKING
@@ -60,6 +60,30 @@ However, there are two (known) exceptions to this rule:
--
+You can develop in a GCC tree using a CVS checkout of Classpath, most
+of the time. (The exceptions are when an incompatible change has been
+made in Classpath and some core part of libgcj has not yet been
+updated.)
+
+The way to set this up is very similar to importing a new version of
+Classpath into the libgcj tree. In your working tree:
+
+* cd gcc/libjava; rm -rf classpath
+* cvs co classpath
+* cd classpath
+ Now run the auto tools as specified in the import process; then
+ cd ..
+* Run 'scripts/makemake.tcl > sources.am' in the source tree
+* Run automake for libgcj
+
+Now you should be ready to go.
+
+If you are working in a tree like this, you must remember to run
+makemake.tcl and automake whenever you update your embedded classpath
+tree.
+
+--
+
If you add a class to java.lang, java.io, or java.util
(including sub-packages, like java.lang.ref).
diff --git a/libjava/Makefile.am b/libjava/Makefile.am
index 4bafc5dbe40..b0b759d3581 100644
--- a/libjava/Makefile.am
+++ b/libjava/Makefile.am
@@ -2,7 +2,7 @@
AUTOMAKE_OPTIONS = foreign subdir-objects
-ACLOCAL_AMFLAGS = -I . -I ../config
+ACLOCAL_AMFLAGS = -I . -I .. -I ../config
# May be used by various substitution variables.
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
@@ -91,8 +91,12 @@ ZIP = @ZIP@
## compiles.
GCJ_WITH_FLAGS = $(GCJ) --encoding=UTF-8 -Wno-deprecated
-GCJLINK = $(LIBTOOL) --tag=GCJ --mode=link $(GCJ) -L$(here) $(JC1FLAGS) $(LDFLAGS) -o $@
-LIBLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXX) -L$(here) $(JC1FLAGS) $(LDFLAGS) -o $@
+extra_ldflags_libjava = @extra_ldflags_libjava@
+
+GCJLINK = $(LIBTOOL) --tag=GCJ --mode=link $(GCJ) -L$(here) $(JC1FLAGS) \
+ $(LDFLAGS) -o $@
+LIBLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXX) -L$(here) $(JC1FLAGS) \
+ $(LDFLAGS) $(extra_ldflags_libjava) -o $@
GCC_UNWIND_INCLUDE = @GCC_UNWIND_INCLUDE@
@@ -294,11 +298,15 @@ classpath/resource/java/util/iso4217.properties \
classpath/resource/gnu/java/awt/peer/gtk/font.properties \
classpath/resource/gnu/regexp/MessagesBundle_it.properties \
classpath/resource/gnu/regexp/MessagesBundle_fr.properties \
-classpath/resource/gnu/regexp/MessagesBundle.properties
+classpath/resource/gnu/regexp/MessagesBundle.properties \
+classpath/resource/META-INF/services/org.xml.sax.driver \
+classpath/resource/META-INF/services/javax.xml.parsers.SAXParserFactory \
+classpath/resource/META-INF/services/javax.xml.parsers.DocumentBuilderFactory \
+classpath/resource/META-INF/services/javax.xml.parsers.TransformerFactory
-propertyo_files = $(patsubst classpath/resource/%,%,$(property_files:.properties=.properties.lo))
+propertyo_files = $(patsubst classpath/resource/%,%,$(addsuffix .lo,$(property_files)))
-$(propertyo_files): %.properties.lo: classpath/resource/%.properties
+$(propertyo_files): %.lo: classpath/resource/%
$(mkinstalldirs) `dirname $@`; \
$(LTGCJCOMPILE) -o $@ -c $< -Wc,--resource,$(@:.lo=)
diff --git a/libjava/Makefile.in b/libjava/Makefile.in
index ef20d79e037..5ab714c5a06 100644
--- a/libjava/Makefile.in
+++ b/libjava/Makefile.in
@@ -80,10 +80,10 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
$(top_srcdir)/../config/lead-dot.m4 \
$(top_srcdir)/../config/lib-ld.m4 \
$(top_srcdir)/../config/lib-link.m4 \
- $(top_srcdir)/../config/lib-prefix.m4 $(top_srcdir)/pkg.m4 \
- $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/../config/lib-prefix.m4 \
$(top_srcdir)/../config/no-executables.m4 \
- $(top_srcdir)/../libtool.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/../libtool.m4 $(top_srcdir)/mingwld.m4 \
+ $(top_srcdir)/pkg.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -200,8 +200,8 @@ am__DEPENDENCIES_2 = gnu/awt.lo gnu/awt/j2d.lo gnu/classpath.lo \
javax/transaction/xa.lo org/ietf/jgss.lo
am__DEPENDENCIES_3 = gnu-java-beans.lo gnu-xml.lo javax-imageio.lo \
javax-xml.lo org-w3c.lo org-xml.lo
-am__DEPENDENCIES_4 = $(patsubst \
- classpath/resource/%,%,$(property_files:.properties=.properties.lo))
+am__DEPENDENCIES_4 = $(patsubst classpath/resource/%,%,$(addsuffix \
+ .lo,$(property_files)))
am__libgcj_la_SOURCES_DIST = prims.cc jni.cc exception.cc \
stacktrace.cc link.cc defineclass.cc interpret.cc verify.cc \
java/lang/Class.java java/lang/Object.java \
@@ -570,6 +570,7 @@ build_subdir = @build_subdir@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
+extra_ldflags_libjava = @extra_ldflags_libjava@
gxx_include_dir = @gxx_include_dir@
here = @here@
host = @host@
@@ -609,7 +610,7 @@ toolexecdir = @toolexecdir@
toolexeclibdir = @toolexeclibdir@
toolexecmainlibdir = @toolexecmainlibdir@
AUTOMAKE_OPTIONS = foreign subdir-objects
-ACLOCAL_AMFLAGS = -I . -I ../config
+ACLOCAL_AMFLAGS = -I . -I .. -I ../config
# May be used by various substitution variables.
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
@@ -642,8 +643,12 @@ db_pathtail = gcj-$(gcc_version)/$(db_name)
@NATIVE_TRUE@dbexec_DATA = $(db_name)
bin_SCRIPTS = addr2name.awk
GCJ_WITH_FLAGS = $(GCJ) --encoding=UTF-8 -Wno-deprecated
-GCJLINK = $(LIBTOOL) --tag=GCJ --mode=link $(GCJ) -L$(here) $(JC1FLAGS) $(LDFLAGS) -o $@
-LIBLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXX) -L$(here) $(JC1FLAGS) $(LDFLAGS) -o $@
+GCJLINK = $(LIBTOOL) --tag=GCJ --mode=link $(GCJ) -L$(here) $(JC1FLAGS) \
+ $(LDFLAGS) -o $@
+
+LIBLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXX) -L$(here) $(JC1FLAGS) \
+ $(LDFLAGS) $(extra_ldflags_libjava) -o $@
+
WARNINGS = -Wextra -Wall
AM_CXXFLAGS = \
-fno-rtti \
@@ -768,9 +773,13 @@ classpath/resource/java/util/iso4217.properties \
classpath/resource/gnu/java/awt/peer/gtk/font.properties \
classpath/resource/gnu/regexp/MessagesBundle_it.properties \
classpath/resource/gnu/regexp/MessagesBundle_fr.properties \
-classpath/resource/gnu/regexp/MessagesBundle.properties
+classpath/resource/gnu/regexp/MessagesBundle.properties \
+classpath/resource/META-INF/services/org.xml.sax.driver \
+classpath/resource/META-INF/services/javax.xml.parsers.SAXParserFactory \
+classpath/resource/META-INF/services/javax.xml.parsers.DocumentBuilderFactory \
+classpath/resource/META-INF/services/javax.xml.parsers.TransformerFactory
-propertyo_files = $(patsubst classpath/resource/%,%,$(property_files:.properties=.properties.lo))
+propertyo_files = $(patsubst classpath/resource/%,%,$(addsuffix .lo,$(property_files)))
CLEANFILES = libgcj-$(gcc_version).jar \
$(all_java_deps_files) $(all_java_filelist_files)
@@ -6363,7 +6372,7 @@ $(db_name): gcj-dbtool$(EXEEXT)
$(lib_gnu_java_awt_peer_gtk_la_OBJECTS): $(lib_gnu_java_awt_peer_gtk_la_DEPENDENCIES)
-$(propertyo_files): %.properties.lo: classpath/resource/%.properties
+$(propertyo_files): %.lo: classpath/resource/%
$(mkinstalldirs) `dirname $@`; \
$(LTGCJCOMPILE) -o $@ -c $< -Wc,--resource,$(@:.lo=)
diff --git a/libjava/acinclude.m4 b/libjava/acinclude.m4
deleted file mode 100644
index 8a9677aa7d3..00000000000
--- a/libjava/acinclude.m4
+++ /dev/null
@@ -1,37 +0,0 @@
-m4_include(../config/no-executables.m4)
-
-dnl The lines below arrange for aclocal not to bring libtool.m4
-dnl AM_PROG_LIBTOOL into aclocal.m4, while still arranging for automake
-dnl to add a definition of LIBTOOL to Makefile.in.
-m4_include(../libtool.m4)
-ifelse(yes,no,[
-AC_DEFUN([AM_PROG_LIBTOOL],)
-AC_DEFUN([AC_LIBTOOL_DLOPEN],)
-AC_DEFUN([AC_LIBLTDL_CONVENIENCE],)
-AC_DEFUN([LT_AC_PROG_GCJ],)
-AC_SUBST(GCJ)
-AC_SUBST(LIBTOOL)
-])
-AC_DEFUN([CHECK_FOR_BROKEN_MINGW_LD],
-[
-AC_MSG_CHECKING(whether 'ld' is at least 2.13)
-LD_PROG=`$CC --print-prog-name=ld`
-LD_VERSION=`$LD_PROG --version`
-LD_VERSION_MAJOR=`echo "$LD_VERSION" | head -1 | cut -d '.' -f 1 | cut -d ' ' -f 4`
-LD_VERSION_MINOR=`echo "$LD_VERSION" | head -1 | cut -d '.' -f 2`
-if expr "$LD_VERSION_MAJOR" \> 2 > /dev/null; then
- LD_OK="ok"
-else
- if expr "$LD_VERSION_MAJOR" = 2 && expr "$LD_VERSION_MINOR" \>= 13 > /dev/null; then
- LD_OK="ok"
- fi
-fi
-if test "x$LD_OK" != x; then
- AC_MSG_RESULT([yes; major=$LD_VERSION_MAJOR, minor=$LD_VERSION_MINOR])
-else
- AC_MSG_RESULT([no; major=$LD_VERSION_MAJOR, minor=$LD_VERSION_MINOR])
- AC_MSG_WARN([ld <2.13 detected; enabling JV_LINKER_CANNOT_8BYTE_ALIGN_STATICS hack...])
- AC_DEFINE(JV_LINKER_CANNOT_8BYTE_ALIGN_STATICS, 1,
- [Indicate that linker is not able to 8-byte align static data])
-fi[]dnl
-])# CHECK_FOR_BROKEN_MINGW_LD
diff --git a/libjava/aclocal.m4 b/libjava/aclocal.m4
index b0713c7d5c8..906fc0cad59 100644
--- a/libjava/aclocal.m4
+++ b/libjava/aclocal.m4
@@ -1104,5 +1104,7 @@ m4_include([../config/lead-dot.m4])
m4_include([../config/lib-ld.m4])
m4_include([../config/lib-link.m4])
m4_include([../config/lib-prefix.m4])
+m4_include([../config/no-executables.m4])
+m4_include([../libtool.m4])
+m4_include([mingwld.m4])
m4_include([pkg.m4])
-m4_include([acinclude.m4])
diff --git a/libjava/classpath/ChangeLog.gcj b/libjava/classpath/ChangeLog.gcj
index 9fde62e3f33..813715a1066 100644
--- a/libjava/classpath/ChangeLog.gcj
+++ b/libjava/classpath/ChangeLog.gcj
@@ -1,3 +1,30 @@
+2005-08-23 Tom Tromey <tromey@redhat.com>
+
+ * configure: Rebuilt.
+ * configure.ac: Fixed typo.
+
+2005-08-22 Tom Tromey <tromey@redhat.com>
+
+ PR libgcj/23498:
+ * doc/Makefile.am (info_TEXINFOS): Commented out.
+ * doc/Makefile.in: Rebuilt.
+
+2005-08-22 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Makefile.am (ACLOCAL_AMFLAGS): New.
+ * Makefile.in: Regenerate.
+
+2005-08-22 Tom Tromey <tromey@redhat.com>
+
+ PR libgcj/23498:
+ * doc/Makefile.am (info_TEXINFOS): Commented out.
+ * doc/Makefile.in: Rebuilt.
+
+2005-08-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * lib/split-for-gcj.sh: Don't use unportable %{parameter%word}.
+ Don't use unportable !.
+
2005-07-15 Tom Tromey <tromey@redhat.com>
* ChangeLog.gcj, Makefile.in, aclocal.m4, config.guess,
diff --git a/libjava/classpath/Makefile.am b/libjava/classpath/Makefile.am
index 837e50d4913..6cc0754e91c 100644
--- a/libjava/classpath/Makefile.am
+++ b/libjava/classpath/Makefile.am
@@ -4,6 +4,8 @@
SUBDIRS = lib doc external include native resource scripts $(EXAMPLESDIR)
DIST_SUBDIRS = lib doc external include native resource scripts examples
+ACLOCAL_AMFLAGS = -I m4 -I ../..
+
native: lib
EXTRA_DIST = HACKING BUGS THANKYOU mauve-classpath LICENSE \
diff --git a/libjava/classpath/Makefile.in b/libjava/classpath/Makefile.in
index d4db90c7fc9..fd9f5b7e02f 100644
--- a/libjava/classpath/Makefile.in
+++ b/libjava/classpath/Makefile.in
@@ -255,6 +255,7 @@ vm_classes = @vm_classes@
# lib first, to compile .class files before native code, last examples
SUBDIRS = lib doc external include native resource scripts $(EXAMPLESDIR)
DIST_SUBDIRS = lib doc external include native resource scripts examples
+ACLOCAL_AMFLAGS = -I m4 -I ../..
EXTRA_DIST = HACKING BUGS THANKYOU mauve-classpath LICENSE \
ChangeLog-2003 ChangeLog-2004 \
ChangeLog.gnujaxp.1 ChangeLog.gnujaxp.2 ChangeLog.libxmlj
diff --git a/libjava/classpath/configure b/libjava/classpath/configure
index 2d15784f327..b42c613338a 100755
--- a/libjava/classpath/configure
+++ b/libjava/classpath/configure
@@ -2047,7 +2047,7 @@ if test "${enable_default_toolkit+set}" = set; then
enableval="$enable_default_toolkit"
fi;
-default_toolkit=$enable_default_tookit
+default_toolkit=$enable_default_toolkit
if test "$default_toolkit" = ""; then
default_toolkit=gnu.java.awt.peer.gtk.GtkToolkit
fi
diff --git a/libjava/classpath/configure.ac b/libjava/classpath/configure.ac
index 5c55f7fb6ff..1e92a5608a1 100644
--- a/libjava/classpath/configure.ac
+++ b/libjava/classpath/configure.ac
@@ -74,7 +74,7 @@ dnl -----------------------------------------------------------
AC_ARG_ENABLE(default-toolkit,
AS_HELP_STRING([--enable-default-toolkit],
[fully qualified class name of default AWT toolkit]))
-default_toolkit=$enable_default_tookit
+default_toolkit=$enable_default_toolkit
if test "$default_toolkit" = ""; then
default_toolkit=gnu.java.awt.peer.gtk.GtkToolkit
fi
diff --git a/libjava/classpath/doc/Makefile.am b/libjava/classpath/doc/Makefile.am
index 70100ce9599..4972761e6ae 100644
--- a/libjava/classpath/doc/Makefile.am
+++ b/libjava/classpath/doc/Makefile.am
@@ -1,13 +1,2 @@
-SUBDIRS = api
-
-EXTRA_DIST = README.jaxp
-
-info_TEXINFOS = hacking.texinfo vmintegration.texinfo
-
-%.dvi : %.texinfo
- texi2dvi $<
-
-%.ps : %.dvi
- dvips -o $@ $<
-
-docs: hacking.ps vmintegration.ps
+## GCJ LOCAL: we don't want to install Classpath's info files.
+## info_TEXINFOS = hacking.texinfo vmintegration.texinfo
diff --git a/libjava/classpath/doc/Makefile.in b/libjava/classpath/doc/Makefile.in
index c8deb1f8bb6..255b2ac7ef2 100644
--- a/libjava/classpath/doc/Makefile.in
+++ b/libjava/classpath/doc/Makefile.in
@@ -51,25 +51,12 @@ CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
-INFO_DEPS = $(srcdir)/hacking.info $(srcdir)/vmintegration.info
-am__TEXINFO_TEX_DIR = $(srcdir)
-DVIS = hacking.dvi vmintegration.dvi
-PDFS = hacking.pdf vmintegration.pdf
-PSS = hacking.ps vmintegration.ps
-HTMLS = hacking.html vmintegration.html
-TEXINFOS = hacking.texinfo vmintegration.texinfo
-TEXI2DVI = texi2dvi
-TEXI2PDF = $(TEXI2DVI) --pdf --batch
-MAKEINFOHTML = $(MAKEINFO) --html
-AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
-DVIPS = dvips
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
install-recursive installcheck-recursive installdirs-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive
-am__installdirs = "$(DESTDIR)$(infodir)"
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
@@ -250,11 +237,9 @@ target_vendor = @target_vendor@
vm_classes = @vm_classes@
SUBDIRS = api
EXTRA_DIST = README.jaxp
-info_TEXINFOS = hacking.texinfo vmintegration.texinfo
all: all-recursive
.SUFFIXES:
-.SUFFIXES: .dvi .html .info .pdf .ps .texinfo
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
@@ -293,117 +278,7 @@ clean-libtool:
distclean-libtool:
-rm -f libtool
-
-.texinfo.info:
- restore=: && backupdir="$(am__leading_dot)am$$$$" && \
- am__cwd=`pwd` && cd $(srcdir) && \
- rm -rf $$backupdir && mkdir $$backupdir && \
- for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
- if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
- done; \
- cd "$$am__cwd"; \
- if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
- -o $@ $<; \
- then \
- rc=0; \
- cd $(srcdir); \
- else \
- rc=$$?; \
- cd $(srcdir) && \
- $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
- fi; \
- rm -rf $$backupdir; exit $$rc
-
-.texinfo.dvi:
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
- $(TEXI2DVI) $<
-
-.texinfo.pdf:
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
- $(TEXI2PDF) $<
-
-.texinfo.html:
- rm -rf $(@:.html=.htp)
- if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
- -o $(@:.html=.htp) $<; \
- then \
- rm -rf $@; \
- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
- mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
- else \
- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
- rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
- exit 1; \
- fi
-$(srcdir)/hacking.info: hacking.texinfo
-hacking.dvi: hacking.texinfo
-hacking.pdf: hacking.texinfo
-hacking.html: hacking.texinfo
-$(srcdir)/vmintegration.info: vmintegration.texinfo
-vmintegration.dvi: vmintegration.texinfo
-vmintegration.pdf: vmintegration.texinfo
-vmintegration.html: vmintegration.texinfo
-.dvi.ps:
- $(DVIPS) -o $@ $<
-
uninstall-info-am:
- @$(PRE_UNINSTALL)
- @if (install-info --version && \
- install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
- list='$(INFO_DEPS)'; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
- install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
- done; \
- else :; fi
- @$(NORMAL_UNINSTALL)
- @list='$(INFO_DEPS)'; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
- (if cd "$(DESTDIR)$(infodir)"; then \
- echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
- rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
- else :; fi); \
- done
-
-dist-info: $(INFO_DEPS)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- list='$(INFO_DEPS)'; \
- for base in $$list; do \
- case $$base in \
- $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
- esac; \
- if test -f $$base; then d=.; else d=$(srcdir); fi; \
- for file in $$d/$$base*; do \
- relfile=`expr "$$file" : "$$d/\(.*\)"`; \
- test -f $(distdir)/$$relfile || \
- cp -p $$file $(distdir)/$$relfile; \
- done; \
- done
-
-mostlyclean-aminfo:
- -rm -rf hacking.aux hacking.cp hacking.cps hacking.fn hacking.fns hacking.ky \
- hacking.kys hacking.log hacking.pg hacking.pgs hacking.tmp \
- hacking.toc hacking.tp hacking.tps hacking.vr hacking.vrs \
- hacking.dvi hacking.pdf hacking.ps hacking.html \
- vmintegration.aux vmintegration.cp vmintegration.cps \
- vmintegration.fn vmintegration.fns vmintegration.ky \
- vmintegration.kys vmintegration.log vmintegration.pg \
- vmintegration.pgs vmintegration.tmp vmintegration.toc \
- vmintegration.tp vmintegration.tps vmintegration.vr \
- vmintegration.vrs vmintegration.dvi vmintegration.pdf \
- vmintegration.ps vmintegration.html
-
-maintainer-clean-aminfo:
- @list='$(INFO_DEPS)'; for i in $$list; do \
- i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
- echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
- rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
- done
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
@@ -579,17 +454,11 @@ distdir: $(DISTFILES)
|| exit 1; \
fi; \
done
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" distdir="$(distdir)" \
- dist-info
check-am: all-am
check: check-recursive
-all-am: Makefile $(INFO_DEPS)
+all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
- for dir in "$(DESTDIR)$(infodir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
@@ -625,73 +494,39 @@ distclean-am: clean-am distclean-generic distclean-libtool \
dvi: dvi-recursive
-dvi-am: $(DVIS)
+dvi-am:
html: html-recursive
-html-am: $(HTMLS)
-
info: info-recursive
-info-am: $(INFO_DEPS)
+info-am:
-install-data-am: install-info-am
+install-data-am:
install-exec-am:
install-info: install-info-recursive
-install-info-am: $(INFO_DEPS)
- @$(NORMAL_INSTALL)
- test -z "$(infodir)" || $(mkdir_p) "$(DESTDIR)$(infodir)"
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- list='$(INFO_DEPS)'; \
- for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- esac; \
- if test -f $$file; then d=.; else d=$(srcdir); fi; \
- file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
- for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
- $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
- if test -f $$ifile; then \
- relfile=`echo "$$ifile" | sed 's|^.*/||'`; \
- echo " $(INSTALL_DATA) '$$ifile' '$(DESTDIR)$(infodir)/$$relfile'"; \
- $(INSTALL_DATA) "$$ifile" "$(DESTDIR)$(infodir)/$$relfile"; \
- else : ; fi; \
- done; \
- done
- @$(POST_INSTALL)
- @if (install-info --version && \
- install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
- list='$(INFO_DEPS)'; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
- install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
- done; \
- else : ; fi
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-aminfo \
- maintainer-clean-generic
+maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
-mostlyclean-am: mostlyclean-aminfo mostlyclean-generic \
- mostlyclean-libtool
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-recursive
-pdf-am: $(PDFS)
+pdf-am:
ps: ps-recursive
-ps-am: $(PSS)
+ps-am:
uninstall-am: uninstall-info-am
@@ -699,17 +534,16 @@ uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
clean clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive dist-info distclean distclean-generic \
- distclean-libtool distclean-recursive distclean-tags distdir \
- dvi dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-exec install-exec-am \
- install-info install-info-am install-man install-strip \
- installcheck installcheck-am installdirs installdirs-am \
- maintainer-clean maintainer-clean-aminfo \
+ ctags-recursive distclean distclean-generic distclean-libtool \
+ distclean-recursive distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-exec install-exec-am install-info \
+ install-info-am install-man install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic maintainer-clean-recursive \
- mostlyclean mostlyclean-aminfo mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
- tags tags-recursive uninstall uninstall-am uninstall-info-am
+ mostlyclean mostlyclean-generic mostlyclean-libtool \
+ mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
+ uninstall uninstall-am uninstall-info-am
%.dvi : %.texinfo
diff --git a/libjava/classpath/lib/split-for-gcj.sh b/libjava/classpath/lib/split-for-gcj.sh
index bda7fda8805..477e0a8c18a 100755
--- a/libjava/classpath/lib/split-for-gcj.sh
+++ b/libjava/classpath/lib/split-for-gcj.sh
@@ -11,7 +11,7 @@ for dir in java javax gnu org; do
list=lists/`echo $pkg | sed -e 's,/,-,g'`
echo "$file" >> ${list}.list.1
f2=`echo "$file" | sed -n -e "s,^.*/\($dir/.*\)$,\1,p"`
- f2=${f2%.java}.class
+ f2=`echo "$f2" | sed -e 's/.java$//'`.class
echo "$f2: ${list}.stamp" >> Makefile.deps
echo "${list}.list: $file" >> Makefile.deps
done
@@ -19,10 +19,10 @@ done
# Only update a .list file if it changed.
for file in lists/*.list.1; do
- real=${file%.1}
- if ! cmp -s $real $file; then
- mv $file $real
- else
+ real=`echo "$file" | sed -e 's/.1$//'`
+ if cmp -s $real $file; then
rm $file
+ else
+ mv $file $real
fi
done
diff --git a/libjava/configure b/libjava/configure
index 047dcff4489..07cbf8b5d6f 100755
--- a/libjava/configure
+++ b/libjava/configure
@@ -310,7 +310,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os build_subdir host_subdir target_subdir libgcj_basedir host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical LN_S mkinstalldirs CC ac_ct_CC EXEEXT OBJEXT CXX ac_ct_CXX CFLAGS CXXFLAGS LDFLAGS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBGCJ_CFLAGS LIBGCJ_CXXFLAGS LIBGCJ_JAVAFLAGS LIBGCJ_LD_SYMBOLIC LIBGCJDEBUG TOOLKIT XLIB_AWT_TRUE XLIB_AWT_FALSE GTK_AWT_TRUE GTK_AWT_FALSE GCJH ZIP INCLTDL LIBLTDL DIRLTDL LIBTOOL CXXCPP CPPFLAGS GCJ GCJFLAGS GCJDEPMODE am__fastdepGCJ_TRUE am__fastdepGCJ_FALSE subdirs TESTSUBDIR_TRUE TESTSUBDIR_FALSE JAVA_HOME_SET_TRUE JAVA_HOME_SET_FALSE JAVA_HOME INTERPRETER LIBFFI LIBFFIINCS PLATFORM_INNER_NAT_HDRS CPP EGREP USING_WIN32_PLATFORM_TRUE USING_WIN32_PLATFORM_FALSE USING_POSIX_PLATFORM_TRUE USING_POSIX_PLATFORM_FALSE USING_DARWIN_CRT_TRUE USING_DARWIN_CRT_FALSE SYSTEMSPEC LIBGCJTESTSPEC ZLIBSPEC ZLIBTESTSPEC X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS GTK_CAIRO_TRUE GTK_CAIRO_FALSE PKG_CONFIG CAIRO_CFLAGS CAIRO_LIBS PANGOFT2_CFLAGS PANGOFT2_LIBS GCLIBS GCINCS GCDEPS GCSPEC JC1GCSPEC GCTESTSPEC USING_BOEHMGC_TRUE USING_BOEHMGC_FALSE USING_NOGC_TRUE USING_NOGC_FALSE THREADLIBS THREADINCS THREADDEPS THREADSPEC THREADLDFLAGS THREADCXXFLAGS USING_POSIX_THREADS_TRUE USING_POSIX_THREADS_FALSE USING_WIN32_THREADS_TRUE USING_WIN32_THREADS_FALSE USING_NO_THREADS_TRUE USING_NO_THREADS_FALSE HASH_SYNC_SPEC USING_GCC_TRUE USING_GCC_FALSE LIBICONV LTLIBICONV GTK_CFLAGS GTK_LIBS GLIB_CFLAGS GLIB_LIBS LIBART_CFLAGS LIBART_LIBS SUPPLY_BACKTRACE_TRUE SUPPLY_BACKTRACE_FALSE CLASSPATH_SEPARATOR ac_ct_GCJ ZLIBS SYS_ZLIBS ZINCS DIVIDESPEC CHECKREFSPEC EXCEPTIONSPEC BACKTRACESPEC IEEESPEC NATIVE_TRUE NATIVE_FALSE NEEDS_DATA_START_TRUE NEEDS_DATA_START_FALSE GCC_UNWIND_INCLUDE toolexecdir toolexecmainlibdir toolexeclibdir GCJVERSION gxx_include_dir libstdcxx_incdir ALLOCA PERL SYSDEP_SOURCES here LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os build_subdir host_subdir target_subdir libgcj_basedir host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical LN_S mkinstalldirs CC ac_ct_CC EXEEXT OBJEXT CXX ac_ct_CXX CFLAGS CXXFLAGS LDFLAGS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBGCJ_CFLAGS LIBGCJ_CXXFLAGS LIBGCJ_JAVAFLAGS LIBGCJ_LD_SYMBOLIC LIBGCJDEBUG TOOLKIT XLIB_AWT_TRUE XLIB_AWT_FALSE GTK_AWT_TRUE GTK_AWT_FALSE GCJH ZIP INCLTDL LIBLTDL DIRLTDL LIBTOOL CXXCPP CPPFLAGS GCJ GCJFLAGS GCJDEPMODE am__fastdepGCJ_TRUE am__fastdepGCJ_FALSE subdirs TESTSUBDIR_TRUE TESTSUBDIR_FALSE JAVA_HOME_SET_TRUE JAVA_HOME_SET_FALSE JAVA_HOME INTERPRETER LIBFFI LIBFFIINCS PLATFORM_INNER_NAT_HDRS CPP EGREP USING_WIN32_PLATFORM_TRUE USING_WIN32_PLATFORM_FALSE USING_POSIX_PLATFORM_TRUE USING_POSIX_PLATFORM_FALSE USING_DARWIN_CRT_TRUE USING_DARWIN_CRT_FALSE SYSTEMSPEC LIBGCJTESTSPEC ZLIBSPEC ZLIBTESTSPEC X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS GTK_CAIRO_TRUE GTK_CAIRO_FALSE PKG_CONFIG CAIRO_CFLAGS CAIRO_LIBS PANGOFT2_CFLAGS PANGOFT2_LIBS extra_ldflags_libjava GCLIBS GCINCS GCDEPS GCSPEC JC1GCSPEC GCTESTSPEC USING_BOEHMGC_TRUE USING_BOEHMGC_FALSE USING_NOGC_TRUE USING_NOGC_FALSE THREADLIBS THREADINCS THREADDEPS THREADSPEC THREADLDFLAGS THREADCXXFLAGS USING_POSIX_THREADS_TRUE USING_POSIX_THREADS_FALSE USING_WIN32_THREADS_TRUE USING_WIN32_THREADS_FALSE USING_NO_THREADS_TRUE USING_NO_THREADS_FALSE HASH_SYNC_SPEC USING_GCC_TRUE USING_GCC_FALSE LIBICONV LTLIBICONV GTK_CFLAGS GTK_LIBS GLIB_CFLAGS GLIB_LIBS LIBART_CFLAGS LIBART_LIBS SUPPLY_BACKTRACE_TRUE SUPPLY_BACKTRACE_FALSE CLASSPATH_SEPARATOR ac_ct_GCJ ZLIBS SYS_ZLIBS ZINCS DIVIDESPEC CHECKREFSPEC EXCEPTIONSPEC BACKTRACESPEC IEEESPEC NATIVE_TRUE NATIVE_FALSE NEEDS_DATA_START_TRUE NEEDS_DATA_START_FALSE GCC_UNWIND_INCLUDE toolexecdir toolexecmainlibdir toolexeclibdir GCJVERSION gxx_include_dir libstdcxx_incdir ALLOCA PERL SYSDEP_SOURCES here LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -8375,6 +8375,17 @@ fi
# FIXME: this should be _libs on some hosts.
libsubdir=.libs
+# extra LD Flags which are required for targets
+case "${host}" in
+*-*-darwin[0-7].*)
+ # For now we have to disable it on darwin[8-9] because it slows down
+ # the linking phase. A possible bug in ld?
+ # on Darwin -single_module speeds up loading of the dynamic libraries.
+ extra_ldflags_libjava=-Wl,-single_module
+ ;;
+esac
+
+
# Allow the GC to be disabled. Can be useful when debugging.
echo "$as_me:$LINENO: checking for garbage collector to use" >&5
echo $ECHO_N "checking for garbage collector to use... $ECHO_C" >&6
@@ -13433,14 +13444,21 @@ CPPFLAGS="$CPPFLAGS -I`${PWDCMD-pwd}` -I`cd $srcdir && ${PWDCMD-pwd}`"
if test ! -f gnu/classpath/Configuration.java; then
test -d gnu || mkdir gnu
test -d gnu/classpath || mkdir gnu/classpath
- sed -e "s,@LIBGCJDEBUG@,$LIBGCJDEBUG," \
- -e "s,@TOOLKIT@,$TOOLKIT," \
- < $srcdir/gnu/classpath/Configuration.java.in \
+ # Note that it is not crucial that all the values here be correct.
+ sed -e "s,@prefix@,$prefix," \
+ -e "s,@VERSION@,$VERSION," \
+ -e "s,@LIBDEBUG@,false," \
+ -e "s,@INIT_LOAD_LIBRARY@,false," \
+ -e "s,@@,$LIBGCJDEBUG," \
+ -e "s,@default_toolkit@,$TOOLKIT," \
+ -e "s,@JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@,false," \
+ -e "s,@GTK_CAIRO_ENABLED@,false," \
+ < $srcdir/classpath/gnu/classpath/Configuration.java.in \
> gnu/classpath/Configuration.java
# We do not want to redirect the output of the grep below to /dev/null,
# but we add /dev/null to the input list so that grep will print the
# filename of Configuration.java in case it finds any matches.
- if grep @ gnu/classpath/Configuration.java /dev/null; then
+ if grep '@.*@' gnu/classpath/Configuration.java /dev/null; then
{ { echo "$as_me:$LINENO: error: configure.ac is missing the substitutions above" >&5
echo "$as_me: error: configure.ac is missing the substitutions above" >&2;}
{ (exit 1); exit 1; }; }
@@ -17115,6 +17133,7 @@ s,@CAIRO_CFLAGS@,$CAIRO_CFLAGS,;t t
s,@CAIRO_LIBS@,$CAIRO_LIBS,;t t
s,@PANGOFT2_CFLAGS@,$PANGOFT2_CFLAGS,;t t
s,@PANGOFT2_LIBS@,$PANGOFT2_LIBS,;t t
+s,@extra_ldflags_libjava@,$extra_ldflags_libjava,;t t
s,@GCLIBS@,$GCLIBS,;t t
s,@GCINCS@,$GCINCS,;t t
s,@GCDEPS@,$GCDEPS,;t t
diff --git a/libjava/configure.ac b/libjava/configure.ac
index 2f9f50840a0..b0b0d03408a 100644
--- a/libjava/configure.ac
+++ b/libjava/configure.ac
@@ -668,6 +668,17 @@ AC_SUBST(PANGOFT2_CFLAGS)
# FIXME: this should be _libs on some hosts.
libsubdir=.libs
+# extra LD Flags which are required for targets
+case "${host}" in
+*-*-darwin[[0-7]].*)
+ # For now we have to disable it on darwin[8-9] because it slows down
+ # the linking phase. A possible bug in ld?
+ # on Darwin -single_module speeds up loading of the dynamic libraries.
+ extra_ldflags_libjava=-Wl,-single_module
+ ;;
+esac
+AC_SUBST(extra_ldflags_libjava)
+
# Allow the GC to be disabled. Can be useful when debugging.
AC_MSG_CHECKING([for garbage collector to use])
AC_ARG_ENABLE(java-gc,
@@ -1142,14 +1153,21 @@ CPPFLAGS="$CPPFLAGS -I`${PWDCMD-pwd}` -I`cd $srcdir && ${PWDCMD-pwd}`"
if test ! -f gnu/classpath/Configuration.java; then
test -d gnu || mkdir gnu
test -d gnu/classpath || mkdir gnu/classpath
- sed -e "s,@LIBGCJDEBUG@,$LIBGCJDEBUG," \
- -e "s,@TOOLKIT@,$TOOLKIT," \
- < $srcdir/gnu/classpath/Configuration.java.in \
+ # Note that it is not crucial that all the values here be correct.
+ sed -e "s,@prefix@,$prefix," \
+ -e "s,@VERSION@,$VERSION," \
+ -e "s,@LIBDEBUG@,false," \
+ -e "s,@INIT_LOAD_LIBRARY@,false," \
+ -e "s,@@,$LIBGCJDEBUG," \
+ -e "s,@default_toolkit@,$TOOLKIT," \
+ -e "s,@JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@,false," \
+ -e "s,@GTK_CAIRO_ENABLED@,false," \
+ < $srcdir/classpath/gnu/classpath/Configuration.java.in \
> gnu/classpath/Configuration.java
# We do not want to redirect the output of the grep below to /dev/null,
# but we add /dev/null to the input list so that grep will print the
# filename of Configuration.java in case it finds any matches.
- if grep @ gnu/classpath/Configuration.java /dev/null; then
+ if grep '@.*@' gnu/classpath/Configuration.java /dev/null; then
AC_MSG_ERROR([configure.ac is missing the substitutions above])
fi
fi
diff --git a/libjava/configure.host b/libjava/configure.host
index 7f57cb0841b..d84757f7928 100644
--- a/libjava/configure.host
+++ b/libjava/configure.host
@@ -278,10 +278,14 @@ case "${host}" in
esac
case "${host}" in
- ia64-* | hppa*-*)
+ ia64-*)
descriptor_h=sysdep/descriptor-y.h
;;
+ hppa*-*)
+ descriptor_h=sysdep/pa/descriptor.h
+ ;;
+
rs6000-* | powerpc*-*)
descriptor_h=sysdep/powerpc/descriptor.h
;;
diff --git a/libjava/gcj/Makefile.in b/libjava/gcj/Makefile.in
index a357231c683..72bda7f2d76 100644
--- a/libjava/gcj/Makefile.in
+++ b/libjava/gcj/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.9.3 from Makefile.am.
+# Makefile.in generated by automake 1.9.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -50,10 +50,10 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
$(top_srcdir)/../config/lead-dot.m4 \
$(top_srcdir)/../config/lib-ld.m4 \
$(top_srcdir)/../config/lib-link.m4 \
- $(top_srcdir)/../config/lib-prefix.m4 $(top_srcdir)/pkg.m4 \
- $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/../config/lib-prefix.m4 \
$(top_srcdir)/../config/no-executables.m4 \
- $(top_srcdir)/../libtool.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/../libtool.m4 $(top_srcdir)/mingwld.m4 \
+ $(top_srcdir)/pkg.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
CONFIG_HEADER = $(top_builddir)/include/config.h libgcj-config.h
@@ -255,6 +255,7 @@ build_subdir = @build_subdir@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
+extra_ldflags_libjava = @extra_ldflags_libjava@
gxx_include_dir = @gxx_include_dir@
here = @here@
host = @host@
diff --git a/libjava/gij.cc b/libjava/gij.cc
index 60d5b34817d..7c8d8b4222b 100644
--- a/libjava/gij.cc
+++ b/libjava/gij.cc
@@ -155,20 +155,16 @@ main (int argc, char const** argv)
// Ignore 32/64-bit JIT options
else if (! strcmp (arg, "-d32") || ! strcmp (arg, "-d64"))
continue;
- else if (! strcmp (arg, "-enableassertions") || ! strcmp (arg, "-ea"))
+ else if (! strncmp (arg, "-enableassertions", sizeof ("-enableassertions") - 1)
+ || ! strncmp (arg, "-ea", sizeof ("-ea") - 1))
{
- if (i >= argc - 1)
- goto no_arg;
// FIXME: hook up assertion support
- ++i;
continue;
}
- else if (! strcmp (arg, "-disableassertions") || ! strcmp (arg, "-da"))
+ else if (! strncmp (arg, "-disableassertions", sizeof ("-disableassertions") - 1)
+ || ! strncmp (arg, "-da", sizeof ("-da") - 1))
{
- if (i >= argc - 1)
- goto no_arg;
- // FIXME
- ++i;
+ // FIXME: hook up assertion support
continue;
}
else if (! strcmp (arg, "-enablesystemassertions")
diff --git a/libjava/gnu/xml/xpath/XPathParser.y b/libjava/gnu/xml/xpath/XPathParser.y
deleted file mode 100644
index f8a60363b7f..00000000000
--- a/libjava/gnu/xml/xpath/XPathParser.y
+++ /dev/null
@@ -1,782 +0,0 @@
-%{
-/* XPathParser.java -- An XPath 1.0 parser.
- Copyright (C) 2004 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath 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.
-
-GNU Classpath 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 GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-package gnu.xml.xpath;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import javax.xml.namespace.NamespaceContext;
-import javax.xml.namespace.QName;
-import javax.xml.xpath.XPathFunctionResolver;
-import javax.xml.xpath.XPathVariableResolver;
-import org.w3c.dom.Node;
-
-/**
- * An XPath 1.0 parser.
- *
- * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a>
- */
-public class XPathParser
-{
-
- NamespaceContext namespaceContext;
- XPathVariableResolver variableResolver;
- XPathFunctionResolver functionResolver;
-
- QName getQName(String name)
- {
- QName qName = QName.valueOf(name);
- if (namespaceContext != null)
- {
- String prefix = qName.getPrefix();
- String uri = qName.getNamespaceURI();
- if (prefix != null && (uri == null || uri.length() == 0))
- {
- uri = namespaceContext.getNamespaceURI(prefix);
- String localName = qName.getLocalPart();
- qName = new QName(uri, localName, prefix);
- }
- }
- return qName;
- }
-
- Expr lookupFunction(String name, List args)
- {
- int arity = args.size();
- if ("position".equals(name) && arity == 0)
- {
- return new PositionFunction();
- }
- else if ("last".equals(name) && arity == 0)
- {
- return new LastFunction();
- }
- else if ("string".equals(name) && (arity == 1 || arity == 0))
- {
- return new StringFunction(args);
- }
- else if ("number".equals(name) && (arity == 1 || arity == 0))
- {
- return new NumberFunction(args);
- }
- else if ("boolean".equals(name) && arity == 1)
- {
- return new BooleanFunction(args);
- }
- else if ("count".equals(name) && arity == 1)
- {
- return new CountFunction(args);
- }
- else if ("not".equals(name) && arity == 1)
- {
- return new NotFunction(args);
- }
- else if ("id".equals(name) && arity == 1)
- {
- return new IdFunction(args);
- }
- else if ("concat".equals(name) && arity > 1)
- {
- return new ConcatFunction(args);
- }
- else if ("true".equals(name) && arity == 0)
- {
- return new TrueFunction();
- }
- else if ("false".equals(name) && arity == 0)
- {
- return new FalseFunction();
- }
- else if ("name".equals(name) && (arity == 1 || arity == 0))
- {
- return new NameFunction(args);
- }
- else if ("local-name".equals(name) && (arity == 1 || arity == 0))
- {
- return new LocalNameFunction(args);
- }
- else if ("namespace-uri".equals(name) && (arity == 1 || arity == 0))
- {
- return new NamespaceUriFunction(args);
- }
- else if ("starts-with".equals(name) && arity == 2)
- {
- return new StartsWithFunction(args);
- }
- else if ("contains".equals(name) && arity == 2)
- {
- return new ContainsFunction(args);
- }
- else if ("string-length".equals(name) && (arity == 1 || arity == 0))
- {
- return new StringLengthFunction(args);
- }
- else if ("translate".equals(name) && arity == 3)
- {
- return new TranslateFunction(args);
- }
- else if ("normalize-space".equals(name) && (arity == 1 || arity == 0))
- {
- return new NormalizeSpaceFunction(args);
- }
- else if ("substring".equals(name) && (arity == 2 || arity == 3))
- {
- return new SubstringFunction(args);
- }
- else if ("substring-before".equals(name) && arity == 2)
- {
- return new SubstringBeforeFunction(args);
- }
- else if ("substring-after".equals(name) && arity == 2)
- {
- return new SubstringAfterFunction(args);
- }
- else if ("lang".equals(name) && arity == 1)
- {
- return new LangFunction(args);
- }
- else if ("sum".equals(name) && arity == 1)
- {
- return new SumFunction(args);
- }
- else if ("floor".equals(name) && arity == 1)
- {
- return new FloorFunction(args);
- }
- else if ("ceiling".equals(name) && arity == 1)
- {
- return new CeilingFunction(args);
- }
- else if ("round".equals(name) && arity == 1)
- {
- return new RoundFunction(args);
- }
- else if (functionResolver != null)
- {
- QName qName = QName.valueOf(name);
- Object function = functionResolver.resolveFunction(qName, arity);
- if (function != null &&
- function instanceof Function &&
- function instanceof Expr)
- {
- Function f = (Function) function;
- f.setArguments(args);
- return (Expr) function;
- }
- }
- return new FunctionCall(functionResolver, name, args);
- }
-
-%}
-
-%token LITERAL
-%token DIGITS
-%token NAME
-
-%token LP // '('
-%token RP // ')'
-%token LB // '['
-%token RB // ']'
-%token COMMA // ','
-%token PIPE // '|'
-%token SLASH // '/'
-%token DOUBLE_SLASH // '//'
-%token EQ // '='
-%token NE // '!='
-%token GT // '>'
-%token LT // '<'
-%token GTE // '>='
-%token LTE // '<='
-%token PLUS // '+'
-%token MINUS // '-'
-%token AT // '@'
-%token STAR // '*'
-%token DOLLAR // '$'
-%token COLON // ':'
-%token DOUBLE_COLON // '::'
-%token DOT // '.'
-%token DOUBLE_DOT // '..'
-
-%token ANCESTOR
-%token ANCESTOR_OR_SELF
-%token ATTRIBUTE
-%token CHILD
-%token DESCENDANT
-%token DESCENDANT_OR_SELF
-%token FOLLOWING
-%token FOLLOWING_SIBLING
-%token NAMESPACE
-%token PARENT
-%token PRECEDING
-%token PRECEDING_SIBLING
-%token SELF
-%token DIV
-%token MOD
-%token OR
-%token AND
-%token COMMENT
-%token PROCESSING_INSTRUCTION
-%token TEXT
-%token NODE
-
-%right UNARY
-
-%start expr
-
-%%
-
-expr:
- or_expr
- ;
-
-location_path:
- relative_location_path
- | absolute_location_path
- ;
-
-absolute_location_path:
- SLASH
- {
- $$ = new Root();
- }
- | SLASH relative_location_path
- {
- Steps steps;
- if ($2 instanceof Steps)
- {
- steps = (Steps) $2;
- }
- else
- {
- steps = new Steps();
- steps.path.addFirst($2);
- }
- steps.path.addFirst(new Root());
- $$ = steps;
- //$$ = new Step(new Root(), (Path) $2);
- }
- | DOUBLE_SLASH relative_location_path
- {
- Test nt = new NodeTypeTest((short) 0);
- Selector s = new Selector(Selector.DESCENDANT_OR_SELF,
- Collections.singletonList (nt));
- Steps steps;
- if ($2 instanceof Steps)
- {
- steps = (Steps) $2;
- }
- else
- {
- steps = new Steps();
- steps.path.addFirst($2);
- }
- steps.path.addFirst(s);
- steps.path.addFirst(new Root());
- $$ = steps;
- //Step step = new Step(s, (Path) $2);
- //$$ = new Step(new Root(), step);
- }
- ;
-
-relative_location_path:
- step
- | relative_location_path SLASH step
- {
- Steps steps;
- if ($1 instanceof Steps)
- {
- steps = (Steps) $1;
- }
- else
- {
- steps = new Steps();
- steps.path.addFirst($1);
- }
- steps.path.addLast($3);
- $$ = steps;
- //$$ = new Step((Expr) $1, (Path) $3);
- }
- | relative_location_path DOUBLE_SLASH step
- {
- Test nt = new NodeTypeTest((short) 0);
- Selector s = new Selector(Selector.DESCENDANT_OR_SELF,
- Collections.singletonList (nt));
- Steps steps;
- if ($1 instanceof Steps)
- {
- steps = (Steps) $1;
- }
- else
- {
- steps = new Steps();
- steps.path.addFirst($1);
- }
- steps.path.addLast(s);
- steps.path.addLast($3);
- $$ = steps;
- //Step step = new Step(s, (Path) $3);
- //$$ = new Step((Expr) $1, step);
- }
- ;
-
-step:
- step_node_test
- {
- $$ = new Selector (Selector.CHILD, (List) $1);
- }
- | AT step_node_test
- {
- $$ = new Selector (Selector.ATTRIBUTE, (List) $2);
- }
- | axis_name DOUBLE_COLON step_node_test
- {
- $$ = new Selector (((Integer) $1).intValue (), (List) $3);
- }
- | DOT
- {
- $$ = new Selector (Selector.SELF, Collections.EMPTY_LIST);
- }
- | DOUBLE_DOT
- {
- $$ = new Selector (Selector.PARENT, Collections.EMPTY_LIST);
- }
- ;
-
-step_node_test:
- node_test
- {
- List list = new ArrayList();
- list.add($1);
- $$ = list;
- }
- | step_node_test predicate
- {
- List list = (List)$1;
- list.add($2);
- $$ = list;
- }
- ;
-
-/*predicate_list:
- predicate
- {
- List list = new ArrayList ();
- list.add ($1);
- $$ = list;
- }
- | predicate predicate_list
- {
- List list = (List) $3;
- list.add (0, $1);
- $$ = list;
- }
- ;*/
-
-axis_name:
- ANCESTOR
- {
- $$ = new Integer(Selector.ANCESTOR);
- }
- | ANCESTOR_OR_SELF
- {
- $$ = new Integer(Selector.ANCESTOR_OR_SELF);
- }
- | ATTRIBUTE
- {
- $$ = new Integer(Selector.ATTRIBUTE);
- }
- | CHILD
- {
- $$ = new Integer(Selector.CHILD);
- }
- | DESCENDANT
- {
- $$ = new Integer(Selector.DESCENDANT);
- }
- | DESCENDANT_OR_SELF
- {
- $$ = new Integer(Selector.DESCENDANT_OR_SELF);
- }
- | FOLLOWING
- {
- $$ = new Integer(Selector.FOLLOWING);
- }
- | FOLLOWING_SIBLING
- {
- $$ = new Integer(Selector.FOLLOWING_SIBLING);
- }
- | NAMESPACE
- {
- $$ = new Integer(Selector.NAMESPACE);
- }
- | PARENT
- {
- $$ = new Integer(Selector.PARENT);
- }
- | PRECEDING
- {
- $$ = new Integer(Selector.PRECEDING);
- }
- | PRECEDING_SIBLING
- {
- $$ = new Integer(Selector.PRECEDING_SIBLING);
- }
- | SELF
- {
- $$ = new Integer(Selector.SELF);
- }
- ;
-
-node_test:
- name_test
- /*| PROCESSING_INSTRUCTION LP LITERAL RP*/
- | PROCESSING_INSTRUCTION LITERAL RP
- {
- $$ = new NodeTypeTest(Node.PROCESSING_INSTRUCTION_NODE, (String) $2);
- }
- /*| node_type LP RP*/
- | node_type RP
- {
- $$ = new NodeTypeTest(((Short) $1).shortValue());
- }
- ;
-
-predicate:
- LB expr RB
- {
- $$ = new Predicate((Expr) $2);
- }
- ;
-
-primary_expr:
- variable_reference
- | LP expr RP
- {
- $$ = new ParenthesizedExpr((Expr) $2);
- }
- | LITERAL
- {
- $$ = new Constant($1);
- }
- | number
- {
- $$ = new Constant($1);
- }
- | function_call
- ;
-
-function_call:
- function_name LP RP
- {
- $$ = lookupFunction((String) $1, Collections.EMPTY_LIST);
- }
- | function_name LP argument_list RP
- {
- $$ = lookupFunction((String) $1, (List) $3);
- }
- ;
-
-argument_list:
- expr
- {
- List list = new ArrayList();
- list.add($1);
- $$ = list;
- }
- | expr COMMA argument_list
- {
- List list = (List) $3;
- list.add(0, $1);
- $$ = list;
- }
- ;
-
-union_expr:
- path_expr
- | union_expr PIPE path_expr
- {
- $$ = new UnionExpr((Expr) $1, (Expr) $3);
- }
- ;
-
-path_expr:
- location_path
- | filter_expr
- | filter_expr SLASH relative_location_path
- {
- Steps steps;
- if ($3 instanceof Steps)
- {
- steps = (Steps) $3;
- }
- else
- {
- steps = new Steps();
- steps.path.addFirst($3);
- }
- steps.path.addFirst($1);
- $$ = steps;
- //$$ = new Step ((Expr) $1, (Path) $3);
- }
- | filter_expr DOUBLE_SLASH relative_location_path
- {
- Test nt = new NodeTypeTest((short) 0);
- Selector s = new Selector(Selector.DESCENDANT_OR_SELF,
- Collections.singletonList(nt));
- Steps steps;
- if ($3 instanceof Steps)
- {
- steps = (Steps) $3;
- }
- else
- {
- steps = new Steps();
- steps.path.addFirst($3);
- }
- steps.path.addFirst(s);
- steps.path.addFirst($1);
- $$ = steps;
- //Step step = new Step (s, (Path) $3);
- //$$ = new Step ((Expr) $1, step);
- }
- ;
-
-filter_expr:
- primary_expr
- | filter_expr predicate
- {
- Predicate filter = (Predicate) $2;
- Selector s = new Selector(Selector.SELF,
- Collections.singletonList(filter));
- Steps steps;
- if ($1 instanceof Steps)
- {
- steps = (Steps) $1;
- }
- else
- {
- steps = new Steps();
- steps.path.addFirst($1);
- }
- steps.path.addLast(s);
- $$ = steps;
- //$$ = new Step ((Expr) $1, s);
- }
- ;
-
-or_expr:
- and_expr
- | or_expr OR and_expr
- {
- $$ = new OrExpr((Expr) $1, (Expr) $3);
- }
- ;
-
-and_expr:
- equality_expr
- | and_expr AND equality_expr
- {
- $$ = new AndExpr((Expr) $1, (Expr) $3);
- }
- ;
-
-equality_expr:
- relational_expr
- | equality_expr EQ relational_expr
- {
- $$ = new EqualityExpr((Expr) $1, (Expr) $3, false);
- }
- | equality_expr NE relational_expr
- {
- $$ = new EqualityExpr((Expr) $1, (Expr) $3, true);
- }
- ;
-
-relational_expr:
- additive_expr
- | relational_expr LT additive_expr
- {
- $$ = new RelationalExpr((Expr) $1, (Expr) $3, true, false);
- }
- | relational_expr GT additive_expr
- {
- $$ = new RelationalExpr((Expr) $1, (Expr) $3, false, false);
- }
- | relational_expr LTE additive_expr
- {
- $$ = new RelationalExpr((Expr) $1, (Expr) $3, true, true);
- }
- | relational_expr GTE additive_expr
- {
- $$ = new RelationalExpr((Expr) $1, (Expr) $3, false, true);
- }
- ;
-
-additive_expr:
- multiplicative_expr
- | additive_expr PLUS multiplicative_expr
- {
- $$ = new ArithmeticExpr((Expr) $1, (Expr) $3, ArithmeticExpr.ADD);
- }
- | additive_expr MINUS multiplicative_expr
- {
- $$ = new ArithmeticExpr((Expr) $1, (Expr) $3, ArithmeticExpr.SUBTRACT);
- }
- ;
-
-multiplicative_expr:
- unary_expr
- | multiplicative_expr STAR unary_expr
- {
- $$ = new ArithmeticExpr((Expr) $1, (Expr) $3, ArithmeticExpr.MULTIPLY);
- }
- | multiplicative_expr DIV unary_expr
- {
- $$ = new ArithmeticExpr((Expr) $1, (Expr) $3, ArithmeticExpr.DIVIDE);
- }
- | multiplicative_expr MOD unary_expr
- {
- $$ = new ArithmeticExpr((Expr) $1, (Expr) $3, ArithmeticExpr.MODULO);
- }
- ;
-
-unary_expr:
- union_expr
- | MINUS unary_expr %prec UNARY
- {
- $$ = new NegativeExpr((Expr) $2);
- }
- ;
-
-number:
- DIGITS
- {
- $$ = new Double((String) $1 + ".0");
- }
- | DIGITS DOT
- {
- $$ = new Double((String) $1 + ".0");
- }
- | DIGITS DOT DIGITS
- {
- $$ = new Double((String) $1 + "." + (String) $3);
- }
- | DOT DIGITS
- {
- $$ = new Double("0." + (String) $2);
- }
- ;
-
-function_name:
- qname
-/* | node_type
- {
- switch (((Short) $1).shortValue ())
- {
- case Node.COMMENT_NODE:
- $$ = "comment";
- break;
- case Node.TEXT_NODE:
- $$ = "text";
- break;
- case Node.PROCESSING_INSTRUCTION_NODE:
- $$ = "processing-instruction";
- break;
- default:
- $$ = "node";
- break;
- }
- }*/
- ;
-
-variable_reference:
- DOLLAR qname
- {
- $$ = new VariableReference(variableResolver, (String) $2);
- }
- ;
-
-name_test:
- STAR
- {
- $$ = new NameTest(null, true, true);
- }
- | NAME COLON STAR
- {
- QName qName = getQName((String) $1);
- $$ = new NameTest(qName, true, false);
- }
- | qname
- {
- QName qName = getQName((String) $1);
- $$ = new NameTest(qName, false, false);
- }
- ;
-
-qname:
- NAME
- | NAME COLON NAME
- {
- $$ = (String) $1 + ':' + (String) $3;
- }
- ;
-
-node_type:
- COMMENT
- {
- $$ = new Short(Node.COMMENT_NODE);
- }
- | TEXT
- {
- $$ = new Short(Node.TEXT_NODE);
- }
- | PROCESSING_INSTRUCTION
- {
- $$ = new Short(Node.PROCESSING_INSTRUCTION_NODE);
- }
- | NODE
- {
- $$ = new Short((short) 0);
- }
- ;
-
-%%
-
-}
diff --git a/libjava/include/Makefile.in b/libjava/include/Makefile.in
index 6ba4c69b72f..810f1fc3085 100644
--- a/libjava/include/Makefile.in
+++ b/libjava/include/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.9.3 from Makefile.am.
+# Makefile.in generated by automake 1.9.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -49,10 +49,10 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
$(top_srcdir)/../config/lead-dot.m4 \
$(top_srcdir)/../config/lib-ld.m4 \
$(top_srcdir)/../config/lib-link.m4 \
- $(top_srcdir)/../config/lib-prefix.m4 $(top_srcdir)/pkg.m4 \
- $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/../config/lib-prefix.m4 \
$(top_srcdir)/../config/no-executables.m4 \
- $(top_srcdir)/../libtool.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/../libtool.m4 $(top_srcdir)/mingwld.m4 \
+ $(top_srcdir)/pkg.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
CONFIG_HEADER = config.h $(top_builddir)/gcj/libgcj-config.h
@@ -254,6 +254,7 @@ build_subdir = @build_subdir@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
+extra_ldflags_libjava = @extra_ldflags_libjava@
gxx_include_dir = @gxx_include_dir@
here = @here@
host = @host@
diff --git a/libjava/include/jvm.h b/libjava/include/jvm.h
index 606a84ddcbf..459d4594278 100644
--- a/libjava/include/jvm.h
+++ b/libjava/include/jvm.h
@@ -621,4 +621,13 @@ _Jv_IsInterpretedClass (jclass c)
return (c->accflags & java::lang::reflect::Modifier::INTERPRETED) != 0;
}
+// Return true if the class was compiled with the BC ABI.
+extern inline jboolean
+_Jv_IsBinaryCompatibilityABI (jclass c)
+{
+ // There isn't really a better test for the ABI type at this point,
+ // that will work once the class has been registered.
+ return c->otable_syms || c->atable_syms || c->itable_syms;
+}
+
#endif /* __JAVA_JVM_H__ */
diff --git a/libjava/java/lang/Character.java b/libjava/java/lang/Character.java
index 760621572e6..aa29e0bd523 100644
--- a/libjava/java/lang/Character.java
+++ b/libjava/java/lang/Character.java
@@ -1,5 +1,5 @@
/* java.lang.Character -- Wrapper class for char, and Unicode subsets
- Copyright (C) 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2001, 2002, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -1411,6 +1411,57 @@ public final class Character implements Serializable, Comparable
private static final int MIRROR_MASK = 0x40;
/**
+ * Min value for supplementary code point.
+ *
+ * @since 1.5
+ */
+ public static final int MIN_SUPPLEMENTARY_CODE_POINT = 0x10000;
+
+ /**
+ * Min value for code point.
+ *
+ * @since 1.5
+ */
+ public static final int MIN_CODE_POINT = 0;
+
+
+ /**
+ * Max value for code point.
+ *
+ * @since 1.5
+ */
+ public static final int MAX_CODE_POINT = 0x010ffff;
+
+
+ /**
+ * Minimum high surrrogate code in UTF-16 encoding.
+ *
+ * @since 1.5
+ */
+ public static final char MIN_HIGH_SURROGATE = '\ud800';
+
+ /**
+ * Maximum high surrrogate code in UTF-16 encoding.
+ *
+ * @since 1.5
+ */
+ public static final char MAX_HIGH_SURROGATE = '\udbff';
+
+ /**
+ * Minimum low surrrogate code in UTF-16 encoding.
+ *
+ * @since 1.5
+ */
+ public static final char MIN_LOW_SURROGATE = '\udc00';
+
+ /**
+ * Maximum low surrrogate code in UTF-16 encoding.
+ *
+ * @since 1.5
+ */
+ public static final char MAX_LOW_SURROGATE = '\udfff';
+
+ /**
* Grabs an attribute offset from the Unicode attribute database. The lower
* 5 bits are the character type, the next 2 bits are flags, and the top
* 9 bits are the offset into the attribute tables. Note that the top 9
@@ -2160,4 +2211,118 @@ public final class Character implements Serializable, Comparable
{
return compareTo((Character) o);
}
+
+ /**
+ * Converts a unicode code point to a UTF-16 representation of that
+ * code point.
+ *
+ * @param codePoint the unicode code point
+ *
+ * @return the UTF-16 representation of that code point
+ *
+ * @throws IllegalArgumentException if the code point is not a valid
+ * unicode code point
+ *
+ * @since 1.5
+ */
+ public static char[] toChars(int codePoint)
+ {
+ char[] result = new char[charCount(codePoint)];
+ int ignore = toChars(codePoint, result, 0);
+ return result;
+ }
+
+ /**
+ * Converts a unicode code point to its UTF-16 representation.
+ *
+ * @param codePoint the unicode code point
+ * @param dst the target char array
+ * @param dstIndex the start index for the target
+ *
+ * @return number of characters written to <code>dst</code>
+ *
+ * @throws IllegalArgumentException if <code>codePoint</code> is not a
+ * valid unicode code point
+ * @throws NullPointerException if <code>dst</code> is <code>null</code>
+ * @throws IndexOutOfBoundsException if <code>dstIndex</code> is not valid
+ * in <code>dst</code> or if the UTF-16 representation does not
+ * fit into <code>dst</code>
+ *
+ * @since 1.5
+ */
+ public static int toChars(int codePoint, char[] dst, int dstIndex)
+ {
+ if (!isValidCodePoint(codePoint))
+ {
+ throw new IllegalArgumentException("not a valid code point: "
+ + codePoint);
+ }
+
+ int result;
+ if (isSupplementaryCodePoint(codePoint))
+ {
+ // Write second char first to cause IndexOutOfBoundsException
+ // immediately.
+ dst[dstIndex + 1] = (char) ((codePoint & 0x3ff)
+ + (int) MIN_LOW_SURROGATE );
+ dst[dstIndex] = (char) ((codePoint >> 10) + (int) MIN_HIGH_SURROGATE);
+ result = 2;
+ }
+ else
+ {
+ dst[dstIndex] = (char) codePoint;
+ result = 1;
+ }
+ return result;
+ }
+
+ /**
+ * Return number of 16-bit characters required to represent the given
+ * code point.
+ *
+ * @param codePoint a uncode code point
+ *
+ * @return 2 if codePoint >= 0x10000, 1 otherwise.
+ *
+ * @since 1.5
+ */
+ public static int charCount(int codePoint)
+ {
+ return
+ (codePoint >= MIN_SUPPLEMENTARY_CODE_POINT)
+ ? 2
+ : 1;
+ }
+
+ /**
+ * Determines whether the specified code point is
+ * in the range 0x10000 .. 0x10FFFF, i.e. the character is within the Unicode
+ * supplementary character range.
+ *
+ * @param codePoint a Unicode code point
+ *
+ * @return <code>true</code> if code point is in supplementary range
+ *
+ * @since 1.5
+ */
+ public static boolean isSupplementaryCodePoint(int codePoint)
+ {
+ return codePoint >= MIN_SUPPLEMENTARY_CODE_POINT
+ && codePoint <= MAX_CODE_POINT;
+ }
+
+ /**
+ * Determines whether the specified code point is
+ * in the range 0x0000 .. 0x10FFFF, i.e. it is a valid Unicode code point.
+ *
+ * @param codePoint a Unicode code point
+ *
+ * @return <code>true</code> if code point is valid
+ *
+ * @since 1.5
+ */
+ public static boolean isValidCodePoint(int codePoint)
+ {
+ return codePoint >= MIN_CODE_POINT && codePoint <= MAX_CODE_POINT;
+ }
} // class Character
diff --git a/libjava/java/lang/Class.h b/libjava/java/lang/Class.h
index 01a653e5c9f..a2ec357f770 100644
--- a/libjava/java/lang/Class.h
+++ b/libjava/java/lang/Class.h
@@ -235,6 +235,7 @@ jboolean _Jv_CheckAccess (jclass self_klass, jclass other_klass,
jclass _Jv_GetArrayClass (jclass klass, java::lang::ClassLoader *loader);
jboolean _Jv_IsInterpretedClass (jclass);
+jboolean _Jv_IsBinaryCompatibilityABI (jclass);
void _Jv_CopyClassesToSystemLoader (java::lang::ClassLoader *);
@@ -470,6 +471,7 @@ private:
java::lang::ClassLoader *loader);
friend jboolean (::_Jv_IsInterpretedClass) (jclass);
+ friend jboolean (::_Jv_IsBinaryCompatibilityABI) (jclass);
#ifdef INTERPRETER
friend void ::_Jv_InitField (jobject, jclass, int);
diff --git a/libjava/java/lang/natObject.cc b/libjava/java/lang/natObject.cc
index aa79500fa58..87f2044dd86 100644
--- a/libjava/java/lang/natObject.cc
+++ b/libjava/java/lang/natObject.cc
@@ -1,6 +1,6 @@
// natObject.cc - Implementation of the Object class.
-/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005 Free Software Foundation
This file is part of libgcj.
@@ -104,6 +104,11 @@ java::lang::Object::clone (void)
}
memcpy ((void *) r, (void *) this, size);
+#ifndef JV_HASH_SYNCHRONIZATION
+ // Guarantee that the locks associated to the two objects are
+ // distinct.
+ r->sync_info = NULL;
+#endif
return r;
}
diff --git a/libjava/link.cc b/libjava/link.cc
index e97b31bb78e..5411f4aacca 100644
--- a/libjava/link.cc
+++ b/libjava/link.cc
@@ -1659,11 +1659,10 @@ _Jv_Linker::print_class_loaded (jclass klass)
if (codesource == NULL)
codesource = "<no code source>";
- // We use a somewhat bogus test for the ABI here.
char *abi;
if (_Jv_IsInterpretedClass (klass))
abi = "bytecode";
- else if (klass->state == JV_STATE_PRELOADING)
+ else if (_Jv_IsBinaryCompatibilityABI (klass))
abi = "BC-compiled";
else
abi = "pre-compiled";
diff --git a/libjava/stacktrace.cc b/libjava/stacktrace.cc
index e0276788835..bc1935f1a75 100644
--- a/libjava/stacktrace.cc
+++ b/libjava/stacktrace.cc
@@ -102,7 +102,7 @@ _Jv_StackTrace::UnwindTraceFn (struct _Unwind_Context *context, void *state_ptr)
// Check if the trace buffer needs to be extended.
if (pos == state->length)
{
- int newLength = state->length *= 2;
+ int newLength = state->length * 2;
void *newFrames = _Jv_AllocBytes (newLength * sizeof(_Jv_StackFrame));
memcpy (newFrames, state->frames, state->length * sizeof(_Jv_StackFrame));
state->frames = (_Jv_StackFrame *) newFrames;
@@ -117,7 +117,7 @@ _Jv_StackTrace::UnwindTraceFn (struct _Unwind_Context *context, void *state_ptr)
// correspondance between call frames in the interpreted stack and occurances
// of _Jv_InterpMethod::run() on the native stack.
#ifdef INTERPRETER
- if (func_addr == (_Unwind_Ptr) &_Jv_InterpMethod::run)
+ if ((void (*)(void)) func_addr == (void (*)(void)) &_Jv_InterpMethod::run)
{
state->frames[pos].type = frame_interpreter;
state->frames[pos].interp.meth = state->interp_frame->self;
diff --git a/libjava/testsuite/Makefile.in b/libjava/testsuite/Makefile.in
index d3ddabf352f..074fda1a1dd 100644
--- a/libjava/testsuite/Makefile.in
+++ b/libjava/testsuite/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.9.3 from Makefile.am.
+# Makefile.in generated by automake 1.9.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -47,10 +47,10 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
$(top_srcdir)/../config/lead-dot.m4 \
$(top_srcdir)/../config/lib-ld.m4 \
$(top_srcdir)/../config/lib-link.m4 \
- $(top_srcdir)/../config/lib-prefix.m4 $(top_srcdir)/pkg.m4 \
- $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/../config/lib-prefix.m4 \
$(top_srcdir)/../config/no-executables.m4 \
- $(top_srcdir)/../libtool.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/../libtool.m4 $(top_srcdir)/mingwld.m4 \
+ $(top_srcdir)/pkg.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
CONFIG_HEADER = $(top_builddir)/include/config.h \
@@ -243,6 +243,7 @@ build_subdir = @build_subdir@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
+extra_ldflags_libjava = @extra_ldflags_libjava@
gxx_include_dir = @gxx_include_dir@
here = @here@
host = @host@
diff --git a/libjava/testsuite/libjava.jacks/jacks.xfail b/libjava/testsuite/libjava.jacks/jacks.xfail
index 0472b55a26d..053f3bdb183 100644
--- a/libjava/testsuite/libjava.jacks/jacks.xfail
+++ b/libjava/testsuite/libjava.jacks/jacks.xfail
@@ -174,6 +174,7 @@
15.12.3-explicit-constructor-4
15.12.3-explicit-constructor-5
15.12.3-explicit-constructor-7
+15.12.3-explicit-constructor-9
15.12.3-runtime-mode-1
15.12.3-runtime-mode-2
15.12.3-runtime-mode-3
@@ -248,9 +249,6 @@
15.18.1-float-9
15.18.1-valid-1
15.20-2-runtime-1
-15.21-assoc-7
-15.21-assoc-8
-15.21-equal-3
15.25-runtime-1
15.26.2-add-12
15.26.2-and-10
@@ -290,7 +288,6 @@
15.28-simple-namestr-2
15.28-simple-namestr-3
15.28-simple-namestr-4
-15.28-string-11
15.28-string-15
15.28-string-17
15.28-string-18
@@ -608,7 +605,6 @@
8.5-inheritance-3
8.5-inheritance-6
8.5.2-accessible-static-member-usage-3
-8.5.2-non-static-member-usage-2
8.5.2-non-static-member-usage-4
8.5.2-non-static-member-usage-5
8.6-abrupt-1
diff --git a/libmudflap/ChangeLog b/libmudflap/ChangeLog
index f9f13800468..cae17d89a76 100644
--- a/libmudflap/ChangeLog
+++ b/libmudflap/ChangeLog
@@ -1,3 +1,46 @@
+2005-08-22 Jim Wilson <wilson@specifix.com>
+
+ * mf-hooks2.c (MF_REGISTER_fopen): Define to __MF_TYPE_STATIC when
+ __FreeBSD__ is defined.
+
+2005-08-17 Jim Wilson <wilson@specifix.com>
+
+ * mf-hooks1.c (malloc, calloc, realloc, free,
+ __mf_wrap_alloca_indirect): Call BEGIN_MALLOC_PROTECT before calling
+ the real routines, and END_MALLOC_PROTECT afterwards.
+ * mf-impl.h (enum __mf_state_enum): Expand comment. Add in_malloc.
+ (BEGIN_PROTECT): Handle in_malloc state.
+ (BEGIN_MALLOC_PROTECT, END_MALLOC_PROTECT): New.
+ * testsuite/libmudflap.c/hook2-allocstuff.c: New.
+
+2005-08-17 Kelley Cook <kcook@gcc.gnu.org>
+
+ * All files: Update FSF address.
+
+2005-08-15 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
+
+ * mf-hooks3.c (main_seen_p): Remove.
+ (__mf_get_state): Remove attempt to recognize the main thread.
+
+2005-08-15 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * configure.ac: Test for the name of the symbol used for the entry
+ point; define ENTRY_POINT to the result.
+ * configure: Regenerate.
+ * config.h.in: Regenerate.
+ * mf-heuristics.c: Replace _start with ENTRY_POINT throughout.
+
+2005-08-14 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
+
+ * mf-runtime.c (__mf_state_1): Initialize to reentrant.
+ (__mf_init): Set thread state active.
+ * mf-hooks3.c (__mf_pthread_spawner): Always set thread
+ state active.
+ (pthread_create wrapper): Always use thread spawner.
+
+ * testsuite/libmudflap.cth/pass37-frag.c: Increase timeout.
+ * testsuite/libmudflap.cth/pass39-frag.c: Likewise.
+
2005-07-16 Richard Henderson <rth@redhat.com>
* acinclude.m4: New file.
diff --git a/libmudflap/config.h.in b/libmudflap/config.h.in
index b14e2e90121..98c3f619462 100644
--- a/libmudflap/config.h.in
+++ b/libmudflap/config.h.in
@@ -1,5 +1,8 @@
/* config.h.in. Generated from configure.ac by autoheader. */
+/* Define to the name of the symbol used for the entry point. */
+#undef ENTRY_POINT
+
/* Define to 1 if you have the `addmntent' function. */
#undef HAVE_ADDMNTENT
diff --git a/libmudflap/configure b/libmudflap/configure
index 03b3be5d30a..3fe9a1a1841 100755
--- a/libmudflap/configure
+++ b/libmudflap/configure
@@ -6894,6 +6894,76 @@ echo "${ECHO_T}$ac_fdsections" >&6
+# Check for the name of the symbol used for the entry point.
+echo "$as_me:$LINENO: checking for the name of the symbol used for the entry point" >&5
+echo $ECHO_N "checking for the name of the symbol used for the entry point... $ECHO_C" >&6
+if test "${mudflap_cv_entry_point+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+for name in _start __start unknown; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+extern char $name;
+int
+main ()
+{
+$name = 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+done
+mudflap_cv_entry_point="$name"
+fi
+echo "$as_me:$LINENO: result: $mudflap_cv_entry_point" >&5
+echo "${ECHO_T}$mudflap_cv_entry_point" >&6
+if test "$mudflap_cv_entry_point" = unknown; then
+ { { echo "$as_me:$LINENO: error: none of the known symbol names works" >&5
+echo "$as_me: error: none of the known symbol names works" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define ENTRY_POINT $mudflap_cv_entry_point
+_ACEOF
+
+
+
if test ${multilib} = yes; then
multilib_arg="--enable-multilib"
else
diff --git a/libmudflap/configure.ac b/libmudflap/configure.ac
index 58a7c739b91..4d0ff1311fa 100644
--- a/libmudflap/configure.ac
+++ b/libmudflap/configure.ac
@@ -223,6 +223,21 @@ AC_MSG_RESULT($ac_fdsections)
AC_SUBST(SECTION_FLAGS)
+# Check for the name of the symbol used for the entry point.
+AC_CACHE_CHECK([for the name of the symbol used for the entry point],
+ [mudflap_cv_entry_point], [
+for name in _start __start unknown; do
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([extern char $name;], [$name = 0;])],
+ [break])
+done
+mudflap_cv_entry_point="$name"])
+if test "$mudflap_cv_entry_point" = unknown; then
+ AC_MSG_ERROR([none of the known symbol names works])
+fi
+AC_DEFINE_UNQUOTED([ENTRY_POINT], [$mudflap_cv_entry_point],
+ [Define to the name of the symbol used for the entry point.])
+
+
if test ${multilib} = yes; then
multilib_arg="--enable-multilib"
else
diff --git a/libmudflap/mf-heuristics.c b/libmudflap/mf-heuristics.c
index df2a0391eaf..4a1a26cb398 100644
--- a/libmudflap/mf-heuristics.c
+++ b/libmudflap/mf-heuristics.c
@@ -26,8 +26,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
#include "config.h"
@@ -43,7 +43,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
extern char _end;
-extern char _start;
+extern char ENTRY_POINT;
/* Run some quick validation of the given region.
@@ -164,10 +164,11 @@ __mf_heuristic_check (uintptr_t ptr, uintptr_t ptr_high)
}
- /* The third heuristic is to approve all accesses between _start and _end,
- which should include all text and initialized data. */
+ /* The third heuristic is to approve all accesses between _start (or its
+ equivalent for the given target) and _end, which should include all
+ text and initialized data. */
if (__mf_opts.heur_start_end)
- if (ptr >= (uintptr_t) & _start && ptr_high <= (uintptr_t) & _end)
+ if (ptr >= (uintptr_t) & ENTRY_POINT && ptr_high <= (uintptr_t) & _end)
return 1; /* uncacheable */
return 0; /* unknown */
diff --git a/libmudflap/mf-hooks1.c b/libmudflap/mf-hooks1.c
index 9460e443498..a99d7726e9d 100644
--- a/libmudflap/mf-hooks1.c
+++ b/libmudflap/mf-hooks1.c
@@ -26,8 +26,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
#include "config.h"
@@ -108,7 +108,9 @@ WRAPPER(void *, malloc, size_t c)
size_with_crumple_zones =
CLAMPADD(c,CLAMPADD(__mf_opts.crumple_zone,
__mf_opts.crumple_zone));
+ BEGIN_MALLOC_PROTECT ();
result = (char *) CALL_REAL (malloc, size_with_crumple_zones);
+ END_MALLOC_PROTECT ();
if (LIKELY(result))
{
@@ -145,7 +147,9 @@ WRAPPER(void *, calloc, size_t c, size_t n)
CLAMPADD((c * n), /* XXX: CLAMPMUL */
CLAMPADD(__mf_opts.crumple_zone,
__mf_opts.crumple_zone));
+ BEGIN_MALLOC_PROTECT ();
result = (char *) CALL_REAL (malloc, size_with_crumple_zones);
+ END_MALLOC_PROTECT ();
if (LIKELY(result))
memset (result, 0, size_with_crumple_zones);
@@ -187,7 +191,9 @@ WRAPPER(void *, realloc, void *buf, size_t c)
size_with_crumple_zones =
CLAMPADD(c, CLAMPADD(__mf_opts.crumple_zone,
__mf_opts.crumple_zone));
+ BEGIN_MALLOC_PROTECT ();
result = (char *) CALL_REAL (realloc, base, size_with_crumple_zones);
+ END_MALLOC_PROTECT ();
/* Ensure heap wiping doesn't occur during this peculiar
unregister/reregister pair. */
@@ -272,7 +278,9 @@ WRAPPER(void, free, void *buf)
(void *) freeme,
__mf_opts.crumple_zone);
}
+ BEGIN_MALLOC_PROTECT ();
CALL_REAL (free, freeme);
+ END_MALLOC_PROTECT ();
}
}
else
@@ -287,7 +295,9 @@ WRAPPER(void, free, void *buf)
(void *) buf,
__mf_opts.crumple_zone);
}
+ BEGIN_MALLOC_PROTECT ();
CALL_REAL (free, base);
+ END_MALLOC_PROTECT ();
}
}
@@ -420,8 +430,10 @@ __mf_wrap_alloca_indirect (size_t c)
{
struct alloca_tracking *next = alloca_history->next;
__mf_unregister (alloca_history->ptr, 0, __MF_TYPE_HEAP);
+ BEGIN_MALLOC_PROTECT ();
CALL_REAL (free, alloca_history->ptr);
CALL_REAL (free, alloca_history);
+ END_MALLOC_PROTECT ();
alloca_history = next;
}
@@ -429,14 +441,20 @@ __mf_wrap_alloca_indirect (size_t c)
result = NULL;
if (LIKELY (c > 0)) /* alloca(0) causes no allocation. */
{
+ BEGIN_MALLOC_PROTECT ();
track = (struct alloca_tracking *) CALL_REAL (malloc,
sizeof (struct alloca_tracking));
+ END_MALLOC_PROTECT ();
if (LIKELY (track != NULL))
{
+ BEGIN_MALLOC_PROTECT ();
result = CALL_REAL (malloc, c);
+ END_MALLOC_PROTECT ();
if (UNLIKELY (result == NULL))
{
+ BEGIN_MALLOC_PROTECT ();
CALL_REAL (free, track);
+ END_MALLOC_PROTECT ();
/* Too bad. XXX: What about errno? */
}
else
diff --git a/libmudflap/mf-hooks2.c b/libmudflap/mf-hooks2.c
index 87cb270b8fd..0ffcf09ac1f 100644
--- a/libmudflap/mf-hooks2.c
+++ b/libmudflap/mf-hooks2.c
@@ -26,8 +26,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
#include "config.h"
@@ -544,8 +544,14 @@ WRAPPER2(struct tm*, gmtime, const time_t *timep)
/* The following indicate if the result of the corresponding function
* should be explicitly un/registered by the wrapper
*/
+
+#ifdef __FreeBSD__
+#define MF_REGISTER_fopen __MF_TYPE_STATIC
+#else
#undef MF_REGISTER_fopen
+#endif
#define MF_RESULT_SIZE_fopen (sizeof (FILE))
+
#undef MF_REGISTER_opendir
#define MF_RESULT_SIZE_opendir 0 /* (sizeof (DIR)) */
#undef MF_REGISTER_readdir
diff --git a/libmudflap/mf-hooks3.c b/libmudflap/mf-hooks3.c
index f3006b20fe0..dec4cd63b83 100644
--- a/libmudflap/mf-hooks3.c
+++ b/libmudflap/mf-hooks3.c
@@ -26,8 +26,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
#include "config.h"
@@ -104,11 +104,6 @@ struct mf_thread_data
static struct mf_thread_data mf_thread_data[LIBMUDFLAPTH_THREADS_MAX];
static pthread_mutex_t mf_thread_data_lock = PTHREAD_MUTEX_INITIALIZER;
-/* Try to identify the main thread when filling in mf_thread_data. We
- should always be called at least once from the main thread before
- any new threads are spawned. */
-static int main_seen_p;
-
#define PTHREAD_HASH(p) ((unsigned long) (p) % LIBMUDFLAPTH_THREADS_MAX)
static struct mf_thread_data *
@@ -176,11 +171,9 @@ __mf_get_state (void)
if (data)
return data->state;
- /* The main thread needs to default to active state, so that the global
- constructors are processed in the active state. Child threads should
- be considered to be in the reentrant state, so that we don't wind up
- doing Screwy Things inside the thread library; it'll get reset to
- active state in __mf_pthread_spawner before user code is invoked.
+ /* If we've never seen this thread before, consider it to be in the
+ reentrant state. The state gets reset to active for the main thread
+ in __mf_init, and for child threads in __mf_pthread_spawner.
The trickiest bit here is that the LinuxThreads pthread_manager thread
should *always* be considered to be reentrant, so that none of our
@@ -189,15 +182,7 @@ __mf_get_state (void)
stuff isn't initialized, leading to SEGV very quickly. Even calling
pthread_self is a bit suspect, but it happens to work. */
- if (main_seen_p)
- return reentrant;
- else
- {
- main_seen_p = 1;
- data = __mf_find_threadinfo (1);
- data->state = active;
- return active;
- }
+ return reentrant;
}
void
@@ -245,9 +230,7 @@ __mf_pthread_spawner (void *arg)
{
void *result = NULL;
-#ifndef HAVE_TLS
__mf_set_state (active);
-#endif
/* NB: We could use __MF_TYPE_STATIC here, but we guess that the thread
errno is coming out of some dynamically allocated pool that we already
@@ -291,31 +274,15 @@ __mf_0fn_pthread_create (pthread_t *thr, const pthread_attr_t *attr,
WRAPPER(int, pthread_create, pthread_t *thr, const pthread_attr_t *attr,
void * (*start) (void *), void *arg)
{
- int result, need_wrapper = 0;
+ struct mf_thread_start_info *si;
TRACE ("pthread_create\n");
-#ifndef HAVE_TLS
- need_wrapper = 1;
-#endif
- need_wrapper |= __mf_opts.heur_std_data != 0;
+ /* Fill in startup-control fields. */
+ si = CALL_REAL (malloc, sizeof (*si));
+ si->user_fn = start;
+ si->user_arg = arg;
- if (need_wrapper)
- {
- struct mf_thread_start_info *si = CALL_REAL (malloc, sizeof (*si));
-
- /* Fill in startup-control fields. */
- si->user_fn = start;
- si->user_arg = arg;
-
- /* Actually create the thread. */
- result = CALL_REAL (pthread_create, thr, attr, __mf_pthread_spawner, si);
- }
- else
- {
- /* If we're not handling heur_std_data, nothing special to do. */
- result = CALL_REAL (pthread_create, thr, attr, start, arg);
- }
-
- return result;
+ /* Actually create the thread. */
+ return CALL_REAL (pthread_create, thr, attr, __mf_pthread_spawner, si);
}
diff --git a/libmudflap/mf-impl.h b/libmudflap/mf-impl.h
index 53c25b392ca..e61f4b7a85a 100644
--- a/libmudflap/mf-impl.h
+++ b/libmudflap/mf-impl.h
@@ -27,8 +27,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
#ifndef __MF_IMPL_H
#define __MF_IMPL_H
@@ -94,9 +94,17 @@ extern int __mf_heuristic_check (uintptr_t, uintptr_t);
/* Type definitions. */
/* ------------------------------------------------------------------------ */
-/* The mf_state type codes describe recursion and initialization order. */
+/* The mf_state type codes describe recursion and initialization order.
-enum __mf_state_enum { active, reentrant };
+ reentrant means we are inside a mf-runtime support routine, such as
+ __mf_register, and thus there should be no calls to any wrapped functions,
+ such as the wrapped malloc. This indicates a bug if it occurs.
+ in_malloc means we are inside a real malloc call inside a wrapped malloc
+ call, and thus there should be no calls to any wrapped functions like the
+ wrapped mmap. This happens on some systems due to how the system libraries
+ are constructed. */
+
+enum __mf_state_enum { active, reentrant, in_malloc };
/* The __mf_options structure records optional or tunable aspects of the
mudflap library's behavior. There is a single global instance of this
@@ -379,11 +387,23 @@ ret __mfwrap_ ## fname (__VA_ARGS__)
__mf_reentrancy ++; \
return CALL_REAL(fname, __VA_ARGS__); \
} \
+ else if (UNLIKELY (__mf_get_state () == in_malloc)) \
+ { \
+ return CALL_REAL(fname, __VA_ARGS__); \
+ } \
else \
{ \
TRACE ("%s\n", __PRETTY_FUNCTION__); \
}
+/* There is an assumption here that these will only be called in routines
+ that call BEGIN_PROTECT at the start, and hence the state must always
+ be active when BEGIN_MALLOC_PROTECT is called. */
+#define BEGIN_MALLOC_PROTECT() \
+ __mf_set_state (in_malloc)
+
+#define END_MALLOC_PROTECT() \
+ __mf_set_state (active)
/* Unlocked variants of main entry points from mf-runtime.h. */
extern void __mfu_check (void *ptr, size_t sz, int type, const char *location);
diff --git a/libmudflap/mf-runtime.c b/libmudflap/mf-runtime.c
index af584e773d9..72d1a575958 100644
--- a/libmudflap/mf-runtime.c
+++ b/libmudflap/mf-runtime.c
@@ -28,8 +28,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
#include "config.h"
@@ -178,10 +178,10 @@ int __mf_starting_p = 1;
#ifdef LIBMUDFLAPTH
#ifdef HAVE_TLS
-__thread enum __mf_state_enum __mf_state_1 = active;
+__thread enum __mf_state_enum __mf_state_1 = reentrant;
#endif
#else
-enum __mf_state_enum __mf_state_1 = active;
+enum __mf_state_enum __mf_state_1 = reentrant;
#endif
#ifdef LIBMUDFLAPTH
@@ -697,6 +697,8 @@ __mf_init ()
#endif
__mf_starting_p = 0;
+ __mf_set_state (active);
+
__mf_set_default_options ();
ov = getenv ("MUDFLAP_OPTIONS");
diff --git a/libmudflap/mf-runtime.h b/libmudflap/mf-runtime.h
index 0c2eac970b9..68c7b54192f 100644
--- a/libmudflap/mf-runtime.h
+++ b/libmudflap/mf-runtime.h
@@ -27,8 +27,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
/* Public libmudflap declarations -*- C -*- */
diff --git a/libmudflap/testsuite/lib/libmudflap.exp b/libmudflap/testsuite/lib/libmudflap.exp
index 4b80716ebbf..634f1cb28ad 100644
--- a/libmudflap/testsuite/lib/libmudflap.exp
+++ b/libmudflap/testsuite/lib/libmudflap.exp
@@ -12,7 +12,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# Define libmudflap callbacks for dg.exp.
# This file is a copy of libstdc++-v3's dejagnu driver, with minor changes.
diff --git a/libmudflap/testsuite/lib/mfdg.exp b/libmudflap/testsuite/lib/mfdg.exp
index 25473d61269..7bcd44a94c1 100644
--- a/libmudflap/testsuite/lib/mfdg.exp
+++ b/libmudflap/testsuite/lib/mfdg.exp
@@ -13,7 +13,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# This is a modified excerpt of dejagnu/lib/dg.exp.
diff --git a/libmudflap/testsuite/libmudflap.c/pass-stratcliff.c b/libmudflap/testsuite/libmudflap.c/pass-stratcliff.c
index 894f10ffa96..baaf8a9f353 100644
--- a/libmudflap/testsuite/libmudflap.c/pass-stratcliff.c
+++ b/libmudflap/testsuite/libmudflap.c/pass-stratcliff.c
@@ -15,8 +15,8 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
+ Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301 USA. */
#define _GNU_SOURCE 1
#define __USE_GNU
diff --git a/libmudflap/testsuite/libmudflap.cth/pass37-frag.c b/libmudflap/testsuite/libmudflap.cth/pass37-frag.c
index bfa2c7c02ab..877803c1ea0 100644
--- a/libmudflap/testsuite/libmudflap.cth/pass37-frag.c
+++ b/libmudflap/testsuite/libmudflap.cth/pass37-frag.c
@@ -55,4 +55,4 @@ int main ()
/* { dg-output "100 100 100 100 100 100 100 100 100 100" } */
/* { dg-repetitions 20 } */
-/* { dg-timeout 3 } */
+/* { dg-timeout 10 } */
diff --git a/libmudflap/testsuite/libmudflap.cth/pass39-frag.c b/libmudflap/testsuite/libmudflap.cth/pass39-frag.c
index eb3449e9d8b..cd3eb5abdaf 100644
--- a/libmudflap/testsuite/libmudflap.cth/pass39-frag.c
+++ b/libmudflap/testsuite/libmudflap.cth/pass39-frag.c
@@ -54,4 +54,4 @@ int main ()
}
/* { dg-output "100 100 100 100 100 100 100 100 100 100" } */
/* { dg-repetitions 20 } */
-/* { dg-timeout 3 } */
+/* { dg-timeout 10 } */
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog
index 4456989fafd..0161254ac5a 100644
--- a/libobjc/ChangeLog
+++ b/libobjc/ChangeLog
@@ -1,3 +1,23 @@
+2005-08-17 Kelley Cook <kcook@gcc.gnu.org>
+
+ * All files: Update FSF address.
+
+2005-08-13 Marcin Koziej <creep@desk.pl>
+ Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR libobjc/22492
+ * exception.c (PERSONALITY_FUNCTION): Fix the PC with finally.
+
+2005-08-13 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * Makefile.in (extra_ldflags_libobjc): New.
+ (libobjc$(libext).la): Add extra_ldflags_libobjc to the link line.
+ (libobjc_gc$(libext).la): Likewise.
+ * configure.ac (extra_ldflags_libgfortran): Set for *-darwin* to
+ "-Wl,-single_module".
+ * configure: Regenerate.
+ * linking.m (_objcInit): Remove.
+
2005-07-26 Andrew Pinski <pinskia@physics.uc.edu>
PR libobjc/22606
diff --git a/libobjc/Makefile.in b/libobjc/Makefile.in
index 4dd1f9d3f5e..6704be1010c 100644
--- a/libobjc/Makefile.in
+++ b/libobjc/Makefile.in
@@ -16,8 +16,8 @@
#You should have received a copy of the GNU General Public License
#along with GCC; see the file COPYING. If not, write to
-#the Free Software Foundation, 59 Temple Place - Suite 330,
-#Boston, MA 02111-1307, USA. */
+#the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+#Boston, MA 02110-1301, USA. */
#This was cribbed from the libchill, libiberty and libstdc++
#Makefile.in files. Some of this stuff may be unnecessary and
@@ -44,6 +44,8 @@ toolexeclibdir = @toolexeclibdir@
includedirname = @includedirname@
libext = @libext@
+extra_ldflags_libobjc = @extra_ldflags_libobjc@
+
top_builddir = .
libdir = $(exec_prefix)/lib
@@ -271,12 +273,12 @@ doc: info dvi html
libobjc$(libext).la: $(OBJS)
$(LIBTOOL_LINK) $(CC) -o $@ $(OBJS) \
-rpath $(toolexeclibdir) \
- -version-info $(LIBOBJC_VERSION)
+ -version-info $(LIBOBJC_VERSION) $(extra_ldflags_libobjc)
libobjc_gc$(libext).la: $(OBJS_GC)
$(LIBTOOL_LINK) $(CC) -o $@ $(OBJS_GC) \
-rpath $(toolexeclibdir) \
- -version-info $(LIBOBJC_GC_VERSION)
+ -version-info $(LIBOBJC_GC_VERSION) $(extra_ldflags_libobjc)
#
# FIXME -- The following part does not fit in the libtool context.
diff --git a/libobjc/NXConstStr.m b/libobjc/NXConstStr.m
index 4f75bdb99de..9afe30ae58a 100644
--- a/libobjc/NXConstStr.m
+++ b/libobjc/NXConstStr.m
@@ -16,8 +16,8 @@ License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files
compiled with GCC to produce an executable, this does not cause
diff --git a/libobjc/Object.m b/libobjc/Object.m
index 7425ff33877..3d7d2084b32 100644
--- a/libobjc/Object.m
+++ b/libobjc/Object.m
@@ -15,8 +15,8 @@ License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled
with GCC to produce an executable, this does not cause the resulting
diff --git a/libobjc/Protocol.m b/libobjc/Protocol.m
index 689d97e73de..645e99114c5 100644
--- a/libobjc/Protocol.m
+++ b/libobjc/Protocol.m
@@ -15,8 +15,8 @@ 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 COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files
compiled with GCC to produce an executable, this does not cause
diff --git a/libobjc/aclocal.m4 b/libobjc/aclocal.m4
index 1c772b8f885..f171289bdd5 100644
--- a/libobjc/aclocal.m4
+++ b/libobjc/aclocal.m4
@@ -27,8 +27,8 @@
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
@@ -91,8 +91,8 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
# serial 6
@@ -136,8 +136,8 @@ fi])])
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
# serial 3
@@ -178,8 +178,8 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
AC_DEFUN([AM_PROG_CC_C_O],
[AC_REQUIRE([AC_PROG_CC_C_O])dnl
diff --git a/libobjc/archive.c b/libobjc/archive.c
index 3bfd975a18a..eeaf29c62f3 100644
--- a/libobjc/archive.c
+++ b/libobjc/archive.c
@@ -15,8 +15,8 @@ details.
You should have received a copy of the GNU General Public License along with
GCC; see the file COPYING. If not, write to the Free Software
-Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libobjc/class.c b/libobjc/class.c
index 2140652ff1e..4374852989c 100644
--- a/libobjc/class.c
+++ b/libobjc/class.c
@@ -19,7 +19,7 @@ details.
You should have received a copy of the GNU General Public License along with
GCC; see the file COPYING. If not, write to the Free Software
-Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libobjc/configure b/libobjc/configure
index 15e7f2fed49..f28e0c41e26 100755
--- a/libobjc/configure
+++ b/libobjc/configure
@@ -309,7 +309,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os build_subdir host_subdir target_subdir VERSION OBJC_BOEHM_GC toplevel_srcdir host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical glibcpp_srcdir toolexecdir toolexeclibdir includedirname libext CC ac_ct_CC EXEEXT OBJEXT CFLAGS AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LN_S STRIP ac_ct_STRIP LIBTOOL SET_MAKE CPP CPPFLAGS EGREP LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os build_subdir host_subdir target_subdir VERSION OBJC_BOEHM_GC toplevel_srcdir host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical glibcpp_srcdir toolexecdir toolexeclibdir includedirname libext CC ac_ct_CC EXEEXT OBJEXT extra_ldflags_libobjc CFLAGS AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LN_S STRIP ac_ct_STRIP LIBTOOL SET_MAKE CPP CPPFLAGS EGREP LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -2612,6 +2612,15 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+# extra LD Flags which are required for targets
+case "${host}" in
+ *-darwin*)
+ # Darwin needs -single_module when linking libobjc
+ extra_ldflags_libobjc=-Wl,-single_module
+ ;;
+esac
+
+
if test -n "$ac_tool_prefix"; then
@@ -3756,7 +3765,7 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
case $host in
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 3759 "configure"' > conftest.$ac_ext
+ echo '#line 3768 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -5184,7 +5193,7 @@ if test "${enable_sjlj_exceptions+set}" = set; then
:
else
cat > conftest.$ac_ext << EOF
-#line 5187 "configure"
+#line 5196 "configure"
@interface Frob
@end
@implementation Frob
@@ -5916,6 +5925,7 @@ s,@CC@,$CC,;t t
s,@ac_ct_CC@,$ac_ct_CC,;t t
s,@EXEEXT@,$EXEEXT,;t t
s,@OBJEXT@,$OBJEXT,;t t
+s,@extra_ldflags_libobjc@,$extra_ldflags_libobjc,;t t
s,@CFLAGS@,$CFLAGS,;t t
s,@AS@,$AS,;t t
s,@ac_ct_AS@,$ac_ct_AS,;t t
diff --git a/libobjc/configure.ac b/libobjc/configure.ac
index 149d7e51c2b..caf2f8de0f6 100644
--- a/libobjc/configure.ac
+++ b/libobjc/configure.ac
@@ -17,8 +17,8 @@
#
#You should have received a copy of the GNU General Public License
#along with GCC; see the file COPYING. If not, write to
-#the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-#02111-1307, USA.
+#the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+#02110-1301, USA.
AC_PREREQ(2.59)
AC_INIT(package-unused, version-unused,, libobjc)
@@ -178,6 +178,15 @@ m4_define([_AC_ARG_VAR_PRECIOUS],[])
AC_PROG_CC
m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
+# extra LD Flags which are required for targets
+case "${host}" in
+ *-darwin*)
+ # Darwin needs -single_module when linking libobjc
+ extra_ldflags_libobjc=-Wl,-single_module
+ ;;
+esac
+AC_SUBST(extra_ldflags_libobjc)
+
AC_SUBST(CFLAGS)
AC_CHECK_TOOL(AS, as)
diff --git a/libobjc/encoding.c b/libobjc/encoding.c
index 95cf6527736..efdc2f0a161 100644
--- a/libobjc/encoding.c
+++ b/libobjc/encoding.c
@@ -18,8 +18,8 @@ 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 COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files
compiled with GCC to produce an executable, this does not cause
diff --git a/libobjc/exception.c b/libobjc/exception.c
index cfce70c51e3..e1de2ae5af1 100644
--- a/libobjc/exception.c
+++ b/libobjc/exception.c
@@ -15,8 +15,8 @@ License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled
with GCC to produce an executable, this does not cause the resulting
@@ -165,7 +165,8 @@ PERSONALITY_FUNCTION (int version,
const unsigned char *p;
_Unwind_Ptr landing_pad, ip;
int handler_switch_value;
- int saw_cleanup, saw_handler;
+ int saw_cleanup = 0, saw_handler;
+ void *return_object;
/* Interface version check. */
if (version != 1)
@@ -334,8 +335,15 @@ PERSONALITY_FUNCTION (int version,
}
install_context:
+ if (saw_cleanup == 0)
+ {
+ return_object = xh->value;
+ if (!(actions & _UA_SEARCH_PHASE))
+ _Unwind_DeleteException(&xh->base);
+ }
+
_Unwind_SetGR (context, __builtin_eh_return_data_regno (0),
- __builtin_extend_pointer (xh->value));
+ __builtin_extend_pointer (saw_cleanup ? xh : return_object));
_Unwind_SetGR (context, __builtin_eh_return_data_regno (1),
handler_switch_value);
_Unwind_SetIP (context, landing_pad);
diff --git a/libobjc/gc.c b/libobjc/gc.c
index a4766894ab3..9bb11fc478f 100644
--- a/libobjc/gc.c
+++ b/libobjc/gc.c
@@ -16,8 +16,8 @@ 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 COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files
compiled with GCC to produce an executable, this does not cause
diff --git a/libobjc/hash.c b/libobjc/hash.c
index a32279cd7a7..969bd458566 100644
--- a/libobjc/hash.c
+++ b/libobjc/hash.c
@@ -15,8 +15,8 @@ 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 COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files
compiled with GCC to produce an executable, this does not cause
diff --git a/libobjc/hash_compat.c b/libobjc/hash_compat.c
index 905b9e43c67..b04eee6d43b 100644
--- a/libobjc/hash_compat.c
+++ b/libobjc/hash_compat.c
@@ -15,8 +15,8 @@ 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 COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files
compiled with GCC to produce an executable, this does not cause
diff --git a/libobjc/init.c b/libobjc/init.c
index 40d9016e239..fc3d7ff3c0c 100644
--- a/libobjc/init.c
+++ b/libobjc/init.c
@@ -16,7 +16,7 @@ details.
You should have received a copy of the GNU General Public License along with
GCC; see the file COPYING. If not, write to the Free Software
-Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libobjc/libobjc.def b/libobjc/libobjc.def
index bd50959cf07..a80fb615589 100644
--- a/libobjc/libobjc.def
+++ b/libobjc/libobjc.def
@@ -15,8 +15,8 @@
;
; You should have received a copy of the GNU General Public License along with
; GCC; see the file COPYING. If not, write to the Free Software
-; Foundation, 59 Temple Place - Suite 330,
-; Boston, MA 02111-1307, USA.
+; Foundation, 51 Franklin Street, Fifth Floor,
+; Boston, MA 02110-1301, USA.
LIBRARY libobjc
EXPORTS
diff --git a/libobjc/libobjc_entry.c b/libobjc/libobjc_entry.c
index 22ff959dca9..205b0eda3b0 100644
--- a/libobjc/libobjc_entry.c
+++ b/libobjc/libobjc_entry.c
@@ -16,8 +16,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libobjc/linking.m b/libobjc/linking.m
index 7a5c04728b3..8c8a0a968b7 100644
--- a/libobjc/linking.m
+++ b/libobjc/linking.m
@@ -16,8 +16,8 @@ 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 COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
@@ -38,9 +38,3 @@ void __objc_linking (void)
[NXConstantString name];
}
-#ifdef __APPLE__
-void _objcInit(void)
-{
-}
-#endif
-
diff --git a/libobjc/makefile.dos b/libobjc/makefile.dos
index 63903cb660e..c7544a16476 100644
--- a/libobjc/makefile.dos
+++ b/libobjc/makefile.dos
@@ -14,8 +14,8 @@
#
# You should have received a copy of the GNU General Public License along with
# GCC; see the file COPYING. If not, write to the Free Software
-# Foundation, 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
+# Foundation, 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
# This Makefile is configured for GnuMAKE
diff --git a/libobjc/misc.c b/libobjc/misc.c
index fd9561f4544..972cff15290 100644
--- a/libobjc/misc.c
+++ b/libobjc/misc.c
@@ -17,8 +17,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libobjc/nil_method.c b/libobjc/nil_method.c
index e1802aa107d..268f0e330da 100644
--- a/libobjc/nil_method.c
+++ b/libobjc/nil_method.c
@@ -15,8 +15,8 @@ details.
You should have received a copy of the GNU General Public License along with
GCC; see the file COPYING. If not, write to the Free Software
-Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libobjc/objc/NXConstStr.h b/libobjc/objc/NXConstStr.h
index b0f6ea504cd..3f408d3a207 100644
--- a/libobjc/objc/NXConstStr.h
+++ b/libobjc/objc/NXConstStr.h
@@ -16,8 +16,8 @@ License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files
compiled with GCC to produce an executable, this does not cause
diff --git a/libobjc/objc/Object.h b/libobjc/objc/Object.h
index 21552cab47f..7b67f46615c 100644
--- a/libobjc/objc/Object.h
+++ b/libobjc/objc/Object.h
@@ -15,8 +15,8 @@ License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled
with GCC to produce an executable, this does not cause the resulting
diff --git a/libobjc/objc/Protocol.h b/libobjc/objc/Protocol.h
index fa65a2e4cf9..fe0f28a8eb4 100644
--- a/libobjc/objc/Protocol.h
+++ b/libobjc/objc/Protocol.h
@@ -15,8 +15,8 @@ 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 COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files
compiled with GCC to produce an executable, this does not cause
diff --git a/libobjc/objc/encoding.h b/libobjc/objc/encoding.h
index f09b549f12c..c432ee93bd3 100644
--- a/libobjc/objc/encoding.h
+++ b/libobjc/objc/encoding.h
@@ -17,8 +17,8 @@ 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 COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files
compiled with GCC to produce an executable, this does not cause
diff --git a/libobjc/objc/hash.h b/libobjc/objc/hash.h
index d9f3aee86bb..2260fad5692 100644
--- a/libobjc/objc/hash.h
+++ b/libobjc/objc/hash.h
@@ -15,8 +15,8 @@ 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 COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files
compiled with GCC to produce an executable, this does not cause
diff --git a/libobjc/objc/objc-api.h b/libobjc/objc/objc-api.h
index 9011ab5d2b3..f647fbdbd9e 100644
--- a/libobjc/objc/objc-api.h
+++ b/libobjc/objc/objc-api.h
@@ -15,8 +15,8 @@ License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled
with GCC to produce an executable, this does not cause the resulting
diff --git a/libobjc/objc/objc-decls.h b/libobjc/objc/objc-decls.h
index 6d64c3bb52b..52938a2381c 100644
--- a/libobjc/objc/objc-decls.h
+++ b/libobjc/objc/objc-decls.h
@@ -15,8 +15,8 @@ License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled
with GCC to produce an executable, this does not cause the resulting
diff --git a/libobjc/objc/objc-list.h b/libobjc/objc/objc-list.h
index 19f0b85a767..051e1c2c132 100644
--- a/libobjc/objc/objc-list.h
+++ b/libobjc/objc/objc-list.h
@@ -16,8 +16,8 @@ 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 COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libobjc/objc/objc.h b/libobjc/objc/objc.h
index da20d84bf40..ee7612c9754 100644
--- a/libobjc/objc/objc.h
+++ b/libobjc/objc/objc.h
@@ -15,8 +15,8 @@ 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 COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files
compiled with GCC to produce an executable, this does not cause
diff --git a/libobjc/objc/runtime.h b/libobjc/objc/runtime.h
index f4f3746c0bb..3582d1d91c0 100644
--- a/libobjc/objc/runtime.h
+++ b/libobjc/objc/runtime.h
@@ -15,7 +15,7 @@ details.
You should have received a copy of the GNU General Public License along with
GCC; see the file COPYING. If not, write to the Free Software
-Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libobjc/objc/sarray.h b/libobjc/objc/sarray.h
index f19407baa22..fe66b2e9a73 100644
--- a/libobjc/objc/sarray.h
+++ b/libobjc/objc/sarray.h
@@ -16,8 +16,8 @@ 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 COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files
compiled with GCC to produce an executable, this does not cause
diff --git a/libobjc/objc/thr.h b/libobjc/objc/thr.h
index d3d791a6d8f..c1399268890 100644
--- a/libobjc/objc/thr.h
+++ b/libobjc/objc/thr.h
@@ -25,8 +25,8 @@ details.
You should have received a copy of the GNU General Public License along with
GCC; see the file COPYING. If not, write to the Free Software
-Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files
compiled with GCC to produce an executable, this does not cause
diff --git a/libobjc/objc/typedstream.h b/libobjc/objc/typedstream.h
index a52aa7e3a97..3a5e0b3b80c 100644
--- a/libobjc/objc/typedstream.h
+++ b/libobjc/objc/typedstream.h
@@ -15,8 +15,8 @@ License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled
with GCC to produce an executable, this does not cause the resulting
diff --git a/libobjc/objects.c b/libobjc/objects.c
index c3732e3a444..7cc99bfcad5 100644
--- a/libobjc/objects.c
+++ b/libobjc/objects.c
@@ -15,8 +15,8 @@ details.
You should have received a copy of the GNU General Public License along with
GCC; see the file COPYING. If not, write to the Free Software
-Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libobjc/sarray.c b/libobjc/sarray.c
index f07097ac209..b35772b3f53 100644
--- a/libobjc/sarray.c
+++ b/libobjc/sarray.c
@@ -15,8 +15,8 @@ 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 COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files
compiled with GCC to produce an executable, this does not cause
diff --git a/libobjc/selector.c b/libobjc/selector.c
index 86673339bfb..223c7100efa 100644
--- a/libobjc/selector.c
+++ b/libobjc/selector.c
@@ -15,7 +15,7 @@ details.
You should have received a copy of the GNU General Public License along with
GCC; see the file COPYING. If not, write to the Free Software
-Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libobjc/sendmsg.c b/libobjc/sendmsg.c
index 414af70ed6d..9453ef3dd46 100644
--- a/libobjc/sendmsg.c
+++ b/libobjc/sendmsg.c
@@ -16,8 +16,8 @@ details.
You should have received a copy of the GNU General Public License along with
GCC; see the file COPYING. If not, write to the Free Software
-Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libobjc/thr-dce.c b/libobjc/thr-dce.c
index 166d61f6f21..b20eacf8c95 100644
--- a/libobjc/thr-dce.c
+++ b/libobjc/thr-dce.c
@@ -15,8 +15,8 @@ details.
You should have received a copy of the GNU General Public License along with
GCC; see the file COPYING. If not, write to the Free Software
-Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libobjc/thr-decosf1.c b/libobjc/thr-decosf1.c
index 166d61f6f21..b20eacf8c95 100644
--- a/libobjc/thr-decosf1.c
+++ b/libobjc/thr-decosf1.c
@@ -15,8 +15,8 @@ details.
You should have received a copy of the GNU General Public License along with
GCC; see the file COPYING. If not, write to the Free Software
-Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libobjc/thr-irix.c b/libobjc/thr-irix.c
index 9ad55bb3be2..ca68e08a491 100644
--- a/libobjc/thr-irix.c
+++ b/libobjc/thr-irix.c
@@ -15,8 +15,8 @@ details.
You should have received a copy of the GNU General Public License along with
GCC; see the file COPYING. If not, write to the Free Software
-Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libobjc/thr-mach.c b/libobjc/thr-mach.c
index 7d70625562e..76167b42af2 100644
--- a/libobjc/thr-mach.c
+++ b/libobjc/thr-mach.c
@@ -17,8 +17,8 @@ details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libobjc/thr-objc.c b/libobjc/thr-objc.c
index 25f9762b086..f2e8c391d70 100644
--- a/libobjc/thr-objc.c
+++ b/libobjc/thr-objc.c
@@ -14,8 +14,8 @@ details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libobjc/thr-os2.c b/libobjc/thr-os2.c
index e302006ab19..787c9494bfb 100644
--- a/libobjc/thr-os2.c
+++ b/libobjc/thr-os2.c
@@ -15,8 +15,8 @@ details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libobjc/thr-posix.c b/libobjc/thr-posix.c
index 9871b57691f..f7010833df8 100644
--- a/libobjc/thr-posix.c
+++ b/libobjc/thr-posix.c
@@ -17,8 +17,8 @@ details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libobjc/thr-pthreads.c b/libobjc/thr-pthreads.c
index 99321c8e93f..d73db47ad2e 100644
--- a/libobjc/thr-pthreads.c
+++ b/libobjc/thr-pthreads.c
@@ -16,8 +16,8 @@ details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libobjc/thr-rtems.c b/libobjc/thr-rtems.c
index eab88924056..4e4f1e493ad 100644
--- a/libobjc/thr-rtems.c
+++ b/libobjc/thr-rtems.c
@@ -17,8 +17,8 @@ details.
You should have received a copy of the GNU General Public License along with
GCC; see the file COPYING. If not, write to the Free Software
-Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libobjc/thr-single.c b/libobjc/thr-single.c
index 132307448e7..0407dcf17cf 100644
--- a/libobjc/thr-single.c
+++ b/libobjc/thr-single.c
@@ -15,8 +15,8 @@ details.
You should have received a copy of the GNU General Public License along with
GCC; see the file COPYING. If not, write to the Free Software
-Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libobjc/thr-solaris.c b/libobjc/thr-solaris.c
index d37013b132d..0cc35226724 100644
--- a/libobjc/thr-solaris.c
+++ b/libobjc/thr-solaris.c
@@ -16,8 +16,8 @@ details.
You should have received a copy of the GNU General Public License along with
GCC; see the file COPYING. If not, write to the Free Software
-Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libobjc/thr-vxworks.c b/libobjc/thr-vxworks.c
index 132307448e7..0407dcf17cf 100644
--- a/libobjc/thr-vxworks.c
+++ b/libobjc/thr-vxworks.c
@@ -15,8 +15,8 @@ details.
You should have received a copy of the GNU General Public License along with
GCC; see the file COPYING. If not, write to the Free Software
-Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libobjc/thr-win32.c b/libobjc/thr-win32.c
index 065242ce8ff..cc4bb746e13 100644
--- a/libobjc/thr-win32.c
+++ b/libobjc/thr-win32.c
@@ -15,8 +15,8 @@ details.
You should have received a copy of the GNU General Public License along with
GCC; see the file COPYING. If not, write to the Free Software
-Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libobjc/thr.c b/libobjc/thr.c
index 91e15d52252..17f6f7e2920 100644
--- a/libobjc/thr.c
+++ b/libobjc/thr.c
@@ -15,8 +15,8 @@ details.
You should have received a copy of the GNU General Public License along with
GCC; see the file COPYING. If not, write to the Free Software
-Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libssp/ChangeLog b/libssp/ChangeLog
index 240f51ec962..fd1bc71ca2f 100644
--- a/libssp/ChangeLog
+++ b/libssp/ChangeLog
@@ -1,3 +1,7 @@
+2005-08-17 Kelley Cook <kcook@gcc.gnu.org>
+
+ * ALL: Update FSF address.
+
2005-07-02 Jakub Jelinek <jakub@redhat.com>
* ALL: First release as more than just a single file.
diff --git a/libssp/gets-chk.c b/libssp/gets-chk.c
index 9dd85a15ec3..a6eda745ea7 100644
--- a/libssp/gets-chk.c
+++ b/libssp/gets-chk.c
@@ -24,8 +24,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libssp/memcpy-chk.c b/libssp/memcpy-chk.c
index 98f7556794c..36e7a602518 100644
--- a/libssp/memcpy-chk.c
+++ b/libssp/memcpy-chk.c
@@ -24,8 +24,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libssp/memmove-chk.c b/libssp/memmove-chk.c
index 95a30c67582..9507cbc5e01 100644
--- a/libssp/memmove-chk.c
+++ b/libssp/memmove-chk.c
@@ -24,8 +24,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libssp/mempcpy-chk.c b/libssp/mempcpy-chk.c
index b0dfc39d801..e21b15f39f8 100644
--- a/libssp/mempcpy-chk.c
+++ b/libssp/mempcpy-chk.c
@@ -24,8 +24,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libssp/memset-chk.c b/libssp/memset-chk.c
index c2ef5ad89c4..6b5f511dfad 100644
--- a/libssp/memset-chk.c
+++ b/libssp/memset-chk.c
@@ -24,8 +24,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libssp/snprintf-chk.c b/libssp/snprintf-chk.c
index d8fc8942e88..f800ffe13b6 100644
--- a/libssp/snprintf-chk.c
+++ b/libssp/snprintf-chk.c
@@ -24,8 +24,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libssp/sprintf-chk.c b/libssp/sprintf-chk.c
index 7b084c2f84b..6569bf6cc51 100644
--- a/libssp/sprintf-chk.c
+++ b/libssp/sprintf-chk.c
@@ -24,8 +24,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libssp/ssp-local.c b/libssp/ssp-local.c
index aa63cccfaae..33867cc0d2e 100644
--- a/libssp/ssp-local.c
+++ b/libssp/ssp-local.c
@@ -24,8 +24,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libssp/ssp.c b/libssp/ssp.c
index 6c565363b75..9576be445b2 100644
--- a/libssp/ssp.c
+++ b/libssp/ssp.c
@@ -24,8 +24,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libssp/ssp/ssp.h.in b/libssp/ssp/ssp.h.in
index 2ce13e9d7b8..40a64aab872 100644
--- a/libssp/ssp/ssp.h.in
+++ b/libssp/ssp/ssp.h.in
@@ -24,8 +24,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libssp/ssp/stdio.h b/libssp/ssp/stdio.h
index 694e6ad322f..00c687f245a 100644
--- a/libssp/ssp/stdio.h
+++ b/libssp/ssp/stdio.h
@@ -24,8 +24,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libssp/ssp/string.h b/libssp/ssp/string.h
index d214785a05c..57a17cfe796 100644
--- a/libssp/ssp/string.h
+++ b/libssp/ssp/string.h
@@ -24,8 +24,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libssp/ssp/unistd.h b/libssp/ssp/unistd.h
index 176369f78c9..de621669b3a 100644
--- a/libssp/ssp/unistd.h
+++ b/libssp/ssp/unistd.h
@@ -24,8 +24,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libssp/stpcpy-chk.c b/libssp/stpcpy-chk.c
index 02c592cda7c..90d5aa4d53c 100644
--- a/libssp/stpcpy-chk.c
+++ b/libssp/stpcpy-chk.c
@@ -24,8 +24,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libssp/strcat-chk.c b/libssp/strcat-chk.c
index d3a1a64a992..237196dffee 100644
--- a/libssp/strcat-chk.c
+++ b/libssp/strcat-chk.c
@@ -24,8 +24,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libssp/strcpy-chk.c b/libssp/strcpy-chk.c
index 7a3978e73a1..47584f4a0bd 100644
--- a/libssp/strcpy-chk.c
+++ b/libssp/strcpy-chk.c
@@ -24,8 +24,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libssp/strncat-chk.c b/libssp/strncat-chk.c
index 39e61c8659c..f559e601159 100644
--- a/libssp/strncat-chk.c
+++ b/libssp/strncat-chk.c
@@ -24,8 +24,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libssp/strncpy-chk.c b/libssp/strncpy-chk.c
index 5c01fd9faa3..538b48192bc 100644
--- a/libssp/strncpy-chk.c
+++ b/libssp/strncpy-chk.c
@@ -24,8 +24,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libssp/vsnprintf-chk.c b/libssp/vsnprintf-chk.c
index 21a2aad8632..2e86df5cf33 100644
--- a/libssp/vsnprintf-chk.c
+++ b/libssp/vsnprintf-chk.c
@@ -24,8 +24,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libssp/vsprintf-chk.c b/libssp/vsprintf-chk.c
index 669b239d9cb..a8c436f07c8 100644
--- a/libssp/vsprintf-chk.c
+++ b/libssp/vsprintf-chk.c
@@ -24,8 +24,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
/* As a special exception, if you link this library with files compiled with
GCC to produce an executable, this does not cause the resulting executable
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index e3bf41c4207..5ba15010349 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,204 @@
+2005-09-01 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/c_std/std_cmath.h: Declare C99 functions and helper
+ functions as inline.
+
+2005-09-01 Benjamin Kosnik <bkoz@redhat.com>
+ Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/lib/libstdc++.exp (check_v3_target_cxa_atexit): Fix
+ comment.
+
+2005-09-01 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/lib/libstdc++.exp (check_v3_target_cxa_atexit): New.
+ * testsuite/lib/dg-options.exp (dg-require-cxa-atexit): New.
+ * testsuite/ext/mt_allocator/deallocate_local-6.cc: New.
+ * testsuite/ext/mt_allocator/deallocate_local-8.cc: New.
+ * testsuite/ext/mt_allocator/deallocate_local_thread-5.cc: New.
+ * testsuite/ext/mt_allocator/deallocate_local_thread-7.cc: New.
+ * docs/html/ext/mt_allocator.html: Add link to examples.
+ * testsuite/testsuite_allocator.h: Tweak.
+ * testsuite/ext/mt_allocator/deallocate_global-2.cc: Same.
+ * testsuite/ext/mt_allocator/deallocate_global-4.cc: Same.
+ * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same.
+ * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same.
+ * testsuite/ext/mt_allocator/deallocate_local-2.cc: Same.
+ * testsuite/ext/mt_allocator/deallocate_local-4.cc: Same.
+ * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Same.
+ * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same.
+ * testsuite/ext/new_allocator/deallocate_global.cc: Same.
+ * testsuite/ext/new_allocator/deallocate_local.cc: Same.
+
+2005-08-31 Paolo Carlini <pcarlini@suse.de>
+ Kaspar Fischer <fischerk@inf.ethz.ch>
+
+ PR libstdc++/23632
+ * include/bits/stl_bvector.h (_Bit_iterator::operator[],
+ _Bit_const_iterator::operator[]): Const-ify.
+ * testsuite/23_containers/vector/bool/23632.cc: New.
+
+2005-08-30 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/23578 (cont)
+ * include/bits/stl_bvector.h (class vector<bool>): Add
+ a dummy data() to avoid problems in debug-mode.
+
+2005-08-30 Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/ext/hash_map/23528.cc: New.
+
+2005-08-29 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_map.h (class map): ... and a missing @a.
+
+2005-08-29 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_map.h (class map): Add missing % in comment.
+
+2005-08-29 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/23578 (DR 464 [Ready])
+ * include/bits/stl_map.h (class map): Add at(const key_type&)
+ member functions.
+ * include/bits/stl_vector.h (class vector): Add data() member
+ functions.
+ * include/debug/map.h (class map): Adjust consistently.
+ * include/debug/vector (class vector): Likewise.
+ * testsuite/23_containers/map/element_access/1.cc: New.
+ * testsuite/23_containers/vector/data_access/1.cc: Likewise.
+ * docs/html/ext/howto.html: Add an entry for DR 464.
+
+2005-08-26 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/20534 (contd)
+ * src/debug.cc (__gnu_debug): Remove __fancy_abort definition.
+ Remove cstdio and cstdlib includes.
+ * include/debug/debug.h: Define inline here. Remove
+ _GLIBCXX_DEBUG_ABORT.
+ * include/debug/macros.h: Remove __fancy_abort declaration,
+ _GLIBXX_DEBUG_ABORT definition.
+ * config/linker-map.gnu: Remove export.
+
+2005-08-26 Benjamin Kosnik <bkoz@redhat.com>
+
+ * scripts/check_compile (UNIQUE_ID): New. Use to name output files.
+
+2005-08-26 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/23081
+ * include/tr1/array: Implement members back(), front(), data(),
+ and the tuple interface; tidy.
+ * testsuite/tr1/6_containers/array/element_access/back.cc: New.
+ * testsuite/tr1/6_containers/array/element_access/data.cc: Likewise.
+ * testsuite/tr1/6_containers/array/element_access/front.cc: Likewise.
+ * testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise.
+ * testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc:
+ Likewise.
+ * testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc:
+ Likewise.
+
+2005-08-25 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/hashtable: Use __throw_exception_again,
+ not naked throw, in the catch clauses.
+
+2005-08-24 Lawrence Lim <llim@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
+ Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/23550
+ * testsuite/21_strings/char_traits/requirements/char/1.cc
+ (test01): Simplify counting.
+ * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc
+ (test02): Same.
+
+2005-08-24 Paolo Carlini <pcarlini@suse.de>
+ Chris Jefferson <chris@bubblescope.net>
+
+ PR libstdc++/23465
+ * include/tr1/hashtable (hash_code_base::m_swap): Use
+ std::swap.
+ (hashtable<>::hashtable(const hashtable&)): Use copy_code;
+ fix m_allocate_node call.
+ * testsuite/tr1/6_containers/unordered/hashtable/23465.cc: New.
+
+2005-08-23 Kelley Cook <kcook@gcc.gnu.org>
+
+ PR libstdc++/23462
+ * testsuite/data/sgetn.txt: Revert to previous FSF address.
+
+2005-08-23 Thomas Kho <tkho@ucla.edu>
+
+ PR libstdc++/23358
+ * include/bits/stl_construct.h (_Destroy(_ForwardIterator,
+ _ForwardIterator, allocator<_Tp>)): Removed unused template parameter.
+
+2005-08-22 Geoffrey Keating <geoffk@apple.com>
+
+ * testsuite/23_containers/vector/resize/1.cc: XFAIL on darwin8.
+ * testsuite/27_io/ios_base/storage/2.cc: Likewise.
+
+2005-08-19 J"orn Rennecke <joern.rennecke@st.com>
+
+ * config/cpu/sh/atomicity.h: Replace broken generic code with current
+ copy of generic/atomicity.h .
+
+2005-08-17 Kelley Cook <kcook@gcc.gnu.org>
+
+ * All files: Update FSF address.
+
+2005-08-09 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * testsuite/26_numerics/cmath/c99_classification_macros_c.cc:
+ xfail on *-*-darwin*.
+
+2005-08-03 Geoffrey Keating <geoffk@apple.com>
+
+ * configure.ac: Don't use GCC_NO_EXECUTABLES or clear
+ GLIBCXX_IS_NATIVE on Darwin crosses.
+ * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Don't skip configuring
+ the testsuite just because there's no symbol versioning.
+ * configure: Regenerate.
+
+ * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Print
+ status messages.
+ (GLIBCXX_CHECK_S_ISREG_OR_S_IFREG): Likewise.
+ (GLIBCXX_CHECK_POLL): Likewise.
+ (GLIBCXX_CHECK_WRITEV): Likewise.
+ (GLIBCXX_CHECK_INT64_T): Likewise.
+ (GLIBCXX_CHECK_LFS): Likewise.
+ * configure: Regenerate.
+
+2005-07-30 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * scripts/make_exports.pl: Pass --strip-underscores to c++filt.
+
+2005-07-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR libstdc++/22284
+ * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Revert
+ the change to info.ttype_base.
+
+2005-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * include/std/std_valarray.h: Fix grammar in comments.
+
+2005-07-25 Geoffrey Keating <geoffk@apple.com>
+
+ * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Handle darwin-export,
+ and make it the default for Darwin.
+ * scripts/make-exports.pl: New.
+ * src/Makefile.am: Update for changes to GLIBCXX_ENABLE_SYMVERS.
+ Handle darwin-export.
+ * configure: Regenerate.
+ * include/Makefile.in: Regenerate.
+ * libmath/Makefile.in: Regenerate.
+ * libsupc++/Makefile.in: Regenerate.
+ * po/Makefile.in: Regenerate.
+ * src/Makefile.in: Regenerate.
+ * testsuite/Makefile.in: Regenerate.
+
2005-07-25 Dave Odell <evilalias@hotmail.com>
PR libstdc++/23053
diff --git a/libstdc++-v3/Makefile.am b/libstdc++-v3/Makefile.am
index bccacb65f78..031f34a3554 100644
--- a/libstdc++-v3/Makefile.am
+++ b/libstdc++-v3/Makefile.am
@@ -19,7 +19,7 @@
## You should have received a copy of the GNU General Public License along
## with this library; see the file COPYING. If not, write to the Free
-## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+## Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
## USA.
include $(top_srcdir)/fragment.am
diff --git a/libstdc++-v3/Makefile.in b/libstdc++-v3/Makefile.in
index 5350407138b..f328c63f5e5 100644
--- a/libstdc++-v3/Makefile.in
+++ b/libstdc++-v3/Makefile.in
@@ -2,7 +2,7 @@
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004 Free Software Foundation, Inc.
+# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -129,14 +129,16 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_SYMVERS_DARWIN_EXPORT_FALSE = @ENABLE_SYMVERS_DARWIN_EXPORT_FALSE@
+ENABLE_SYMVERS_DARWIN_EXPORT_TRUE = @ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@
+ENABLE_SYMVERS_GNU_FALSE = @ENABLE_SYMVERS_GNU_FALSE@
+ENABLE_SYMVERS_GNU_TRUE = @ENABLE_SYMVERS_GNU_TRUE@
EXEEXT = @EXEEXT@
EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
GLIBCXX_BUILD_DEBUG_FALSE = @GLIBCXX_BUILD_DEBUG_FALSE@
GLIBCXX_BUILD_DEBUG_TRUE = @GLIBCXX_BUILD_DEBUG_TRUE@
GLIBCXX_BUILD_PCH_FALSE = @GLIBCXX_BUILD_PCH_FALSE@
GLIBCXX_BUILD_PCH_TRUE = @GLIBCXX_BUILD_PCH_TRUE@
-GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE = @GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE@
-GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE = @GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@
GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE = @GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE@
GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE = @GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE@
GLIBCXX_C_HEADERS_C_FALSE = @GLIBCXX_C_HEADERS_C_FALSE@
@@ -408,7 +410,13 @@ uninstall-info-am:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
@@ -420,7 +428,7 @@ $(RECURSIVE_TARGETS):
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ || eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
@@ -428,7 +436,13 @@ $(RECURSIVE_TARGETS):
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@@ -449,7 +463,7 @@ maintainer-clean-recursive:
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ || eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index d3156f2b2c4..d66970220a4 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -333,6 +333,7 @@ dnl _GLIBCXX_RES_LIMITS if we can set artificial resource limits
dnl various HAVE_LIMIT_* for individual limit names
dnl
AC_DEFUN([GLIBCXX_CHECK_SETRLIMIT_ancilliary], [
+ AC_MSG_CHECKING([for RLIMIT_$1])
AC_TRY_COMPILE(
[#include <unistd.h>
#include <sys/time.h>
@@ -342,6 +343,8 @@ AC_DEFUN([GLIBCXX_CHECK_SETRLIMIT_ancilliary], [
[glibcxx_mresult=1], [glibcxx_mresult=0])
AC_DEFINE_UNQUOTED(HAVE_LIMIT_$1, $glibcxx_mresult,
[Only used in build directory testsuite_hooks.h.])
+ if test $glibcxx_mresult = 1 ; then res=yes ; else res=no ; fi
+ AC_MSG_RESULT($res)
])
AC_DEFUN([GLIBCXX_CHECK_SETRLIMIT], [
@@ -390,6 +393,7 @@ dnl Check whether S_ISREG (Posix) or S_IFREG is available in <sys/stat.h>.
dnl Define HAVE_S_ISREG / HAVE_S_IFREG appropriately.
dnl
AC_DEFUN([GLIBCXX_CHECK_S_ISREG_OR_S_IFREG], [
+ AC_MSG_CHECKING([for S_ISREG or S_IFREG])
AC_CACHE_VAL(glibcxx_cv_S_ISREG, [
AC_TRY_LINK(
[#include <sys/stat.h>],
@@ -408,13 +412,17 @@ AC_DEFUN([GLIBCXX_CHECK_S_ISREG_OR_S_IFREG], [
[glibcxx_cv_S_IFREG=yes],
[glibcxx_cv_S_IFREG=no])
])
+ res=no
if test $glibcxx_cv_S_ISREG = yes; then
AC_DEFINE(HAVE_S_ISREG, 1,
[Define if S_IFREG is available in <sys/stat.h>.])
+ res=S_ISREG
elif test $glibcxx_cv_S_IFREG = yes; then
AC_DEFINE(HAVE_S_IFREG, 1,
[Define if S_IFREG is available in <sys/stat.h>.])
+ res=S_IFREG
fi
+ AC_MSG_RESULT($res)
])
@@ -422,6 +430,7 @@ dnl
dnl Check whether poll is available in <poll.h>, and define HAVE_POLL.
dnl
AC_DEFUN([GLIBCXX_CHECK_POLL], [
+ AC_MSG_CHECKING([for poll])
AC_CACHE_VAL(glibcxx_cv_POLL, [
AC_TRY_LINK(
[#include <poll.h>],
@@ -434,6 +443,7 @@ AC_DEFUN([GLIBCXX_CHECK_POLL], [
if test $glibcxx_cv_POLL = yes; then
AC_DEFINE(HAVE_POLL, 1, [Define if poll is available in <poll.h>.])
fi
+ AC_MSG_RESULT($glibcxx_cv_POLL)
])
@@ -441,6 +451,7 @@ dnl
dnl Check whether writev is available in <sys/uio.h>, and define HAVE_WRITEV.
dnl
AC_DEFUN([GLIBCXX_CHECK_WRITEV], [
+ AC_MSG_CHECKING([for writev])
AC_CACHE_VAL(glibcxx_cv_WRITEV, [
AC_TRY_LINK(
[#include <sys/uio.h>],
@@ -452,6 +463,7 @@ AC_DEFUN([GLIBCXX_CHECK_WRITEV], [
if test $glibcxx_cv_WRITEV = yes; then
AC_DEFINE(HAVE_WRITEV, 1, [Define if writev is available in <sys/uio.h>.])
fi
+ AC_MSG_RESULT($glibcxx_cv_WRITEV)
])
@@ -459,6 +471,7 @@ dnl
dnl Check whether int64_t is available in <stdint.h>, and define HAVE_INT64_T.
dnl
AC_DEFUN([GLIBCXX_CHECK_INT64_T], [
+ AC_MSG_CHECKING([for int64_t])
AC_CACHE_VAL(glibcxx_cv_INT64_T, [
AC_TRY_COMPILE(
[#include <stdint.h>],
@@ -469,6 +482,7 @@ AC_DEFUN([GLIBCXX_CHECK_INT64_T], [
if test $glibcxx_cv_INT64_T = yes; then
AC_DEFINE(HAVE_INT64_T, 1, [Define if int64_t is available in <stdint.h>.])
fi
+ AC_MSG_RESULT($glibcxx_cv_INT64_T)
])
@@ -480,6 +494,7 @@ AC_DEFUN([GLIBCXX_CHECK_LFS], [
AC_LANG_CPLUSPLUS
ac_save_CXXFLAGS="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS -fno-exceptions"
+ AC_MSG_CHECKING([for LFS support])
AC_CACHE_VAL(glibcxx_cv_LFS, [
AC_TRY_LINK(
[#include <unistd.h>
@@ -499,6 +514,7 @@ AC_DEFUN([GLIBCXX_CHECK_LFS], [
if test $glibcxx_cv_LFS = yes; then
AC_DEFINE(_GLIBCXX_USE_LFS, 1, [Define if LFS support is available.])
fi
+ AC_MSG_RESULT($glibcxx_cv_LFS)
CXXFLAGS="$ac_save_CXXFLAGS"
AC_LANG_RESTORE
])
@@ -538,24 +554,22 @@ dnl Substs:
dnl baseline_dir
dnl
AC_DEFUN([GLIBCXX_CONFIGURE_TESTSUITE], [
- if $GLIBCXX_IS_NATIVE && test $is_hosted = yes &&
- test $enable_symvers != no; then
+ if $GLIBCXX_IS_NATIVE ; then
# Do checks for resource limit functions.
GLIBCXX_CHECK_SETRLIMIT
# Look for setenv, so that extended locale tests can be performed.
GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_3(setenv)
+ fi
- if test $enable_symvers = no; then
- enable_abi_check=no
- else
- case "$host" in
- *-*-cygwin*)
- enable_abi_check=no ;;
- *)
- enable_abi_check=yes ;;
- esac
- fi
+ if $GLIBCXX_IS_NATIVE && test $is_hosted = yes &&
+ test $enable_symvers != no; then
+ case "$host" in
+ *-*-cygwin*)
+ enable_abi_check=no ;;
+ *)
+ enable_abi_check=yes ;;
+ esac
else
# Only build this as native, since automake does not understand
# CXX_FOR_BUILD.
@@ -1671,16 +1685,30 @@ AC_DEFUN([GLIBCXX_ENABLE_SYMVERS], [
GLIBCXX_ENABLE(symvers,$1,[=STYLE],
[enables symbol versioning of the shared library],
- [permit yes|no|gnu])
+ [permit yes|no|gnu|darwin-export])
# If we never went through the GLIBCXX_CHECK_LINKER_FEATURES macro, then we
# don't know enough about $LD to do tricks...
AC_REQUIRE([GLIBCXX_CHECK_LINKER_FEATURES])
-# FIXME The following test is too strict, in theory.
-if test $enable_shared = no ||
- test "x$LD" = x ||
- test x$glibcxx_gnu_ld_version = x; then
- enable_symvers=no
+
+# Turn a 'yes' into a suitable default.
+if test x$enable_symvers = xyes ; then
+ if test $enable_shared = no ||
+ test "x$LD" = x ; then
+ enable_symvers=no
+ elif test $with_gnu_ld == yes ; then
+ enable_symvers=gnu
+ else
+ case ${target_os} in
+ darwin*)
+ enable_symvers=darwin-export ;;
+ *)
+ AC_MSG_WARN([=== You have requested some kind of symbol versioning, but])
+ AC_MSG_WARN([=== you are not using a supported linker.])
+ AC_MSG_WARN([=== Symbol versioning will be disabled.])
+ enable_symvers=no ;;
+ esac
+ fi
fi
# Check to see if libgcc_s exists, indicating that shared libgcc is possible.
@@ -1710,39 +1738,34 @@ changequote([,])dnl
AC_MSG_RESULT($glibcxx_shared_libgcc)
fi
-# For GNU ld, we need at least this version. The format is described in
-# GLIBCXX_CHECK_LINKER_FEATURES above.
-glibcxx_min_gnu_ld_version=21400
+# If no shared libgcc, can't win.
+if test $glibcxx_shared_libgcc != yes &&
+ test $enable_symvers != no ; then
+ AC_MSG_WARN([=== You have requested some kind of symbol versioning, but])
+ AC_MSG_WARN([=== you are not building a shared libgcc_s.])
+ AC_MSG_WARN([=== Symbol versioning will be disabled.])
+ enable_symvers=no
+ enable_symvers=no
+fi
+
+# Check to see if 'gnu' can win.
+if test $enable_symvers = gnu; then
+ # For GNU ld, we need at least this version. The format is described in
+ # GLIBCXX_CHECK_LINKER_FEATURES above.
+ glibcxx_min_gnu_ld_version=21400
-# Check to see if unspecified "yes" value can win, given results above.
-# Change "yes" into either "no" or a style name.
-if test $enable_symvers = yes; then
- if test $with_gnu_ld = yes &&
- test $glibcxx_shared_libgcc = yes;
- then
- if test $glibcxx_gnu_ld_version -ge $glibcxx_min_gnu_ld_version ; then
- enable_symvers=gnu
- else
- # The right tools, the right setup, but too old. Fallbacks?
- AC_MSG_WARN(=== Linker version $glibcxx_gnu_ld_version is too old for)
- AC_MSG_WARN(=== full symbol versioning support in this release of GCC.)
- AC_MSG_WARN(=== You would need to upgrade your binutils to version)
- AC_MSG_WARN(=== $glibcxx_min_gnu_ld_version or later and rebuild GCC.)
- if test $glibcxx_gnu_ld_version -ge 21200 ; then
- # Globbing fix is present, proper block support is not.
- AC_MSG_WARN([=== Symbol versioning will be disabled.])
- enable_symvers=no
- else
- # 2.11 or older.
- AC_MSG_WARN([=== Symbol versioning will be disabled.])
- enable_symvers=no
- fi
- fi
- else
+ if test $with_gnu_ld != yes ; then
# just fail for now
- AC_MSG_WARN([=== You have requested some kind of symbol versioning, but])
- AC_MSG_WARN([=== either you are not using a supported linker, or you are])
- AC_MSG_WARN([=== not building a shared libgcc_s (which is required).])
+ AC_MSG_WARN([=== You have requested GNU symbol versioning, but])
+ AC_MSG_WARN([=== you are not using the GNU linker.])
+ AC_MSG_WARN([=== Symbol versioning will be disabled.])
+ enable_symvers=no
+ elif test $glibcxx_gnu_ld_version -lt $glibcxx_min_gnu_ld_version ; then
+ # The right tools, the right setup, but too old. Fallbacks?
+ AC_MSG_WARN(=== Linker version $glibcxx_gnu_ld_version is too old for)
+ AC_MSG_WARN(=== full symbol versioning support in this release of GCC.)
+ AC_MSG_WARN(=== You would need to upgrade your binutils to version)
+ AC_MSG_WARN(=== $glibcxx_min_gnu_ld_version or later and rebuild GCC.)
AC_MSG_WARN([=== Symbol versioning will be disabled.])
enable_symvers=no
fi
@@ -1756,7 +1779,10 @@ case $enable_symvers in
gnu)
SYMVER_MAP=config/linker-map.gnu
AC_DEFINE(_GLIBCXX_SYMVER, 1,
- [Define to use symbol versioning in the shared library.])
+ [Define to use GNU symbol versioning in the shared library.])
+ ;;
+ darwin-export)
+ SYMVER_MAP=config/linker-map.gnu
;;
esac
@@ -1787,7 +1813,9 @@ AC_MSG_RESULT([$glibcxx_ptrdiff_t_is_i])
AC_SUBST(SYMVER_MAP)
AC_SUBST(port_specific_symbol_files)
-GLIBCXX_CONDITIONAL(GLIBCXX_BUILD_VERSIONED_SHLIB, test $enable_symvers != no)
+GLIBCXX_CONDITIONAL(ENABLE_SYMVERS_GNU, test $enable_symvers == gnu)
+GLIBCXX_CONDITIONAL(ENABLE_SYMVERS_DARWIN_EXPORT, dnl
+ test $enable_symvers == darwin-export)
AC_MSG_NOTICE(versioning on shared library symbols is $enable_symvers)
])
diff --git a/libstdc++-v3/aclocal.m4 b/libstdc++-v3/aclocal.m4
index 9c72982dce1..c0b503e7c53 100644
--- a/libstdc++-v3/aclocal.m4
+++ b/libstdc++-v3/aclocal.m4
@@ -27,7 +27,7 @@
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# AM_AUTOMAKE_VERSION(VERSION)
# ----------------------------
@@ -58,8 +58,8 @@ AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
@@ -122,8 +122,8 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
# serial 6
@@ -169,8 +169,8 @@ fi])])
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
# serial 11
@@ -292,8 +292,8 @@ echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
@@ -318,8 +318,8 @@ AC_SUBST(install_sh)])
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
# serial 3
@@ -357,8 +357,8 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
# serial 3
@@ -404,8 +404,8 @@ fi
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
# created by `make install' are always world readable, even if the
@@ -475,8 +475,8 @@ AC_SUBST([mkdir_p])])
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
# serial 4
@@ -545,8 +545,8 @@ CC="$CC"])])dnl
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
# serial 2
@@ -591,8 +591,8 @@ AC_DEFUN([_AM_IF_OPTION],
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
# serial 3
@@ -653,8 +653,8 @@ AC_MSG_RESULT(yes)])
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
# One issue with vendor `install' (even GNU) is that you can't
# specify the program used to strip binaries. This is especially
@@ -692,8 +692,8 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
# serial 1
diff --git a/libstdc++-v3/config/abi/compatibility.h b/libstdc++-v3/config/abi/compatibility.h
index 9faa61d7914..48abcde3d24 100644
--- a/libstdc++-v3/config/abi/compatibility.h
+++ b/libstdc++-v3/config/abi/compatibility.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/allocator/bitmap_allocator_base.h b/libstdc++-v3/config/allocator/bitmap_allocator_base.h
index 2a674cff04c..573b4547710 100644
--- a/libstdc++-v3/config/allocator/bitmap_allocator_base.h
+++ b/libstdc++-v3/config/allocator/bitmap_allocator_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/allocator/malloc_allocator_base.h b/libstdc++-v3/config/allocator/malloc_allocator_base.h
index bc5e6b79042..028f4ad820d 100644
--- a/libstdc++-v3/config/allocator/malloc_allocator_base.h
+++ b/libstdc++-v3/config/allocator/malloc_allocator_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/allocator/mt_allocator_base.h b/libstdc++-v3/config/allocator/mt_allocator_base.h
index df39e2a2584..ade2a6209c5 100644
--- a/libstdc++-v3/config/allocator/mt_allocator_base.h
+++ b/libstdc++-v3/config/allocator/mt_allocator_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/allocator/new_allocator_base.h b/libstdc++-v3/config/allocator/new_allocator_base.h
index c9b3bb20673..47a0af1af98 100644
--- a/libstdc++-v3/config/allocator/new_allocator_base.h
+++ b/libstdc++-v3/config/allocator/new_allocator_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/allocator/pool_allocator_base.h b/libstdc++-v3/config/allocator/pool_allocator_base.h
index 27432e86e32..da0f63bec8c 100644
--- a/libstdc++-v3/config/allocator/pool_allocator_base.h
+++ b/libstdc++-v3/config/allocator/pool_allocator_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/cpu/alpha/atomic_word.h b/libstdc++-v3/config/cpu/alpha/atomic_word.h
index 254e3d9ecb3..a9cc1b80dce 100644
--- a/libstdc++-v3/config/cpu/alpha/atomic_word.h
+++ b/libstdc++-v3/config/cpu/alpha/atomic_word.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/cpu/alpha/atomicity.h b/libstdc++-v3/config/cpu/alpha/atomicity.h
index 24a4feb1b64..f45b92b91f9 100644
--- a/libstdc++-v3/config/cpu/alpha/atomicity.h
+++ b/libstdc++-v3/config/cpu/alpha/atomicity.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h b/libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h
index 39a10436c2e..76c8a36400e 100644
--- a/libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h
+++ b/libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/cpu/cris/atomic_word.h b/libstdc++-v3/config/cpu/cris/atomic_word.h
index dd2cf6b834b..32565e19c40 100644
--- a/libstdc++-v3/config/cpu/cris/atomic_word.h
+++ b/libstdc++-v3/config/cpu/cris/atomic_word.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/cpu/cris/atomicity.h b/libstdc++-v3/config/cpu/cris/atomicity.h
index 38ae0de330c..f0d8f025df5 100644
--- a/libstdc++-v3/config/cpu/cris/atomicity.h
+++ b/libstdc++-v3/config/cpu/cris/atomicity.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/cpu/generic/atomic_word.h b/libstdc++-v3/config/cpu/generic/atomic_word.h
index f03f1ecbce1..43074499e98 100644
--- a/libstdc++-v3/config/cpu/generic/atomic_word.h
+++ b/libstdc++-v3/config/cpu/generic/atomic_word.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/cpu/generic/atomicity.h b/libstdc++-v3/config/cpu/generic/atomicity.h
index f30005a0abc..ddeea4afb16 100644
--- a/libstdc++-v3/config/cpu/generic/atomicity.h
+++ b/libstdc++-v3/config/cpu/generic/atomicity.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/cpu/generic/cxxabi_tweaks.h b/libstdc++-v3/config/cpu/generic/cxxabi_tweaks.h
index b5808a265dc..4b74805d8b0 100644
--- a/libstdc++-v3/config/cpu/generic/cxxabi_tweaks.h
+++ b/libstdc++-v3/config/cpu/generic/cxxabi_tweaks.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/cpu/hppa/atomicity.h b/libstdc++-v3/config/cpu/hppa/atomicity.h
index 3f711d13bbe..721dd03f68e 100644
--- a/libstdc++-v3/config/cpu/hppa/atomicity.h
+++ b/libstdc++-v3/config/cpu/hppa/atomicity.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/cpu/i386/atomicity.h b/libstdc++-v3/config/cpu/i386/atomicity.h
index 92c03d59ab3..b670509f2cb 100644
--- a/libstdc++-v3/config/cpu/i386/atomicity.h
+++ b/libstdc++-v3/config/cpu/i386/atomicity.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/cpu/i486/atomicity.h b/libstdc++-v3/config/cpu/i486/atomicity.h
index 5700bf39a7f..977070d32d9 100644
--- a/libstdc++-v3/config/cpu/i486/atomicity.h
+++ b/libstdc++-v3/config/cpu/i486/atomicity.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/cpu/ia64/atomic_word.h b/libstdc++-v3/config/cpu/ia64/atomic_word.h
index 2e49e270736..ca6fa26b257 100644
--- a/libstdc++-v3/config/cpu/ia64/atomic_word.h
+++ b/libstdc++-v3/config/cpu/ia64/atomic_word.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/cpu/ia64/atomicity.h b/libstdc++-v3/config/cpu/ia64/atomicity.h
index c651b846e99..0fd9b3b5a6a 100644
--- a/libstdc++-v3/config/cpu/ia64/atomicity.h
+++ b/libstdc++-v3/config/cpu/ia64/atomicity.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/cpu/m68k/atomicity.h b/libstdc++-v3/config/cpu/m68k/atomicity.h
index 0e58f3c5f07..880a3711478 100644
--- a/libstdc++-v3/config/cpu/m68k/atomicity.h
+++ b/libstdc++-v3/config/cpu/m68k/atomicity.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/cpu/mips/atomicity.h b/libstdc++-v3/config/cpu/mips/atomicity.h
index ecfb6968594..561cd35f41b 100644
--- a/libstdc++-v3/config/cpu/mips/atomicity.h
+++ b/libstdc++-v3/config/cpu/mips/atomicity.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/cpu/powerpc/atomic_word.h b/libstdc++-v3/config/cpu/powerpc/atomic_word.h
index ff418cc540d..2a5d192c54b 100644
--- a/libstdc++-v3/config/cpu/powerpc/atomic_word.h
+++ b/libstdc++-v3/config/cpu/powerpc/atomic_word.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/cpu/powerpc/atomicity.h b/libstdc++-v3/config/cpu/powerpc/atomicity.h
index d3e1e7464e4..49ad7188822 100644
--- a/libstdc++-v3/config/cpu/powerpc/atomicity.h
+++ b/libstdc++-v3/config/cpu/powerpc/atomicity.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/cpu/s390/atomicity.h b/libstdc++-v3/config/cpu/s390/atomicity.h
index 5a235940c8c..1332012d3d4 100644
--- a/libstdc++-v3/config/cpu/s390/atomicity.h
+++ b/libstdc++-v3/config/cpu/s390/atomicity.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/cpu/sh/atomicity.h b/libstdc++-v3/config/cpu/sh/atomicity.h
index b7d6c605d72..8760c8b39b3 100644
--- a/libstdc++-v3/config/cpu/sh/atomicity.h
+++ b/libstdc++-v3/config/cpu/sh/atomicity.h
@@ -1,6 +1,7 @@
// Low-level functions for atomic operations: Generic version -*- C++ -*-
-// Copyright (C) 1999, 2001, 2002, 2003 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005
+// Free Software Foundation, Inc.
//
// This 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,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -69,55 +70,38 @@ __atomic_add (volatile _Atomic_word* __mem, int __val)
: "r0");
}
-#else
+#else /* !__SH4A__ */
/* This is generic/atomicity.h */
-#include <bits/gthr.h>
+#include <bits/atomicity.h>
+#include <bits/concurrence.h>
-#define _GLIBCPP_NEED_GENERIC_MUTEX
-
-typedef int _Atomic_word;
-
-namespace __gnu_cxx
+namespace __gnu_internal
{
- extern __gthread_mutex_t _Atomic_add_mutex;
-
-#ifndef __GTHREAD_MUTEX_INIT
- extern __gthread_once_t _Atomic_add_mutex_once;
- extern void __gthread_atomic_add_mutex_once();
-#endif
-}
-
-static inline _Atomic_word
-__attribute__ ((__unused__))
-__exchange_and_add (volatile _Atomic_word* __mem, int __val)
-{
-#ifndef __GTHREAD_MUTEX_INIT
- __gthread_once (&__gnu_cxx::_Atomic_add_mutex_once,
- __gnu_cxx::__gthread_atomic_add_mutex_once);
-#endif
-
- _Atomic_word __result;
+ __glibcxx_mutex_define_initialized(atomic_mutex);
+} // namespace __gnu_internal
- __gthread_mutex_lock (&__gnu_cxx::_Atomic_add_mutex);
-
- __result = *__mem;
- *__mem += __val;
-
- __gthread_mutex_unlock (&__gnu_cxx::_Atomic_add_mutex);
- return __result;
-}
-
-
-static inline void
-__attribute__ ((__unused__))
-__atomic_add (volatile _Atomic_word* __mem, int __val)
+namespace __gnu_cxx
{
- (void) __exchange_and_add (__mem, __val);
-}
-
-
-#endif
+ _Atomic_word
+ __attribute__ ((__unused__))
+ __exchange_and_add(volatile _Atomic_word* __mem, int __val)
+ {
+ __glibcxx_mutex_lock(__gnu_internal::atomic_mutex);
+ _Atomic_word __result;
+ __result = *__mem;
+ *__mem += __val;
+ __glibcxx_mutex_unlock(__gnu_internal::atomic_mutex);
+ return __result;
+ }
+
+ void
+ __attribute__ ((__unused__))
+ __atomic_add(volatile _Atomic_word* __mem, int __val)
+ { __exchange_and_add(__mem, __val); }
+} // namespace __gnu_cxx
+
+#endif /* !__SH4A__ */
#endif /* atomicity.h */
diff --git a/libstdc++-v3/config/cpu/sparc/atomic_word.h b/libstdc++-v3/config/cpu/sparc/atomic_word.h
index 59b1a2c9df6..b146045a5e9 100644
--- a/libstdc++-v3/config/cpu/sparc/atomic_word.h
+++ b/libstdc++-v3/config/cpu/sparc/atomic_word.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/cpu/sparc/atomicity.h b/libstdc++-v3/config/cpu/sparc/atomicity.h
index a39153b7139..e49db77eb30 100644
--- a/libstdc++-v3/config/cpu/sparc/atomicity.h
+++ b/libstdc++-v3/config/cpu/sparc/atomicity.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/io/basic_file_stdio.cc b/libstdc++-v3/config/io/basic_file_stdio.cc
index c5cbf04b8da..071d0b3171f 100644
--- a/libstdc++-v3/config/io/basic_file_stdio.cc
+++ b/libstdc++-v3/config/io/basic_file_stdio.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/io/basic_file_stdio.h b/libstdc++-v3/config/io/basic_file_stdio.h
index 6aa031b507d..7264f0386ed 100644
--- a/libstdc++-v3/config/io/basic_file_stdio.h
+++ b/libstdc++-v3/config/io/basic_file_stdio.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/io/c_io_stdio.h b/libstdc++-v3/config/io/c_io_stdio.h
index 5659c139730..b756ebda2e3 100644
--- a/libstdc++-v3/config/io/c_io_stdio.h
+++ b/libstdc++-v3/config/io/c_io_stdio.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/linker-map.gnu b/libstdc++-v3/config/linker-map.gnu
index 065b1642a7f..3099bfb6817 100644
--- a/libstdc++-v3/config/linker-map.gnu
+++ b/libstdc++-v3/config/linker-map.gnu
@@ -17,7 +17,7 @@
##
## You should have received a copy of the GNU General Public License along
## with this library; see the file COPYING. If not, write to the Free
-## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+## Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
## USA.
GLIBCXX_3.4 {
@@ -566,7 +566,6 @@ GLIBCXX_3.4.6 {
_ZNSt8ios_base17_M_call_callbacksENS_5eventE;
_ZNSt8ios_base20_M_dispose_callbacksEv;
_ZNSt6locale5facet13_S_get_c_nameEv;
- _ZN11__gnu_debug13__fancy_abortEPKciS1_S1_;
_ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE9showmanycEv;
diff --git a/libstdc++-v3/config/locale/darwin/ctype_members.cc b/libstdc++-v3/config/locale/darwin/ctype_members.cc
index 9c54301ea63..c2a5c4ac500 100644
--- a/libstdc++-v3/config/locale/darwin/ctype_members.cc
+++ b/libstdc++-v3/config/locale/darwin/ctype_members.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/locale/generic/c++locale_internal.h b/libstdc++-v3/config/locale/generic/c++locale_internal.h
index fb263528bb0..2ad85e52503 100644
--- a/libstdc++-v3/config/locale/generic/c++locale_internal.h
+++ b/libstdc++-v3/config/locale/generic/c++locale_internal.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/locale/generic/c_locale.cc b/libstdc++-v3/config/locale/generic/c_locale.cc
index eee8e067cd3..d6f67eeae6f 100644
--- a/libstdc++-v3/config/locale/generic/c_locale.cc
+++ b/libstdc++-v3/config/locale/generic/c_locale.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/locale/generic/c_locale.h b/libstdc++-v3/config/locale/generic/c_locale.h
index 7b2282b04f6..cf636ae4f3f 100644
--- a/libstdc++-v3/config/locale/generic/c_locale.h
+++ b/libstdc++-v3/config/locale/generic/c_locale.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/locale/generic/codecvt_members.cc b/libstdc++-v3/config/locale/generic/codecvt_members.cc
index 8bdc22779ad..3cd35ace879 100644
--- a/libstdc++-v3/config/locale/generic/codecvt_members.cc
+++ b/libstdc++-v3/config/locale/generic/codecvt_members.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/locale/generic/collate_members.cc b/libstdc++-v3/config/locale/generic/collate_members.cc
index 9547f71cf77..d94599ec295 100644
--- a/libstdc++-v3/config/locale/generic/collate_members.cc
+++ b/libstdc++-v3/config/locale/generic/collate_members.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/locale/generic/ctype_members.cc b/libstdc++-v3/config/locale/generic/ctype_members.cc
index 835802080b6..246861707e3 100644
--- a/libstdc++-v3/config/locale/generic/ctype_members.cc
+++ b/libstdc++-v3/config/locale/generic/ctype_members.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/locale/generic/messages_members.cc b/libstdc++-v3/config/locale/generic/messages_members.cc
index 6edca38e753..96e55c19222 100644
--- a/libstdc++-v3/config/locale/generic/messages_members.cc
+++ b/libstdc++-v3/config/locale/generic/messages_members.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/locale/generic/messages_members.h b/libstdc++-v3/config/locale/generic/messages_members.h
index 4a2ff4aba1e..2fa173360d4 100644
--- a/libstdc++-v3/config/locale/generic/messages_members.h
+++ b/libstdc++-v3/config/locale/generic/messages_members.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/locale/generic/monetary_members.cc b/libstdc++-v3/config/locale/generic/monetary_members.cc
index 71ad6d218b1..3a984586796 100644
--- a/libstdc++-v3/config/locale/generic/monetary_members.cc
+++ b/libstdc++-v3/config/locale/generic/monetary_members.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/locale/generic/numeric_members.cc b/libstdc++-v3/config/locale/generic/numeric_members.cc
index 62017e02d17..cc2fc788bc0 100644
--- a/libstdc++-v3/config/locale/generic/numeric_members.cc
+++ b/libstdc++-v3/config/locale/generic/numeric_members.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/locale/generic/time_members.cc b/libstdc++-v3/config/locale/generic/time_members.cc
index f27b2a09f43..f13ea19e4c6 100644
--- a/libstdc++-v3/config/locale/generic/time_members.cc
+++ b/libstdc++-v3/config/locale/generic/time_members.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/locale/generic/time_members.h b/libstdc++-v3/config/locale/generic/time_members.h
index 9801300ceca..deea0c8fedd 100644
--- a/libstdc++-v3/config/locale/generic/time_members.h
+++ b/libstdc++-v3/config/locale/generic/time_members.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/locale/gnu/c++locale_internal.h b/libstdc++-v3/config/locale/gnu/c++locale_internal.h
index dc049effe47..d9354eb5277 100644
--- a/libstdc++-v3/config/locale/gnu/c++locale_internal.h
+++ b/libstdc++-v3/config/locale/gnu/c++locale_internal.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/locale/gnu/c_locale.cc b/libstdc++-v3/config/locale/gnu/c_locale.cc
index c83aa56f6ea..493ad4b2ca3 100644
--- a/libstdc++-v3/config/locale/gnu/c_locale.cc
+++ b/libstdc++-v3/config/locale/gnu/c_locale.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/locale/gnu/c_locale.h b/libstdc++-v3/config/locale/gnu/c_locale.h
index c9955062353..d28caf8a4c9 100644
--- a/libstdc++-v3/config/locale/gnu/c_locale.h
+++ b/libstdc++-v3/config/locale/gnu/c_locale.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/locale/gnu/codecvt_members.cc b/libstdc++-v3/config/locale/gnu/codecvt_members.cc
index 3a3e324fee9..ae2bc77f3b8 100644
--- a/libstdc++-v3/config/locale/gnu/codecvt_members.cc
+++ b/libstdc++-v3/config/locale/gnu/codecvt_members.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/locale/gnu/collate_members.cc b/libstdc++-v3/config/locale/gnu/collate_members.cc
index 573aa651f79..a0a08772c7c 100644
--- a/libstdc++-v3/config/locale/gnu/collate_members.cc
+++ b/libstdc++-v3/config/locale/gnu/collate_members.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/locale/gnu/ctype_members.cc b/libstdc++-v3/config/locale/gnu/ctype_members.cc
index a006929ac8e..3082b41f80d 100644
--- a/libstdc++-v3/config/locale/gnu/ctype_members.cc
+++ b/libstdc++-v3/config/locale/gnu/ctype_members.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/locale/gnu/messages_members.cc b/libstdc++-v3/config/locale/gnu/messages_members.cc
index 1aa9c068e7f..c3fc4b5208c 100644
--- a/libstdc++-v3/config/locale/gnu/messages_members.cc
+++ b/libstdc++-v3/config/locale/gnu/messages_members.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/locale/gnu/messages_members.h b/libstdc++-v3/config/locale/gnu/messages_members.h
index a7cd1cd02de..92081e3e376 100644
--- a/libstdc++-v3/config/locale/gnu/messages_members.h
+++ b/libstdc++-v3/config/locale/gnu/messages_members.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/locale/gnu/monetary_members.cc b/libstdc++-v3/config/locale/gnu/monetary_members.cc
index 20d96420192..ba7e242f932 100644
--- a/libstdc++-v3/config/locale/gnu/monetary_members.cc
+++ b/libstdc++-v3/config/locale/gnu/monetary_members.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/locale/gnu/numeric_members.cc b/libstdc++-v3/config/locale/gnu/numeric_members.cc
index a68dc3a772b..8e580f50a34 100644
--- a/libstdc++-v3/config/locale/gnu/numeric_members.cc
+++ b/libstdc++-v3/config/locale/gnu/numeric_members.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/locale/gnu/time_members.cc b/libstdc++-v3/config/locale/gnu/time_members.cc
index 1d12e8069b6..bd91dc4dcf2 100644
--- a/libstdc++-v3/config/locale/gnu/time_members.cc
+++ b/libstdc++-v3/config/locale/gnu/time_members.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/locale/gnu/time_members.h b/libstdc++-v3/config/locale/gnu/time_members.h
index 9cb3594ca07..37a01ef4793 100644
--- a/libstdc++-v3/config/locale/gnu/time_members.h
+++ b/libstdc++-v3/config/locale/gnu/time_members.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 3419355f605..36db96979a4 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 4c68f2758ea..1be2d0ab04b 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 b37209f89dc..c5b9de99549 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 ce82eb8cdf8..685218a252b 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/aix/atomic_word.h b/libstdc++-v3/config/os/aix/atomic_word.h
index 5834bbc80ec..9ac823cb6bb 100644
--- a/libstdc++-v3/config/os/aix/atomic_word.h
+++ b/libstdc++-v3/config/os/aix/atomic_word.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/aix/atomicity.h b/libstdc++-v3/config/os/aix/atomicity.h
index dad8aae0932..123766cc8a5 100644
--- a/libstdc++-v3/config/os/aix/atomicity.h
+++ b/libstdc++-v3/config/os/aix/atomicity.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/aix/ctype_base.h b/libstdc++-v3/config/os/aix/ctype_base.h
index adcd1ceba13..1b5264aaeb9 100644
--- a/libstdc++-v3/config/os/aix/ctype_base.h
+++ b/libstdc++-v3/config/os/aix/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/aix/ctype_inline.h b/libstdc++-v3/config/os/aix/ctype_inline.h
index d9df620b010..780d92e376f 100644
--- a/libstdc++-v3/config/os/aix/ctype_inline.h
+++ b/libstdc++-v3/config/os/aix/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/aix/ctype_noninline.h b/libstdc++-v3/config/os/aix/ctype_noninline.h
index edd8d82f3f6..46e01a06544 100644
--- a/libstdc++-v3/config/os/aix/ctype_noninline.h
+++ b/libstdc++-v3/config/os/aix/ctype_noninline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/aix/os_defines.h b/libstdc++-v3/config/os/aix/os_defines.h
index 8d445c434ea..c2be9f1b46f 100644
--- a/libstdc++-v3/config/os/aix/os_defines.h
+++ b/libstdc++-v3/config/os/aix/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/bsd/darwin/ctype_base.h b/libstdc++-v3/config/os/bsd/darwin/ctype_base.h
index caaf23ba0ef..95307953bfa 100644
--- a/libstdc++-v3/config/os/bsd/darwin/ctype_base.h
+++ b/libstdc++-v3/config/os/bsd/darwin/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/bsd/darwin/ctype_inline.h b/libstdc++-v3/config/os/bsd/darwin/ctype_inline.h
index 31b6286a97b..9d1694dc2d3 100644
--- a/libstdc++-v3/config/os/bsd/darwin/ctype_inline.h
+++ b/libstdc++-v3/config/os/bsd/darwin/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/bsd/darwin/ctype_noninline.h b/libstdc++-v3/config/os/bsd/darwin/ctype_noninline.h
index ec5b5753547..0eb91d06867 100644
--- a/libstdc++-v3/config/os/bsd/darwin/ctype_noninline.h
+++ b/libstdc++-v3/config/os/bsd/darwin/ctype_noninline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/bsd/darwin/os_defines.h b/libstdc++-v3/config/os/bsd/darwin/os_defines.h
index 07fb55b6125..f95e587c085 100644
--- a/libstdc++-v3/config/os/bsd/darwin/os_defines.h
+++ b/libstdc++-v3/config/os/bsd/darwin/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/bsd/freebsd/ctype_base.h b/libstdc++-v3/config/os/bsd/freebsd/ctype_base.h
index f44a7c7b96c..5d212576edc 100644
--- a/libstdc++-v3/config/os/bsd/freebsd/ctype_base.h
+++ b/libstdc++-v3/config/os/bsd/freebsd/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h b/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h
index 37425b65da8..0ccdcf0a39a 100644
--- a/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h
+++ b/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/bsd/freebsd/ctype_noninline.h b/libstdc++-v3/config/os/bsd/freebsd/ctype_noninline.h
index ec5b5753547..0eb91d06867 100644
--- a/libstdc++-v3/config/os/bsd/freebsd/ctype_noninline.h
+++ b/libstdc++-v3/config/os/bsd/freebsd/ctype_noninline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/bsd/freebsd/os_defines.h b/libstdc++-v3/config/os/bsd/freebsd/os_defines.h
index 1e467129025..7f3e7d88c7a 100644
--- a/libstdc++-v3/config/os/bsd/freebsd/os_defines.h
+++ b/libstdc++-v3/config/os/bsd/freebsd/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h b/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h
index ceea8acbc90..68a7bf4282d 100644
--- a/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h
+++ b/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h b/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h
index f6dfc4d7f65..733dd391fa7 100644
--- a/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h
+++ b/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h b/libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h
index 70bf41c22e1..44e2f73eb52 100644
--- a/libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h
+++ b/libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/bsd/netbsd/os_defines.h b/libstdc++-v3/config/os/bsd/netbsd/os_defines.h
index a7f25303be2..d40636678cb 100644
--- a/libstdc++-v3/config/os/bsd/netbsd/os_defines.h
+++ b/libstdc++-v3/config/os/bsd/netbsd/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/djgpp/ctype_base.h b/libstdc++-v3/config/os/djgpp/ctype_base.h
index 778847c1504..b403769b8c2 100644
--- a/libstdc++-v3/config/os/djgpp/ctype_base.h
+++ b/libstdc++-v3/config/os/djgpp/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/djgpp/ctype_inline.h b/libstdc++-v3/config/os/djgpp/ctype_inline.h
index 21958c43641..2758d015518 100644
--- a/libstdc++-v3/config/os/djgpp/ctype_inline.h
+++ b/libstdc++-v3/config/os/djgpp/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/djgpp/ctype_noninline.h b/libstdc++-v3/config/os/djgpp/ctype_noninline.h
index eda2679ed3c..bb05583e57b 100644
--- a/libstdc++-v3/config/os/djgpp/ctype_noninline.h
+++ b/libstdc++-v3/config/os/djgpp/ctype_noninline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/djgpp/os_defines.h b/libstdc++-v3/config/os/djgpp/os_defines.h
index c852ce831b3..56bb072226e 100644
--- a/libstdc++-v3/config/os/djgpp/os_defines.h
+++ b/libstdc++-v3/config/os/djgpp/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/generic/ctype_base.h b/libstdc++-v3/config/os/generic/ctype_base.h
index 03fccce92aa..5e20386cf29 100644
--- a/libstdc++-v3/config/os/generic/ctype_base.h
+++ b/libstdc++-v3/config/os/generic/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/generic/ctype_inline.h b/libstdc++-v3/config/os/generic/ctype_inline.h
index 5f24fe69a79..d611e3b7687 100644
--- a/libstdc++-v3/config/os/generic/ctype_inline.h
+++ b/libstdc++-v3/config/os/generic/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/generic/ctype_noninline.h b/libstdc++-v3/config/os/generic/ctype_noninline.h
index e30348e6058..f85ba07bcf5 100644
--- a/libstdc++-v3/config/os/generic/ctype_noninline.h
+++ b/libstdc++-v3/config/os/generic/ctype_noninline.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/generic/os_defines.h b/libstdc++-v3/config/os/generic/os_defines.h
index 303049bfab2..8208a36bf35 100644
--- a/libstdc++-v3/config/os/generic/os_defines.h
+++ b/libstdc++-v3/config/os/generic/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/gnu-linux/ctype_base.h b/libstdc++-v3/config/os/gnu-linux/ctype_base.h
index 3a34bc602bd..12cfdbfcd07 100644
--- a/libstdc++-v3/config/os/gnu-linux/ctype_base.h
+++ b/libstdc++-v3/config/os/gnu-linux/ctype_base.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/gnu-linux/ctype_inline.h b/libstdc++-v3/config/os/gnu-linux/ctype_inline.h
index af409c87629..a2781e91d16 100644
--- a/libstdc++-v3/config/os/gnu-linux/ctype_inline.h
+++ b/libstdc++-v3/config/os/gnu-linux/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/gnu-linux/ctype_noninline.h b/libstdc++-v3/config/os/gnu-linux/ctype_noninline.h
index 925a5d0122f..b2377d44604 100644
--- a/libstdc++-v3/config/os/gnu-linux/ctype_noninline.h
+++ b/libstdc++-v3/config/os/gnu-linux/ctype_noninline.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/gnu-linux/os_defines.h b/libstdc++-v3/config/os/gnu-linux/os_defines.h
index 0e0194aea75..8876d7f5fd6 100644
--- a/libstdc++-v3/config/os/gnu-linux/os_defines.h
+++ b/libstdc++-v3/config/os/gnu-linux/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/hpux/ctype_base.h b/libstdc++-v3/config/os/hpux/ctype_base.h
index 53bbe236ab6..e8e55afed6b 100644
--- a/libstdc++-v3/config/os/hpux/ctype_base.h
+++ b/libstdc++-v3/config/os/hpux/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/hpux/ctype_inline.h b/libstdc++-v3/config/os/hpux/ctype_inline.h
index af409c87629..a2781e91d16 100644
--- a/libstdc++-v3/config/os/hpux/ctype_inline.h
+++ b/libstdc++-v3/config/os/hpux/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/hpux/ctype_noninline.h b/libstdc++-v3/config/os/hpux/ctype_noninline.h
index 00e338b6e06..b258dfeb85c 100644
--- a/libstdc++-v3/config/os/hpux/ctype_noninline.h
+++ b/libstdc++-v3/config/os/hpux/ctype_noninline.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/hpux/os_defines.h b/libstdc++-v3/config/os/hpux/os_defines.h
index ed790645a79..351b6af7255 100644
--- a/libstdc++-v3/config/os/hpux/os_defines.h
+++ b/libstdc++-v3/config/os/hpux/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/irix/atomic_word.h b/libstdc++-v3/config/os/irix/atomic_word.h
index 68b8101c737..f27e7e26bdf 100644
--- a/libstdc++-v3/config/os/irix/atomic_word.h
+++ b/libstdc++-v3/config/os/irix/atomic_word.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/irix/atomicity.h b/libstdc++-v3/config/os/irix/atomicity.h
index 83e9e029338..24b17c99484 100644
--- a/libstdc++-v3/config/os/irix/atomicity.h
+++ b/libstdc++-v3/config/os/irix/atomicity.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/irix/irix5.2/ctype_base.h b/libstdc++-v3/config/os/irix/irix5.2/ctype_base.h
index 2626cd3c062..93363850f8e 100644
--- a/libstdc++-v3/config/os/irix/irix5.2/ctype_base.h
+++ b/libstdc++-v3/config/os/irix/irix5.2/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/irix/irix5.2/ctype_inline.h b/libstdc++-v3/config/os/irix/irix5.2/ctype_inline.h
index 89cf11b259b..0c2e7b29b59 100644
--- a/libstdc++-v3/config/os/irix/irix5.2/ctype_inline.h
+++ b/libstdc++-v3/config/os/irix/irix5.2/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/irix/irix5.2/ctype_noninline.h b/libstdc++-v3/config/os/irix/irix5.2/ctype_noninline.h
index 2aeb50c658b..2990a776e89 100644
--- a/libstdc++-v3/config/os/irix/irix5.2/ctype_noninline.h
+++ b/libstdc++-v3/config/os/irix/irix5.2/ctype_noninline.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/irix/irix5.2/os_defines.h b/libstdc++-v3/config/os/irix/irix5.2/os_defines.h
index 3d84c830673..2b301ce9fd3 100644
--- a/libstdc++-v3/config/os/irix/irix5.2/os_defines.h
+++ b/libstdc++-v3/config/os/irix/irix5.2/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/irix/irix6.5/ctype_base.h b/libstdc++-v3/config/os/irix/irix6.5/ctype_base.h
index d4d20030057..c2930a23841 100644
--- a/libstdc++-v3/config/os/irix/irix6.5/ctype_base.h
+++ b/libstdc++-v3/config/os/irix/irix6.5/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/irix/irix6.5/ctype_inline.h b/libstdc++-v3/config/os/irix/irix6.5/ctype_inline.h
index 8c10c4d17ff..69e1d51ed24 100644
--- a/libstdc++-v3/config/os/irix/irix6.5/ctype_inline.h
+++ b/libstdc++-v3/config/os/irix/irix6.5/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/irix/irix6.5/ctype_noninline.h b/libstdc++-v3/config/os/irix/irix6.5/ctype_noninline.h
index 8fdf95ef7a9..5ecf293c6fa 100644
--- a/libstdc++-v3/config/os/irix/irix6.5/ctype_noninline.h
+++ b/libstdc++-v3/config/os/irix/irix6.5/ctype_noninline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/irix/irix6.5/os_defines.h b/libstdc++-v3/config/os/irix/irix6.5/os_defines.h
index bc6c7464e51..35f29d09af9 100644
--- a/libstdc++-v3/config/os/irix/irix6.5/os_defines.h
+++ b/libstdc++-v3/config/os/irix/irix6.5/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/mingw32/ctype_base.h b/libstdc++-v3/config/os/mingw32/ctype_base.h
index c077594a964..c32689d29c4 100644
--- a/libstdc++-v3/config/os/mingw32/ctype_base.h
+++ b/libstdc++-v3/config/os/mingw32/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/mingw32/ctype_inline.h b/libstdc++-v3/config/os/mingw32/ctype_inline.h
index 979d607bfc0..ee1fff719fd 100644
--- a/libstdc++-v3/config/os/mingw32/ctype_inline.h
+++ b/libstdc++-v3/config/os/mingw32/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/mingw32/ctype_noninline.h b/libstdc++-v3/config/os/mingw32/ctype_noninline.h
index e493d403030..b61f6168872 100644
--- a/libstdc++-v3/config/os/mingw32/ctype_noninline.h
+++ b/libstdc++-v3/config/os/mingw32/ctype_noninline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/mingw32/os_defines.h b/libstdc++-v3/config/os/mingw32/os_defines.h
index 20088868a39..5852d438bb0 100644
--- a/libstdc++-v3/config/os/mingw32/os_defines.h
+++ b/libstdc++-v3/config/os/mingw32/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/newlib/ctype_base.h b/libstdc++-v3/config/os/newlib/ctype_base.h
index 973d41053b2..03a6e713b15 100644
--- a/libstdc++-v3/config/os/newlib/ctype_base.h
+++ b/libstdc++-v3/config/os/newlib/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/newlib/ctype_inline.h b/libstdc++-v3/config/os/newlib/ctype_inline.h
index 8381aced9cd..459b9174f78 100644
--- a/libstdc++-v3/config/os/newlib/ctype_inline.h
+++ b/libstdc++-v3/config/os/newlib/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/newlib/ctype_noninline.h b/libstdc++-v3/config/os/newlib/ctype_noninline.h
index d0cce941b4c..bc0e2b51058 100644
--- a/libstdc++-v3/config/os/newlib/ctype_noninline.h
+++ b/libstdc++-v3/config/os/newlib/ctype_noninline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/newlib/os_defines.h b/libstdc++-v3/config/os/newlib/os_defines.h
index 0b0a6297955..c3f93adfa12 100644
--- a/libstdc++-v3/config/os/newlib/os_defines.h
+++ b/libstdc++-v3/config/os/newlib/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 3d4800bb551..c9076a07b0e 100644
--- a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h
+++ b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 24e01599672..54e0581410f 100644
--- a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_inline.h
+++ b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_noninline.h b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_noninline.h
index 2eef13a7e65..a7bd30d7cfe 100644
--- a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_noninline.h
+++ b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_noninline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 929331cbdfc..c037acd2181 100644
--- a/libstdc++-v3/config/os/qnx/qnx6.1/os_defines.h
+++ b/libstdc++-v3/config/os/qnx/qnx6.1/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/solaris/solaris2.5/ctype_base.h b/libstdc++-v3/config/os/solaris/solaris2.5/ctype_base.h
index d4f3fe75e69..8ab9867de5c 100644
--- a/libstdc++-v3/config/os/solaris/solaris2.5/ctype_base.h
+++ b/libstdc++-v3/config/os/solaris/solaris2.5/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/solaris/solaris2.5/ctype_inline.h b/libstdc++-v3/config/os/solaris/solaris2.5/ctype_inline.h
index 93a04aa1b6d..de457036ff8 100644
--- a/libstdc++-v3/config/os/solaris/solaris2.5/ctype_inline.h
+++ b/libstdc++-v3/config/os/solaris/solaris2.5/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/solaris/solaris2.5/ctype_noninline.h b/libstdc++-v3/config/os/solaris/solaris2.5/ctype_noninline.h
index a80863653ff..0ac8e0e4d6d 100644
--- a/libstdc++-v3/config/os/solaris/solaris2.5/ctype_noninline.h
+++ b/libstdc++-v3/config/os/solaris/solaris2.5/ctype_noninline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/solaris/solaris2.5/os_defines.h b/libstdc++-v3/config/os/solaris/solaris2.5/os_defines.h
index 89fab4cfaeb..0c3c324d0ab 100644
--- a/libstdc++-v3/config/os/solaris/solaris2.5/os_defines.h
+++ b/libstdc++-v3/config/os/solaris/solaris2.5/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/solaris/solaris2.6/ctype_base.h b/libstdc++-v3/config/os/solaris/solaris2.6/ctype_base.h
index c1447e6078b..0eda8ff7a10 100644
--- a/libstdc++-v3/config/os/solaris/solaris2.6/ctype_base.h
+++ b/libstdc++-v3/config/os/solaris/solaris2.6/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/solaris/solaris2.6/ctype_inline.h b/libstdc++-v3/config/os/solaris/solaris2.6/ctype_inline.h
index 0bd56a19702..8e69b55b79f 100644
--- a/libstdc++-v3/config/os/solaris/solaris2.6/ctype_inline.h
+++ b/libstdc++-v3/config/os/solaris/solaris2.6/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/solaris/solaris2.6/ctype_noninline.h b/libstdc++-v3/config/os/solaris/solaris2.6/ctype_noninline.h
index 694901a5dc7..032dbe99582 100644
--- a/libstdc++-v3/config/os/solaris/solaris2.6/ctype_noninline.h
+++ b/libstdc++-v3/config/os/solaris/solaris2.6/ctype_noninline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/solaris/solaris2.6/os_defines.h b/libstdc++-v3/config/os/solaris/solaris2.6/os_defines.h
index 1dc06449f64..3a0494b84c4 100644
--- a/libstdc++-v3/config/os/solaris/solaris2.6/os_defines.h
+++ b/libstdc++-v3/config/os/solaris/solaris2.6/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/solaris/solaris2.7/ctype_base.h b/libstdc++-v3/config/os/solaris/solaris2.7/ctype_base.h
index 22be35875a0..8988943daf5 100644
--- a/libstdc++-v3/config/os/solaris/solaris2.7/ctype_base.h
+++ b/libstdc++-v3/config/os/solaris/solaris2.7/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/solaris/solaris2.7/ctype_inline.h b/libstdc++-v3/config/os/solaris/solaris2.7/ctype_inline.h
index af409c87629..a2781e91d16 100644
--- a/libstdc++-v3/config/os/solaris/solaris2.7/ctype_inline.h
+++ b/libstdc++-v3/config/os/solaris/solaris2.7/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/solaris/solaris2.7/ctype_noninline.h b/libstdc++-v3/config/os/solaris/solaris2.7/ctype_noninline.h
index d4917f069cb..a0c35ae3051 100644
--- a/libstdc++-v3/config/os/solaris/solaris2.7/ctype_noninline.h
+++ b/libstdc++-v3/config/os/solaris/solaris2.7/ctype_noninline.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/solaris/solaris2.7/os_defines.h b/libstdc++-v3/config/os/solaris/solaris2.7/os_defines.h
index 4ced192fbd8..f2ecd8d8125 100644
--- a/libstdc++-v3/config/os/solaris/solaris2.7/os_defines.h
+++ b/libstdc++-v3/config/os/solaris/solaris2.7/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/tpf/ctype_base.h b/libstdc++-v3/config/os/tpf/ctype_base.h
index 0461f3a6f72..cdb2b992d40 100644
--- a/libstdc++-v3/config/os/tpf/ctype_base.h
+++ b/libstdc++-v3/config/os/tpf/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/tpf/ctype_inline.h b/libstdc++-v3/config/os/tpf/ctype_inline.h
index 3f2f32d1607..8e78a13fa5d 100644
--- a/libstdc++-v3/config/os/tpf/ctype_inline.h
+++ b/libstdc++-v3/config/os/tpf/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/tpf/ctype_noninline.h b/libstdc++-v3/config/os/tpf/ctype_noninline.h
index 3735b56122b..c4a4e6c3830 100644
--- a/libstdc++-v3/config/os/tpf/ctype_noninline.h
+++ b/libstdc++-v3/config/os/tpf/ctype_noninline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/tpf/os_defines.h b/libstdc++-v3/config/os/tpf/os_defines.h
index 40ee13aebd5..4fed12ae304 100644
--- a/libstdc++-v3/config/os/tpf/os_defines.h
+++ b/libstdc++-v3/config/os/tpf/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/vxworks/ctype_base.h b/libstdc++-v3/config/os/vxworks/ctype_base.h
index 2a34561618f..abdfbc77304 100644
--- a/libstdc++-v3/config/os/vxworks/ctype_base.h
+++ b/libstdc++-v3/config/os/vxworks/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/vxworks/ctype_inline.h b/libstdc++-v3/config/os/vxworks/ctype_inline.h
index f5cc78b8e75..0da07b3210a 100644
--- a/libstdc++-v3/config/os/vxworks/ctype_inline.h
+++ b/libstdc++-v3/config/os/vxworks/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/vxworks/ctype_noninline.h b/libstdc++-v3/config/os/vxworks/ctype_noninline.h
index acf91a4aa55..429f43ce850 100644
--- a/libstdc++-v3/config/os/vxworks/ctype_noninline.h
+++ b/libstdc++-v3/config/os/vxworks/ctype_noninline.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/vxworks/os_defines.h b/libstdc++-v3/config/os/vxworks/os_defines.h
index c5f04ff6357..4b51ced7cac 100644
--- a/libstdc++-v3/config/os/vxworks/os_defines.h
+++ b/libstdc++-v3/config/os/vxworks/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/windiss/ctype_base.h b/libstdc++-v3/config/os/windiss/ctype_base.h
index acd05269d43..5b4c7c1bedd 100644
--- a/libstdc++-v3/config/os/windiss/ctype_base.h
+++ b/libstdc++-v3/config/os/windiss/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/windiss/ctype_inline.h b/libstdc++-v3/config/os/windiss/ctype_inline.h
index 1e20515979e..f4a6c482068 100644
--- a/libstdc++-v3/config/os/windiss/ctype_inline.h
+++ b/libstdc++-v3/config/os/windiss/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/windiss/ctype_noninline.h b/libstdc++-v3/config/os/windiss/ctype_noninline.h
index cf75ddfd96c..e9c1beba338 100644
--- a/libstdc++-v3/config/os/windiss/ctype_noninline.h
+++ b/libstdc++-v3/config/os/windiss/ctype_noninline.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/config/os/windiss/os_defines.h b/libstdc++-v3/config/os/windiss/os_defines.h
index 136733ee8e2..154e03d5071 100644
--- a/libstdc++-v3/config/os/windiss/os_defines.h
+++ b/libstdc++-v3/config/os/windiss/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index b679737757c..1a32ed4d2f7 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -309,7 +309,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libtool_VERSION multi_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar glibcxx_builddir glibcxx_srcdir toplevel_srcdir CC ac_ct_CC EXEEXT OBJEXT CXX ac_ct_CXX CFLAGS CXXFLAGS LN_S AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBTOOL CXXCPP CPPFLAGS enable_shared enable_static GLIBCXX_HOSTED_TRUE GLIBCXX_HOSTED_FALSE GLIBCXX_BUILD_PCH_TRUE GLIBCXX_BUILD_PCH_FALSE glibcxx_PCHFLAGS CSTDIO_H BASIC_FILE_H BASIC_FILE_CC CPP EGREP check_msgfmt glibcxx_MOFILES glibcxx_POFILES glibcxx_localedir USE_NLS CLOCALE_H CMESSAGES_H CCODECVT_CC CCOLLATE_CC CCTYPE_CC CMESSAGES_CC CMONEY_CC CNUMERIC_CC CTIME_H CTIME_CC CLOCALE_CC CLOCALE_INTERNAL_H ALLOCATOR_H ALLOCATOR_NAME C_INCLUDE_DIR GLIBCXX_C_HEADERS_C_TRUE GLIBCXX_C_HEADERS_C_FALSE GLIBCXX_C_HEADERS_C_STD_TRUE GLIBCXX_C_HEADERS_C_STD_FALSE GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE DEBUG_FLAGS GLIBCXX_BUILD_DEBUG_TRUE GLIBCXX_BUILD_DEBUG_FALSE EXTRA_CXX_FLAGS glibcxx_thread_h WERROR SECTION_FLAGS SECTION_LDFLAGS OPT_LDFLAGS LIBMATHOBJS LIBICONV SYMVER_MAP port_specific_symbol_files GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE baseline_dir ATOMICITY_SRCDIR ATOMIC_WORD_SRCDIR ABI_TWEAKS_SRCDIR OS_INC_SRCDIR glibcxx_prefixdir gxx_include_dir glibcxx_toolexecdir glibcxx_toolexeclibdir GLIBCXX_INCLUDES TOPLEVEL_INCLUDES OPTIMIZE_CXXFLAGS WARN_FLAGS LIBSUPCXX_PICFLAGS LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libtool_VERSION multi_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar glibcxx_builddir glibcxx_srcdir toplevel_srcdir CC ac_ct_CC EXEEXT OBJEXT CXX ac_ct_CXX CFLAGS CXXFLAGS LN_S AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBTOOL CXXCPP CPPFLAGS enable_shared enable_static GLIBCXX_HOSTED_TRUE GLIBCXX_HOSTED_FALSE GLIBCXX_BUILD_PCH_TRUE GLIBCXX_BUILD_PCH_FALSE glibcxx_PCHFLAGS CSTDIO_H BASIC_FILE_H BASIC_FILE_CC CPP EGREP check_msgfmt glibcxx_MOFILES glibcxx_POFILES glibcxx_localedir USE_NLS CLOCALE_H CMESSAGES_H CCODECVT_CC CCOLLATE_CC CCTYPE_CC CMESSAGES_CC CMONEY_CC CNUMERIC_CC CTIME_H CTIME_CC CLOCALE_CC CLOCALE_INTERNAL_H ALLOCATOR_H ALLOCATOR_NAME C_INCLUDE_DIR GLIBCXX_C_HEADERS_C_TRUE GLIBCXX_C_HEADERS_C_FALSE GLIBCXX_C_HEADERS_C_STD_TRUE GLIBCXX_C_HEADERS_C_STD_FALSE GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE DEBUG_FLAGS GLIBCXX_BUILD_DEBUG_TRUE GLIBCXX_BUILD_DEBUG_FALSE EXTRA_CXX_FLAGS glibcxx_thread_h WERROR SECTION_FLAGS SECTION_LDFLAGS OPT_LDFLAGS LIBMATHOBJS LIBICONV SYMVER_MAP port_specific_symbol_files ENABLE_SYMVERS_GNU_TRUE ENABLE_SYMVERS_GNU_FALSE ENABLE_SYMVERS_DARWIN_EXPORT_TRUE ENABLE_SYMVERS_DARWIN_EXPORT_FALSE baseline_dir ATOMICITY_SRCDIR ATOMIC_WORD_SRCDIR ABI_TWEAKS_SRCDIR OS_INC_SRCDIR glibcxx_prefixdir gxx_include_dir glibcxx_toolexecdir glibcxx_toolexeclibdir GLIBCXX_INCLUDES TOPLEVEL_INCLUDES OPTIMIZE_CXXFLAGS WARN_FLAGS LIBSUPCXX_PICFLAGS LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -1542,7 +1542,24 @@ target_alias=${target_alias-$host_alias}
if test "$build" != "$host"; then
# We are being configured with some form of cross compiler.
GLIBCXX_IS_NATIVE=false
+ case "$host","$target" in
+ # Darwin crosses can use the host system's libraries and headers,
+ # because of the fat library support. Of course, it must be the
+ # same version of Darwin on both sides. Allow the user to
+ # just say --target=foo-darwin without a version number to mean
+ # "the version on this system".
+ *-*-darwin*,*-*-darwin*)
+ hostos=`echo $host | sed 's/.*-darwin/darwin/'`
+ targetos=`echo $target | sed 's/.*-darwin/darwin/'`
+ if test $hostos = $targetos -o $targetos = darwin ; then
+ GLIBCXX_IS_NATIVE=true
+ fi
+ ;;
+
+ *)
+ ;;
+ esac
else
GLIBCXX_IS_NATIVE=true
fi
@@ -4439,7 +4456,7 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
case $host in
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 4442 "configure"' > conftest.$ac_ext
+ echo '#line 4459 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -5059,7 +5076,7 @@ fi;
#
# Fake what AC_TRY_COMPILE does. XXX Look at redoing this new-style.
cat > conftest.$ac_ext << EOF
-#line 5062 "configure"
+#line 5079 "configure"
struct S { ~S(); };
void bar();
void foo()
@@ -29307,6 +29324,8 @@ fi
done
+ echo "$as_me:$LINENO: checking for poll" >&5
+echo $ECHO_N "checking for poll... $ECHO_C" >&6
if test "${glibcxx_cv_POLL+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -29374,8 +29393,12 @@ cat >>confdefs.h <<\_ACEOF
_ACEOF
fi
+ echo "$as_me:$LINENO: result: $glibcxx_cv_POLL" >&5
+echo "${ECHO_T}$glibcxx_cv_POLL" >&6
+ echo "$as_me:$LINENO: checking for S_ISREG or S_IFREG" >&5
+echo $ECHO_N "checking for S_ISREG or S_IFREG... $ECHO_C" >&6
if test "${glibcxx_cv_S_ISREG+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -29496,19 +29519,24 @@ rm -f conftest.err conftest.$ac_objext \
fi
+ res=no
if test $glibcxx_cv_S_ISREG = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_S_ISREG 1
_ACEOF
+ res=S_ISREG
elif test $glibcxx_cv_S_IFREG = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_S_IFREG 1
_ACEOF
+ res=S_IFREG
fi
+ echo "$as_me:$LINENO: result: $res" >&5
+echo "${ECHO_T}$res" >&6
# For xsputn_2().
@@ -29663,6 +29691,8 @@ fi
done
+ echo "$as_me:$LINENO: checking for writev" >&5
+echo $ECHO_N "checking for writev... $ECHO_C" >&6
if test "${glibcxx_cv_WRITEV+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -29729,10 +29759,14 @@ cat >>confdefs.h <<\_ACEOF
_ACEOF
fi
+ echo "$as_me:$LINENO: result: $glibcxx_cv_WRITEV" >&5
+echo "${ECHO_T}$glibcxx_cv_WRITEV" >&6
# For the __streamoff_base_type typedef.
+ echo "$as_me:$LINENO: checking for int64_t" >&5
+echo $ECHO_N "checking for int64_t... $ECHO_C" >&6
if test "${glibcxx_cv_INT64_T+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -29792,6 +29826,8 @@ cat >>confdefs.h <<\_ACEOF
_ACEOF
fi
+ echo "$as_me:$LINENO: result: $glibcxx_cv_INT64_T" >&5
+echo "${ECHO_T}$glibcxx_cv_INT64_T" >&6
# For LFS support.
@@ -29806,6 +29842,8 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
ac_save_CXXFLAGS="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS -fno-exceptions"
+ echo "$as_me:$LINENO: checking for LFS support" >&5
+echo $ECHO_N "checking for LFS support... $ECHO_C" >&6
if test "${glibcxx_cv_LFS+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -29880,6 +29918,8 @@ cat >>confdefs.h <<\_ACEOF
_ACEOF
fi
+ echo "$as_me:$LINENO: result: $glibcxx_cv_LFS" >&5
+echo "${ECHO_T}$glibcxx_cv_LFS" >&6
CXXFLAGS="$ac_save_CXXFLAGS"
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -52060,6 +52100,8 @@ fi
done
+ echo "$as_me:$LINENO: checking for poll" >&5
+echo $ECHO_N "checking for poll... $ECHO_C" >&6
if test "${glibcxx_cv_POLL+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -52127,8 +52169,12 @@ cat >>confdefs.h <<\_ACEOF
_ACEOF
fi
+ echo "$as_me:$LINENO: result: $glibcxx_cv_POLL" >&5
+echo "${ECHO_T}$glibcxx_cv_POLL" >&6
+ echo "$as_me:$LINENO: checking for S_ISREG or S_IFREG" >&5
+echo $ECHO_N "checking for S_ISREG or S_IFREG... $ECHO_C" >&6
if test "${glibcxx_cv_S_ISREG+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -52249,19 +52295,24 @@ rm -f conftest.err conftest.$ac_objext \
fi
+ res=no
if test $glibcxx_cv_S_ISREG = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_S_ISREG 1
_ACEOF
+ res=S_ISREG
elif test $glibcxx_cv_S_IFREG = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_S_IFREG 1
_ACEOF
+ res=S_IFREG
fi
+ echo "$as_me:$LINENO: result: $res" >&5
+echo "${ECHO_T}$res" >&6
# For xsputn_2().
@@ -52416,6 +52467,8 @@ fi
done
+ echo "$as_me:$LINENO: checking for writev" >&5
+echo $ECHO_N "checking for writev... $ECHO_C" >&6
if test "${glibcxx_cv_WRITEV+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -52482,6 +52535,8 @@ cat >>confdefs.h <<\_ACEOF
_ACEOF
fi
+ echo "$as_me:$LINENO: result: $glibcxx_cv_WRITEV" >&5
+echo "${ECHO_T}$glibcxx_cv_WRITEV" >&6
cat >>confdefs.h <<\_ACEOF
@@ -73811,6 +73866,8 @@ done
CXXFLAGS="$ac_save_CXXFLAGS"
+ echo "$as_me:$LINENO: checking for S_ISREG or S_IFREG" >&5
+echo $ECHO_N "checking for S_ISREG or S_IFREG... $ECHO_C" >&6
if test "${glibcxx_cv_S_ISREG+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -73931,19 +73988,24 @@ rm -f conftest.err conftest.$ac_objext \
fi
+ res=no
if test $glibcxx_cv_S_ISREG = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_S_ISREG 1
_ACEOF
+ res=S_ISREG
elif test $glibcxx_cv_S_IFREG = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_S_IFREG 1
_ACEOF
+ res=S_IFREG
fi
+ echo "$as_me:$LINENO: result: $res" >&5
+echo "${ECHO_T}$res" >&6
cat >>confdefs.h <<\_ACEOF
#define HAVE_WRITEV 1
@@ -78270,6 +78332,8 @@ fi
done
+ echo "$as_me:$LINENO: checking for poll" >&5
+echo $ECHO_N "checking for poll... $ECHO_C" >&6
if test "${glibcxx_cv_POLL+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -78337,8 +78401,12 @@ cat >>confdefs.h <<\_ACEOF
_ACEOF
fi
+ echo "$as_me:$LINENO: result: $glibcxx_cv_POLL" >&5
+echo "${ECHO_T}$glibcxx_cv_POLL" >&6
+ echo "$as_me:$LINENO: checking for S_ISREG or S_IFREG" >&5
+echo $ECHO_N "checking for S_ISREG or S_IFREG... $ECHO_C" >&6
if test "${glibcxx_cv_S_ISREG+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -78459,19 +78527,24 @@ rm -f conftest.err conftest.$ac_objext \
fi
+ res=no
if test $glibcxx_cv_S_ISREG = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_S_ISREG 1
_ACEOF
+ res=S_ISREG
elif test $glibcxx_cv_S_IFREG = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_S_IFREG 1
_ACEOF
+ res=S_IFREG
fi
+ echo "$as_me:$LINENO: result: $res" >&5
+echo "${ECHO_T}$res" >&6
# For xsputn_2().
@@ -78626,6 +78699,8 @@ fi
done
+ echo "$as_me:$LINENO: checking for writev" >&5
+echo $ECHO_N "checking for writev... $ECHO_C" >&6
if test "${glibcxx_cv_WRITEV+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -78692,6 +78767,8 @@ cat >>confdefs.h <<\_ACEOF
_ACEOF
fi
+ echo "$as_me:$LINENO: result: $glibcxx_cv_WRITEV" >&5
+echo "${ECHO_T}$glibcxx_cv_WRITEV" >&6
cat >>confdefs.h <<\_ACEOF
@@ -83049,6 +83126,8 @@ fi
done
+ echo "$as_me:$LINENO: checking for poll" >&5
+echo $ECHO_N "checking for poll... $ECHO_C" >&6
if test "${glibcxx_cv_POLL+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -83116,8 +83195,12 @@ cat >>confdefs.h <<\_ACEOF
_ACEOF
fi
+ echo "$as_me:$LINENO: result: $glibcxx_cv_POLL" >&5
+echo "${ECHO_T}$glibcxx_cv_POLL" >&6
+ echo "$as_me:$LINENO: checking for S_ISREG or S_IFREG" >&5
+echo $ECHO_N "checking for S_ISREG or S_IFREG... $ECHO_C" >&6
if test "${glibcxx_cv_S_ISREG+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -83238,19 +83321,24 @@ rm -f conftest.err conftest.$ac_objext \
fi
+ res=no
if test $glibcxx_cv_S_ISREG = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_S_ISREG 1
_ACEOF
+ res=S_ISREG
elif test $glibcxx_cv_S_IFREG = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_S_IFREG 1
_ACEOF
+ res=S_IFREG
fi
+ echo "$as_me:$LINENO: result: $res" >&5
+echo "${ECHO_T}$res" >&6
# For xsputn_2().
@@ -83405,6 +83493,8 @@ fi
done
+ echo "$as_me:$LINENO: checking for writev" >&5
+echo $ECHO_N "checking for writev... $ECHO_C" >&6
if test "${glibcxx_cv_WRITEV+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -83471,6 +83561,8 @@ cat >>confdefs.h <<\_ACEOF
_ACEOF
fi
+ echo "$as_me:$LINENO: result: $glibcxx_cv_WRITEV" >&5
+echo "${ECHO_T}$glibcxx_cv_WRITEV" >&6
;;
*-qnx6.1* | *-qnx6.2*)
@@ -87145,7 +87237,7 @@ if test "${enable_symvers+set}" = set; then
enableval="$enable_symvers"
case "$enableval" in
- yes|no|gnu) ;;
+ yes|no|gnu|darwin-export) ;;
*) { { echo "$as_me:$LINENO: error: Unknown argument to enable/disable symvers" >&5
echo "$as_me: error: Unknown argument to enable/disable symvers" >&2;}
{ (exit 1); exit 1; }; } ;;
@@ -87159,11 +87251,28 @@ fi;
# If we never went through the GLIBCXX_CHECK_LINKER_FEATURES macro, then we
# don't know enough about $LD to do tricks...
-# FIXME The following test is too strict, in theory.
-if test $enable_shared = no ||
- test "x$LD" = x ||
- test x$glibcxx_gnu_ld_version = x; then
- enable_symvers=no
+
+# Turn a 'yes' into a suitable default.
+if test x$enable_symvers = xyes ; then
+ if test $enable_shared = no ||
+ test "x$LD" = x ; then
+ enable_symvers=no
+ elif test $with_gnu_ld == yes ; then
+ enable_symvers=gnu
+ else
+ case ${target_os} in
+ darwin*)
+ enable_symvers=darwin-export ;;
+ *)
+ { echo "$as_me:$LINENO: WARNING: === You have requested some kind of symbol versioning, but" >&5
+echo "$as_me: WARNING: === You have requested some kind of symbol versioning, but" >&2;}
+ { echo "$as_me:$LINENO: WARNING: === you are not using a supported linker." >&5
+echo "$as_me: WARNING: === you are not using a supported linker." >&2;}
+ { echo "$as_me:$LINENO: WARNING: === Symbol versioning will be disabled." >&5
+echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;}
+ enable_symvers=no ;;
+ esac
+ fi
fi
# Check to see if libgcc_s exists, indicating that shared libgcc is possible.
@@ -87292,48 +87401,44 @@ rm -f conftest.err conftest.$ac_objext \
echo "${ECHO_T}$glibcxx_shared_libgcc" >&6
fi
-# For GNU ld, we need at least this version. The format is described in
-# GLIBCXX_CHECK_LINKER_FEATURES above.
-glibcxx_min_gnu_ld_version=21400
+# If no shared libgcc, can't win.
+if test $glibcxx_shared_libgcc != yes &&
+ test $enable_symvers != no ; then
+ { echo "$as_me:$LINENO: WARNING: === You have requested some kind of symbol versioning, but" >&5
+echo "$as_me: WARNING: === You have requested some kind of symbol versioning, but" >&2;}
+ { echo "$as_me:$LINENO: WARNING: === you are not building a shared libgcc_s." >&5
+echo "$as_me: WARNING: === you are not building a shared libgcc_s." >&2;}
+ { echo "$as_me:$LINENO: WARNING: === Symbol versioning will be disabled." >&5
+echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;}
+ enable_symvers=no
+ enable_symvers=no
+fi
-# Check to see if unspecified "yes" value can win, given results above.
-# Change "yes" into either "no" or a style name.
-if test $enable_symvers = yes; then
- if test $with_gnu_ld = yes &&
- test $glibcxx_shared_libgcc = yes;
- then
- if test $glibcxx_gnu_ld_version -ge $glibcxx_min_gnu_ld_version ; then
- enable_symvers=gnu
- else
- # The right tools, the right setup, but too old. Fallbacks?
- { echo "$as_me:$LINENO: WARNING: === Linker version $glibcxx_gnu_ld_version is too old for" >&5
+# Check to see if 'gnu' can win.
+if test $enable_symvers = gnu; then
+ # For GNU ld, we need at least this version. The format is described in
+ # GLIBCXX_CHECK_LINKER_FEATURES above.
+ glibcxx_min_gnu_ld_version=21400
+
+ if test $with_gnu_ld != yes ; then
+ # just fail for now
+ { echo "$as_me:$LINENO: WARNING: === You have requested GNU symbol versioning, but" >&5
+echo "$as_me: WARNING: === You have requested GNU symbol versioning, but" >&2;}
+ { echo "$as_me:$LINENO: WARNING: === you are not using the GNU linker." >&5
+echo "$as_me: WARNING: === you are not using the GNU linker." >&2;}
+ { echo "$as_me:$LINENO: WARNING: === Symbol versioning will be disabled." >&5
+echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;}
+ enable_symvers=no
+ elif test $glibcxx_gnu_ld_version -lt $glibcxx_min_gnu_ld_version ; then
+ # The right tools, the right setup, but too old. Fallbacks?
+ { echo "$as_me:$LINENO: WARNING: === Linker version $glibcxx_gnu_ld_version is too old for" >&5
echo "$as_me: WARNING: === Linker version $glibcxx_gnu_ld_version is too old for" >&2;}
- { echo "$as_me:$LINENO: WARNING: === full symbol versioning support in this release of GCC." >&5
+ { echo "$as_me:$LINENO: WARNING: === full symbol versioning support in this release of GCC." >&5
echo "$as_me: WARNING: === full symbol versioning support in this release of GCC." >&2;}
- { echo "$as_me:$LINENO: WARNING: === You would need to upgrade your binutils to version" >&5
+ { echo "$as_me:$LINENO: WARNING: === You would need to upgrade your binutils to version" >&5
echo "$as_me: WARNING: === You would need to upgrade your binutils to version" >&2;}
- { echo "$as_me:$LINENO: WARNING: === $glibcxx_min_gnu_ld_version or later and rebuild GCC." >&5
+ { echo "$as_me:$LINENO: WARNING: === $glibcxx_min_gnu_ld_version or later and rebuild GCC." >&5
echo "$as_me: WARNING: === $glibcxx_min_gnu_ld_version or later and rebuild GCC." >&2;}
- if test $glibcxx_gnu_ld_version -ge 21200 ; then
- # Globbing fix is present, proper block support is not.
- { echo "$as_me:$LINENO: WARNING: === Symbol versioning will be disabled." >&5
-echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;}
- enable_symvers=no
- else
- # 2.11 or older.
- { echo "$as_me:$LINENO: WARNING: === Symbol versioning will be disabled." >&5
-echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;}
- enable_symvers=no
- fi
- fi
- else
- # just fail for now
- { echo "$as_me:$LINENO: WARNING: === You have requested some kind of symbol versioning, but" >&5
-echo "$as_me: WARNING: === You have requested some kind of symbol versioning, but" >&2;}
- { echo "$as_me:$LINENO: WARNING: === either you are not using a supported linker, or you are" >&5
-echo "$as_me: WARNING: === either you are not using a supported linker, or you are" >&2;}
- { echo "$as_me:$LINENO: WARNING: === not building a shared libgcc_s (which is required)." >&5
-echo "$as_me: WARNING: === not building a shared libgcc_s (which is required)." >&2;}
{ echo "$as_me:$LINENO: WARNING: === Symbol versioning will be disabled." >&5
echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;}
enable_symvers=no
@@ -87353,6 +87458,9 @@ cat >>confdefs.h <<\_ACEOF
_ACEOF
;;
+ darwin-export)
+ SYMVER_MAP=config/linker-map.gnu
+ ;;
esac
# In addition, need this to deal with std::size_t mangling in
@@ -87481,14 +87589,14 @@ echo "${ECHO_T}$glibcxx_ptrdiff_t_is_i" >&6
+
{ echo "$as_me:$LINENO: versioning on shared library symbols is $enable_symvers" >&5
echo "$as_me: versioning on shared library symbols is $enable_symvers" >&6;}
# This depends on GLIBCXX_ENABLE_SYMVERS and GLIBCXX_IS_NATIVE.
- if $GLIBCXX_IS_NATIVE && test $is_hosted = yes &&
- test $enable_symvers != no; then
+ if $GLIBCXX_IS_NATIVE ; then
# Do checks for resource limit functions.
setrlimit_have_headers=yes
@@ -87651,6 +87759,8 @@ done
if test $setrlimit_have_headers = yes; then
# Can't do these in a loop, else the resulting syntax is wrong.
+ echo "$as_me:$LINENO: checking for RLIMIT_DATA" >&5
+echo $ECHO_N "checking for RLIMIT_DATA... $ECHO_C" >&6
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -87704,8 +87814,13 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_LIMIT_DATA $glibcxx_mresult
_ACEOF
+ if test $glibcxx_mresult = 1 ; then res=yes ; else res=no ; fi
+ echo "$as_me:$LINENO: result: $res" >&5
+echo "${ECHO_T}$res" >&6
+ echo "$as_me:$LINENO: checking for RLIMIT_RSS" >&5
+echo $ECHO_N "checking for RLIMIT_RSS... $ECHO_C" >&6
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -87759,8 +87874,13 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_LIMIT_RSS $glibcxx_mresult
_ACEOF
+ if test $glibcxx_mresult = 1 ; then res=yes ; else res=no ; fi
+ echo "$as_me:$LINENO: result: $res" >&5
+echo "${ECHO_T}$res" >&6
+ echo "$as_me:$LINENO: checking for RLIMIT_VMEM" >&5
+echo $ECHO_N "checking for RLIMIT_VMEM... $ECHO_C" >&6
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -87814,8 +87934,13 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_LIMIT_VMEM $glibcxx_mresult
_ACEOF
+ if test $glibcxx_mresult = 1 ; then res=yes ; else res=no ; fi
+ echo "$as_me:$LINENO: result: $res" >&5
+echo "${ECHO_T}$res" >&6
+ echo "$as_me:$LINENO: checking for RLIMIT_AS" >&5
+echo $ECHO_N "checking for RLIMIT_AS... $ECHO_C" >&6
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -87869,8 +87994,13 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_LIMIT_AS $glibcxx_mresult
_ACEOF
+ if test $glibcxx_mresult = 1 ; then res=yes ; else res=no ; fi
+ echo "$as_me:$LINENO: result: $res" >&5
+echo "${ECHO_T}$res" >&6
+ echo "$as_me:$LINENO: checking for RLIMIT_FSIZE" >&5
+echo $ECHO_N "checking for RLIMIT_FSIZE... $ECHO_C" >&6
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -87924,6 +88054,9 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_LIMIT_FSIZE $glibcxx_mresult
_ACEOF
+ if test $glibcxx_mresult = 1 ; then res=yes ; else res=no ; fi
+ echo "$as_me:$LINENO: result: $res" >&5
+echo "${ECHO_T}$res" >&6
# Check for rlimit, setrlimit.
@@ -88185,17 +88318,16 @@ done
fi
+ fi
- if test $enable_symvers = no; then
- enable_abi_check=no
- else
- case "$host" in
- *-*-cygwin*)
- enable_abi_check=no ;;
- *)
- enable_abi_check=yes ;;
- esac
- fi
+ if $GLIBCXX_IS_NATIVE && test $is_hosted = yes &&
+ test $enable_symvers != no; then
+ case "$host" in
+ *-*-cygwin*)
+ enable_abi_check=no ;;
+ *)
+ enable_abi_check=yes ;;
+ esac
else
# Only build this as native, since automake does not understand
# CXX_FOR_BUILD.
@@ -88290,12 +88422,23 @@ fi
-if test $enable_symvers != no; then
- GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE=
- GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE='#'
+if test $enable_symvers == gnu; then
+ ENABLE_SYMVERS_GNU_TRUE=
+ ENABLE_SYMVERS_GNU_FALSE='#'
else
- GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE='#'
- GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE=
+ ENABLE_SYMVERS_GNU_TRUE='#'
+ ENABLE_SYMVERS_GNU_FALSE=
+fi
+
+
+
+
+if test $enable_symvers == darwin-export; then
+ ENABLE_SYMVERS_DARWIN_EXPORT_TRUE=
+ ENABLE_SYMVERS_DARWIN_EXPORT_FALSE='#'
+else
+ ENABLE_SYMVERS_DARWIN_EXPORT_TRUE='#'
+ ENABLE_SYMVERS_DARWIN_EXPORT_FALSE=
fi
@@ -88642,10 +88785,17 @@ echo "$as_me: error: conditional \"GLIBCXX_BUILD_DEBUG\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
-if test -z "${GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE}" && test -z "${GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GLIBCXX_BUILD_VERSIONED_SHLIB\" was never defined.
+if test -z "${ENABLE_SYMVERS_GNU_TRUE}" && test -z "${ENABLE_SYMVERS_GNU_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"ENABLE_SYMVERS_GNU\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"ENABLE_SYMVERS_GNU\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${ENABLE_SYMVERS_DARWIN_EXPORT_TRUE}" && test -z "${ENABLE_SYMVERS_DARWIN_EXPORT_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"ENABLE_SYMVERS_DARWIN_EXPORT\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GLIBCXX_BUILD_VERSIONED_SHLIB\" was never defined.
+echo "$as_me: error: conditional \"ENABLE_SYMVERS_DARWIN_EXPORT\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
@@ -89315,8 +89465,10 @@ s,@LIBMATHOBJS@,$LIBMATHOBJS,;t t
s,@LIBICONV@,$LIBICONV,;t t
s,@SYMVER_MAP@,$SYMVER_MAP,;t t
s,@port_specific_symbol_files@,$port_specific_symbol_files,;t t
-s,@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@,$GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE,;t t
-s,@GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE@,$GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE,;t t
+s,@ENABLE_SYMVERS_GNU_TRUE@,$ENABLE_SYMVERS_GNU_TRUE,;t t
+s,@ENABLE_SYMVERS_GNU_FALSE@,$ENABLE_SYMVERS_GNU_FALSE,;t t
+s,@ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@,$ENABLE_SYMVERS_DARWIN_EXPORT_TRUE,;t t
+s,@ENABLE_SYMVERS_DARWIN_EXPORT_FALSE@,$ENABLE_SYMVERS_DARWIN_EXPORT_FALSE,;t t
s,@baseline_dir@,$baseline_dir,;t t
s,@ATOMICITY_SRCDIR@,$ATOMICITY_SRCDIR,;t t
s,@ATOMIC_WORD_SRCDIR@,$ATOMIC_WORD_SRCDIR,;t t
diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
index 9a36f095002..d350e6e9910 100644
--- a/libstdc++-v3/configure.ac
+++ b/libstdc++-v3/configure.ac
@@ -41,7 +41,24 @@ target_alias=${target_alias-$host_alias}
if test "$build" != "$host"; then
# We are being configured with some form of cross compiler.
GLIBCXX_IS_NATIVE=false
- GCC_NO_EXECUTABLES
+ case "$host","$target" in
+ # Darwin crosses can use the host system's libraries and headers,
+ # because of the fat library support. Of course, it must be the
+ # same version of Darwin on both sides. Allow the user to
+ # just say --target=foo-darwin without a version number to mean
+ # "the version on this system".
+ *-*-darwin*,*-*-darwin*)
+ hostos=`echo $host | sed 's/.*-darwin/darwin/'`
+ targetos=`echo $target | sed 's/.*-darwin/darwin/'`
+ if test $hostos = $targetos -o $targetos = darwin ; then
+ GLIBCXX_IS_NATIVE=true
+ fi
+ ;;
+
+ *)
+ GCC_NO_EXECUTABLES
+ ;;
+ esac
else
GLIBCXX_IS_NATIVE=true
fi
diff --git a/libstdc++-v3/docs/html/17_intro/COPYING b/libstdc++-v3/docs/html/17_intro/COPYING
index d60c31a97a5..623b6258a13 100644
--- a/libstdc++-v3/docs/html/17_intro/COPYING
+++ b/libstdc++-v3/docs/html/17_intro/COPYING
@@ -2,7 +2,7 @@
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
diff --git a/libstdc++-v3/docs/html/17_intro/COPYING.DOC b/libstdc++-v3/docs/html/17_intro/COPYING.DOC
index b42936beb35..1a864561bd4 100644
--- a/libstdc++-v3/docs/html/17_intro/COPYING.DOC
+++ b/libstdc++-v3/docs/html/17_intro/COPYING.DOC
@@ -2,7 +2,7 @@
Version 1.1, March 2000
Copyright (C) 2000 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
diff --git a/libstdc++-v3/docs/html/17_intro/headers_cc.txt b/libstdc++-v3/docs/html/17_intro/headers_cc.txt
index 667f2fe235b..a0d926d71c5 100644
--- a/libstdc++-v3/docs/html/17_intro/headers_cc.txt
+++ b/libstdc++-v3/docs/html/17_intro/headers_cc.txt
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 17.4.1.2 Headers
diff --git a/libstdc++-v3/docs/html/17_intro/porting.html b/libstdc++-v3/docs/html/17_intro/porting.html
index 54438b898d6..c280990c901 100644
--- a/libstdc++-v3/docs/html/17_intro/porting.html
+++ b/libstdc++-v3/docs/html/17_intro/porting.html
@@ -564,7 +564,7 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
<div align="center">Version 1.2, November 2002</div>
<pre class="display"> Copyright &copy; 2000,2001,2002 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
diff --git a/libstdc++-v3/docs/html/ext/howto.html b/libstdc++-v3/docs/html/ext/howto.html
index 0b7b17b59de..85161964e5f 100644
--- a/libstdc++-v3/docs/html/ext/howto.html
+++ b/libstdc++-v3/docs/html/ext/howto.html
@@ -520,6 +520,13 @@
</dt>
<dd>Don't fail if the next pointer is null and newoff is zero.
</dd>
+
+ <dt><a href="lwg-active.html#464">464</a>:
+ <em>Suggestion for new member functions in standard containers</em>
+ </dt>
+ <dd>Add <code>data()</code> to <code>std::vector</code> and
+ <code>at(const key_type&amp;)</code> to <code>std::map</code>.
+ </dd>
<!--
<dt><a href="lwg-defects.html#"></a>:
<em></em>
diff --git a/libstdc++-v3/docs/html/ext/mt_allocator.html b/libstdc++-v3/docs/html/ext/mt_allocator.html
index 6c3c2700014..e91760e8b48 100644
--- a/libstdc++-v3/docs/html/ext/mt_allocator.html
+++ b/libstdc++-v3/docs/html/ext/mt_allocator.html
@@ -40,8 +40,8 @@
allocator"] is a fixed size (power of two) allocator that was
initially developed specifically to suit the needs of multi threaded
applications [hereinafter referred to as an MT application]. Over time
-the allocator has evolved and been improved in many ways, one of the
-being that it now also does a good job in single threaded applications
+the allocator has evolved and been improved in many ways, in
+particular it now also does a good job in single threaded applications
[hereinafter referred to as a ST application]. (Note: In this
document, when referring to single threaded applications this also
includes applications that are compiled with gcc without thread
@@ -67,13 +67,14 @@ the actual allocator.
</p>
<p>The datum describing pools characteristics is
-<pre>
- template&lt;bool _Thread&gt;
- class __pool
-</pre>
+ <pre>
+ template&lt;bool _Thread&gt;
+ class __pool
+ </pre>
This class is parametrized on thread support, and is explicitly
specialized for both multiple threads (with <code>bool==true</code>)
-and single threads (via <code>bool==false</code>.)
+and single threads (via <code>bool==false</code>.) It is possible to
+use a custom pool datum instead of the default class that is provided.
</p>
<p> There are two distinct policy classes, each of which can be used
@@ -280,9 +281,10 @@ release memory. Because of this, memory debugging programs like
valgrind or purify may notice leaks: sorry about this
inconvenience. Operating systems will reclaim allocated memory at
program termination anyway. If sidestepping this kind of noise is
-desired, there are two options: use an allocator, like
-<code>new_allocator</code> that releases memory while debugging, or
-use GLIBCXX_FORCE_NEW to bypass the allocator's internal pools.</p>
+desired, there are three options: use an allocator, like
+<code>new_allocator</code> that releases memory while debugging, use
+GLIBCXX_FORCE_NEW to bypass the allocator's internal pools, or use a
+custom pool datum that releases resources on destruction.</p>
<p>On systems with the function <code>__cxa_atexit</code>, the
allocator can be forced to free all memory allocated before program
@@ -297,7 +299,10 @@ practice, forcing deallocation can be tricky, as it requires the
that uses it is fully constructed. For most (but not all) STL
containers, this works, as an instance of the allocator is constructed
as part of a container's constructor. However, this assumption is
-implementation-specific, and subject to change.
+implementation-specific, and subject to change. For an example of a
+pool that frees memory, see the following
+ <a href="http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc%2b%2b-v3/testsuite/ext/mt_allocator/deallocate_local-6.cc">
+ example.</a>
</p>
<h3 class="left">
diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am
index 869a01a29a6..e4fa84d288f 100644
--- a/libstdc++-v3/include/Makefile.am
+++ b/libstdc++-v3/include/Makefile.am
@@ -18,7 +18,7 @@
## You should have received a copy of the GNU General Public License along
## with this library; see the file COPYING. If not, write to the Free
-## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+## Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
## USA.
include $(top_srcdir)/fragment.am
diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in
index 221d5d4882d..082c330a610 100644
--- a/libstdc++-v3/include/Makefile.in
+++ b/libstdc++-v3/include/Makefile.in
@@ -2,7 +2,7 @@
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004 Free Software Foundation, Inc.
+# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -97,14 +97,16 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_SYMVERS_DARWIN_EXPORT_FALSE = @ENABLE_SYMVERS_DARWIN_EXPORT_FALSE@
+ENABLE_SYMVERS_DARWIN_EXPORT_TRUE = @ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@
+ENABLE_SYMVERS_GNU_FALSE = @ENABLE_SYMVERS_GNU_FALSE@
+ENABLE_SYMVERS_GNU_TRUE = @ENABLE_SYMVERS_GNU_TRUE@
EXEEXT = @EXEEXT@
EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
GLIBCXX_BUILD_DEBUG_FALSE = @GLIBCXX_BUILD_DEBUG_FALSE@
GLIBCXX_BUILD_DEBUG_TRUE = @GLIBCXX_BUILD_DEBUG_TRUE@
GLIBCXX_BUILD_PCH_FALSE = @GLIBCXX_BUILD_PCH_FALSE@
GLIBCXX_BUILD_PCH_TRUE = @GLIBCXX_BUILD_PCH_TRUE@
-GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE = @GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE@
-GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE = @GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@
GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE = @GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE@
GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE = @GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE@
GLIBCXX_C_HEADERS_C_FALSE = @GLIBCXX_C_HEADERS_C_FALSE@
diff --git a/libstdc++-v3/include/backward/algo.h b/libstdc++-v3/include/backward/algo.h
index 6f248356cf8..aaa8cdd3bdb 100644
--- a/libstdc++-v3/include/backward/algo.h
+++ b/libstdc++-v3/include/backward/algo.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/algobase.h b/libstdc++-v3/include/backward/algobase.h
index 86028a0d05c..19bdcadf672 100644
--- a/libstdc++-v3/include/backward/algobase.h
+++ b/libstdc++-v3/include/backward/algobase.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/alloc.h b/libstdc++-v3/include/backward/alloc.h
index d3c3c738b95..40a0af1f999 100644
--- a/libstdc++-v3/include/backward/alloc.h
+++ b/libstdc++-v3/include/backward/alloc.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/backward_warning.h b/libstdc++-v3/include/backward/backward_warning.h
index 9e1377793ea..80eabfe878c 100644
--- a/libstdc++-v3/include/backward/backward_warning.h
+++ b/libstdc++-v3/include/backward/backward_warning.h
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/bvector.h b/libstdc++-v3/include/backward/bvector.h
index 92457926788..10bafc8436c 100644
--- a/libstdc++-v3/include/backward/bvector.h
+++ b/libstdc++-v3/include/backward/bvector.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/complex.h b/libstdc++-v3/include/backward/complex.h
index dfc67140655..b03072e475c 100644
--- a/libstdc++-v3/include/backward/complex.h
+++ b/libstdc++-v3/include/backward/complex.h
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/defalloc.h b/libstdc++-v3/include/backward/defalloc.h
index 76ea52abc9e..ffa9b16828b 100644
--- a/libstdc++-v3/include/backward/defalloc.h
+++ b/libstdc++-v3/include/backward/defalloc.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/deque.h b/libstdc++-v3/include/backward/deque.h
index 36c7479ef09..54b65ecce60 100644
--- a/libstdc++-v3/include/backward/deque.h
+++ b/libstdc++-v3/include/backward/deque.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/fstream.h b/libstdc++-v3/include/backward/fstream.h
index 6dfd514c2f3..c721ca5f312 100644
--- a/libstdc++-v3/include/backward/fstream.h
+++ b/libstdc++-v3/include/backward/fstream.h
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/function.h b/libstdc++-v3/include/backward/function.h
index 9fc8719c07a..e7f29a636a8 100644
--- a/libstdc++-v3/include/backward/function.h
+++ b/libstdc++-v3/include/backward/function.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/hash_map.h b/libstdc++-v3/include/backward/hash_map.h
index bc9c1482c8a..cbeed9947cb 100644
--- a/libstdc++-v3/include/backward/hash_map.h
+++ b/libstdc++-v3/include/backward/hash_map.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/hash_set.h b/libstdc++-v3/include/backward/hash_set.h
index 89307de0402..c2c6e393e42 100644
--- a/libstdc++-v3/include/backward/hash_set.h
+++ b/libstdc++-v3/include/backward/hash_set.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/hashtable.h b/libstdc++-v3/include/backward/hashtable.h
index abedd55b001..72fd281ba6e 100644
--- a/libstdc++-v3/include/backward/hashtable.h
+++ b/libstdc++-v3/include/backward/hashtable.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/heap.h b/libstdc++-v3/include/backward/heap.h
index 2f19545d0d7..6e02c355b3c 100644
--- a/libstdc++-v3/include/backward/heap.h
+++ b/libstdc++-v3/include/backward/heap.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/iomanip.h b/libstdc++-v3/include/backward/iomanip.h
index 160dbebcdbf..aeb7b1f6c34 100644
--- a/libstdc++-v3/include/backward/iomanip.h
+++ b/libstdc++-v3/include/backward/iomanip.h
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/iostream.h b/libstdc++-v3/include/backward/iostream.h
index 5a5ccea62b7..e22d1131151 100644
--- a/libstdc++-v3/include/backward/iostream.h
+++ b/libstdc++-v3/include/backward/iostream.h
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/istream.h b/libstdc++-v3/include/backward/istream.h
index 707b575a5bd..7db8f41a79b 100644
--- a/libstdc++-v3/include/backward/istream.h
+++ b/libstdc++-v3/include/backward/istream.h
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/iterator.h b/libstdc++-v3/include/backward/iterator.h
index 8316a83d698..815bd151066 100644
--- a/libstdc++-v3/include/backward/iterator.h
+++ b/libstdc++-v3/include/backward/iterator.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/list.h b/libstdc++-v3/include/backward/list.h
index 00c11a6987d..f8f85e1211d 100644
--- a/libstdc++-v3/include/backward/list.h
+++ b/libstdc++-v3/include/backward/list.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/map.h b/libstdc++-v3/include/backward/map.h
index 56d5c69973b..0b5051dce53 100644
--- a/libstdc++-v3/include/backward/map.h
+++ b/libstdc++-v3/include/backward/map.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/multimap.h b/libstdc++-v3/include/backward/multimap.h
index aba42f7217f..534d1c9e5e0 100644
--- a/libstdc++-v3/include/backward/multimap.h
+++ b/libstdc++-v3/include/backward/multimap.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/multiset.h b/libstdc++-v3/include/backward/multiset.h
index 7ec0c9476c9..47af8153b61 100644
--- a/libstdc++-v3/include/backward/multiset.h
+++ b/libstdc++-v3/include/backward/multiset.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/new.h b/libstdc++-v3/include/backward/new.h
index 00a4819a0bb..9cfbab27fe6 100644
--- a/libstdc++-v3/include/backward/new.h
+++ b/libstdc++-v3/include/backward/new.h
@@ -15,8 +15,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/include/backward/ostream.h b/libstdc++-v3/include/backward/ostream.h
index a72de09d9eb..f30ebe4dd89 100644
--- a/libstdc++-v3/include/backward/ostream.h
+++ b/libstdc++-v3/include/backward/ostream.h
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/pair.h b/libstdc++-v3/include/backward/pair.h
index cbb3bc7ed6d..fa89efe0555 100644
--- a/libstdc++-v3/include/backward/pair.h
+++ b/libstdc++-v3/include/backward/pair.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/queue.h b/libstdc++-v3/include/backward/queue.h
index a3e2ff3af09..1da475c03c1 100644
--- a/libstdc++-v3/include/backward/queue.h
+++ b/libstdc++-v3/include/backward/queue.h
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/rope.h b/libstdc++-v3/include/backward/rope.h
index fc6715aa750..6745c487c3a 100644
--- a/libstdc++-v3/include/backward/rope.h
+++ b/libstdc++-v3/include/backward/rope.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/set.h b/libstdc++-v3/include/backward/set.h
index 6a8320ba42f..004349425e5 100644
--- a/libstdc++-v3/include/backward/set.h
+++ b/libstdc++-v3/include/backward/set.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/slist.h b/libstdc++-v3/include/backward/slist.h
index 63db065fe35..3764a77b8ad 100644
--- a/libstdc++-v3/include/backward/slist.h
+++ b/libstdc++-v3/include/backward/slist.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/stack.h b/libstdc++-v3/include/backward/stack.h
index 0ff53a43572..a4c586aecf8 100644
--- a/libstdc++-v3/include/backward/stack.h
+++ b/libstdc++-v3/include/backward/stack.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/stream.h b/libstdc++-v3/include/backward/stream.h
index 5540c7eebd1..ab27241fb2e 100644
--- a/libstdc++-v3/include/backward/stream.h
+++ b/libstdc++-v3/include/backward/stream.h
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/streambuf.h b/libstdc++-v3/include/backward/streambuf.h
index fc9825ef0a3..86730ecbe12 100644
--- a/libstdc++-v3/include/backward/streambuf.h
+++ b/libstdc++-v3/include/backward/streambuf.h
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/strstream b/libstdc++-v3/include/backward/strstream
index a5b95c5e4e9..a8d94f40024 100644
--- a/libstdc++-v3/include/backward/strstream
+++ b/libstdc++-v3/include/backward/strstream
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/tempbuf.h b/libstdc++-v3/include/backward/tempbuf.h
index 151c4c1fb30..c42db0365ae 100644
--- a/libstdc++-v3/include/backward/tempbuf.h
+++ b/libstdc++-v3/include/backward/tempbuf.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/tree.h b/libstdc++-v3/include/backward/tree.h
index fcfcbf48dc4..25e49561e18 100644
--- a/libstdc++-v3/include/backward/tree.h
+++ b/libstdc++-v3/include/backward/tree.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/backward/vector.h b/libstdc++-v3/include/backward/vector.h
index ba9b704c1dc..f4ab069d228 100644
--- a/libstdc++-v3/include/backward/vector.h
+++ b/libstdc++-v3/include/backward/vector.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/allocator.h b/libstdc++-v3/include/bits/allocator.h
index 598048d0df3..5bba2a95e73 100644
--- a/libstdc++-v3/include/bits/allocator.h
+++ b/libstdc++-v3/include/bits/allocator.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/atomicity.h b/libstdc++-v3/include/bits/atomicity.h
index 9ad25e0f342..aa73736ab62 100644
--- a/libstdc++-v3/include/bits/atomicity.h
+++ b/libstdc++-v3/include/bits/atomicity.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/basic_ios.h b/libstdc++-v3/include/bits/basic_ios.h
index 7ffe40ef166..90886712bc5 100644
--- a/libstdc++-v3/include/bits/basic_ios.h
+++ b/libstdc++-v3/include/bits/basic_ios.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/basic_ios.tcc b/libstdc++-v3/include/bits/basic_ios.tcc
index afc2afb79cf..b536a0daeba 100644
--- a/libstdc++-v3/include/bits/basic_ios.tcc
+++ b/libstdc++-v3/include/bits/basic_ios.tcc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h
index ad1324a3f71..8f35b15a07c 100644
--- a/libstdc++-v3/include/bits/basic_string.h
+++ b/libstdc++-v3/include/bits/basic_string.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/basic_string.tcc b/libstdc++-v3/include/bits/basic_string.tcc
index 41db0dff438..f8f9f3ef2f4 100644
--- a/libstdc++-v3/include/bits/basic_string.tcc
+++ b/libstdc++-v3/include/bits/basic_string.tcc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/boost_concept_check.h b/libstdc++-v3/include/bits/boost_concept_check.h
index ff154f73a49..24160ed4e9e 100644
--- a/libstdc++-v3/include/bits/boost_concept_check.h
+++ b/libstdc++-v3/include/bits/boost_concept_check.h
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config
index 16c3194ba67..96d899546b2 100644
--- a/libstdc++-v3/include/bits/c++config
+++ b/libstdc++-v3/include/bits/c++config
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/char_traits.h b/libstdc++-v3/include/bits/char_traits.h
index 57a92ac1083..6b4c916b775 100644
--- a/libstdc++-v3/include/bits/char_traits.h
+++ b/libstdc++-v3/include/bits/char_traits.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/codecvt.h b/libstdc++-v3/include/bits/codecvt.h
index cd9146ff160..86602b219eb 100644
--- a/libstdc++-v3/include/bits/codecvt.h
+++ b/libstdc++-v3/include/bits/codecvt.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/concept_check.h b/libstdc++-v3/include/bits/concept_check.h
index 80c1439342d..98cb42d8556 100644
--- a/libstdc++-v3/include/bits/concept_check.h
+++ b/libstdc++-v3/include/bits/concept_check.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/concurrence.h b/libstdc++-v3/include/bits/concurrence.h
index bc56eebfcde..5f1b682cbd4 100644
--- a/libstdc++-v3/include/bits/concurrence.h
+++ b/libstdc++-v3/include/bits/concurrence.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/cpp_type_traits.h b/libstdc++-v3/include/bits/cpp_type_traits.h
index e3887196429..f02caab0311 100644
--- a/libstdc++-v3/include/bits/cpp_type_traits.h
+++ b/libstdc++-v3/include/bits/cpp_type_traits.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/deque.tcc b/libstdc++-v3/include/bits/deque.tcc
index e69c79a4f34..71722238964 100644
--- a/libstdc++-v3/include/bits/deque.tcc
+++ b/libstdc++-v3/include/bits/deque.tcc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/fstream.tcc b/libstdc++-v3/include/bits/fstream.tcc
index 0228322f2ea..652c54d8786 100644
--- a/libstdc++-v3/include/bits/fstream.tcc
+++ b/libstdc++-v3/include/bits/fstream.tcc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/functexcept.h b/libstdc++-v3/include/bits/functexcept.h
index 4c2d4a4a319..8d1d8064ef9 100644
--- a/libstdc++-v3/include/bits/functexcept.h
+++ b/libstdc++-v3/include/bits/functexcept.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/gslice.h b/libstdc++-v3/include/bits/gslice.h
index 2dd2cab3e5a..31cb1029fdc 100644
--- a/libstdc++-v3/include/bits/gslice.h
+++ b/libstdc++-v3/include/bits/gslice.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/gslice_array.h b/libstdc++-v3/include/bits/gslice_array.h
index f0f9eec29aa..2904efec7fb 100644
--- a/libstdc++-v3/include/bits/gslice_array.h
+++ b/libstdc++-v3/include/bits/gslice_array.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/indirect_array.h b/libstdc++-v3/include/bits/indirect_array.h
index 4c90753a2ca..aca2fe38ea9 100644
--- a/libstdc++-v3/include/bits/indirect_array.h
+++ b/libstdc++-v3/include/bits/indirect_array.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/ios_base.h b/libstdc++-v3/include/bits/ios_base.h
index e6374243ceb..644c6555075 100644
--- a/libstdc++-v3/include/bits/ios_base.h
+++ b/libstdc++-v3/include/bits/ios_base.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/istream.tcc b/libstdc++-v3/include/bits/istream.tcc
index af7fb6441a4..21299e60b62 100644
--- a/libstdc++-v3/include/bits/istream.tcc
+++ b/libstdc++-v3/include/bits/istream.tcc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/list.tcc b/libstdc++-v3/include/bits/list.tcc
index d65f73c0bee..088a2ea86d8 100644
--- a/libstdc++-v3/include/bits/list.tcc
+++ b/libstdc++-v3/include/bits/list.tcc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/locale_classes.h b/libstdc++-v3/include/bits/locale_classes.h
index f6d3668c33a..08c192754dc 100644
--- a/libstdc++-v3/include/bits/locale_classes.h
+++ b/libstdc++-v3/include/bits/locale_classes.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/locale_facets.h b/libstdc++-v3/include/bits/locale_facets.h
index c47768904ce..b4cd513b93e 100644
--- a/libstdc++-v3/include/bits/locale_facets.h
+++ b/libstdc++-v3/include/bits/locale_facets.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/locale_facets.tcc b/libstdc++-v3/include/bits/locale_facets.tcc
index 5fe251b427f..e78f64a9187 100644
--- a/libstdc++-v3/include/bits/locale_facets.tcc
+++ b/libstdc++-v3/include/bits/locale_facets.tcc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/localefwd.h b/libstdc++-v3/include/bits/localefwd.h
index 247158df374..258fcc13ae2 100644
--- a/libstdc++-v3/include/bits/localefwd.h
+++ b/libstdc++-v3/include/bits/localefwd.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/mask_array.h b/libstdc++-v3/include/bits/mask_array.h
index 03933578d40..592aad7dcf5 100644
--- a/libstdc++-v3/include/bits/mask_array.h
+++ b/libstdc++-v3/include/bits/mask_array.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/ostream.tcc b/libstdc++-v3/include/bits/ostream.tcc
index b4ea5b978fa..cd9585073ae 100644
--- a/libstdc++-v3/include/bits/ostream.tcc
+++ b/libstdc++-v3/include/bits/ostream.tcc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/postypes.h b/libstdc++-v3/include/bits/postypes.h
index 0cfb61b2df2..6df0ef93412 100644
--- a/libstdc++-v3/include/bits/postypes.h
+++ b/libstdc++-v3/include/bits/postypes.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/slice_array.h b/libstdc++-v3/include/bits/slice_array.h
index 42da0d22455..bde07d5e7e0 100644
--- a/libstdc++-v3/include/bits/slice_array.h
+++ b/libstdc++-v3/include/bits/slice_array.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/sstream.tcc b/libstdc++-v3/include/bits/sstream.tcc
index 579c4a2cd9f..28fb1959e9a 100644
--- a/libstdc++-v3/include/bits/sstream.tcc
+++ b/libstdc++-v3/include/bits/sstream.tcc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/stl_algo.h b/libstdc++-v3/include/bits/stl_algo.h
index 9a76452ad20..5754d046584 100644
--- a/libstdc++-v3/include/bits/stl_algo.h
+++ b/libstdc++-v3/include/bits/stl_algo.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/stl_algobase.h b/libstdc++-v3/include/bits/stl_algobase.h
index a0f7c5041c3..d8da473c95e 100644
--- a/libstdc++-v3/include/bits/stl_algobase.h
+++ b/libstdc++-v3/include/bits/stl_algobase.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/stl_bvector.h b/libstdc++-v3/include/bits/stl_bvector.h
index bdd21559fb9..05c7e09adfb 100644
--- a/libstdc++-v3/include/bits/stl_bvector.h
+++ b/libstdc++-v3/include/bits/stl_bvector.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -259,7 +259,7 @@ namespace _GLIBCXX_STD
}
reference
- operator[](difference_type __i)
+ operator[](difference_type __i) const
{ return *(*this + __i); }
};
@@ -345,7 +345,7 @@ namespace _GLIBCXX_STD
}
const_reference
- operator[](difference_type __i)
+ operator[](difference_type __i) const
{ return *(*this + __i); }
};
@@ -808,6 +808,14 @@ template<typename _Alloc>
back() const
{ return *(end() - 1); }
+ // _GLIBCXX_RESOLVE_LIB_DEFECTS
+ // DR 464. Suggestion for new member functions in standard containers.
+ // N.B. DR 464 says nothing about vector<bool> but we need something
+ // here due to the way we are implementing DR 464 in the debug-mode
+ // vector class.
+ void
+ data() { }
+
void
push_back(bool __x)
{
diff --git a/libstdc++-v3/include/bits/stl_construct.h b/libstdc++-v3/include/bits/stl_construct.h
index 71acb253a8a..8f78d8c30b9 100644
--- a/libstdc++-v3/include/bits/stl_construct.h
+++ b/libstdc++-v3/include/bits/stl_construct.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -174,7 +174,7 @@ namespace std
__alloc.destroy(&*__first);
}
- template<typename _ForwardIterator, typename _Allocator, typename _Tp>
+ template<typename _ForwardIterator, typename _Tp>
inline void
_Destroy(_ForwardIterator __first, _ForwardIterator __last,
allocator<_Tp>)
diff --git a/libstdc++-v3/include/bits/stl_deque.h b/libstdc++-v3/include/bits/stl_deque.h
index 5a20b657a5f..e5f5beb43f9 100644
--- a/libstdc++-v3/include/bits/stl_deque.h
+++ b/libstdc++-v3/include/bits/stl_deque.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/stl_function.h b/libstdc++-v3/include/bits/stl_function.h
index a6c60dc6342..dac19c8e525 100644
--- a/libstdc++-v3/include/bits/stl_function.h
+++ b/libstdc++-v3/include/bits/stl_function.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/stl_heap.h b/libstdc++-v3/include/bits/stl_heap.h
index eff7fd351d7..3dd0001e7f1 100644
--- a/libstdc++-v3/include/bits/stl_heap.h
+++ b/libstdc++-v3/include/bits/stl_heap.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/stl_iterator.h b/libstdc++-v3/include/bits/stl_iterator.h
index cc564314bc8..5a8ba1d60f8 100644
--- a/libstdc++-v3/include/bits/stl_iterator.h
+++ b/libstdc++-v3/include/bits/stl_iterator.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/stl_iterator_base_funcs.h b/libstdc++-v3/include/bits/stl_iterator_base_funcs.h
index c514e81a089..6e550fadf5b 100644
--- a/libstdc++-v3/include/bits/stl_iterator_base_funcs.h
+++ b/libstdc++-v3/include/bits/stl_iterator_base_funcs.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/stl_iterator_base_types.h b/libstdc++-v3/include/bits/stl_iterator_base_types.h
index c3bb1c55727..2161f2a8136 100644
--- a/libstdc++-v3/include/bits/stl_iterator_base_types.h
+++ b/libstdc++-v3/include/bits/stl_iterator_base_types.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/stl_list.h b/libstdc++-v3/include/bits/stl_list.h
index e17ec2b4606..ba9a3d0d8cb 100644
--- a/libstdc++-v3/include/bits/stl_list.h
+++ b/libstdc++-v3/include/bits/stl_list.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/stl_map.h b/libstdc++-v3/include/bits/stl_map.h
index 5f4be568a69..4d4dd7edf6d 100644
--- a/libstdc++-v3/include/bits/stl_map.h
+++ b/libstdc++-v3/include/bits/stl_map.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -61,6 +61,7 @@
#ifndef _MAP_H
#define _MAP_H 1
+#include <bits/functexcept.h>
#include <bits/concept_check.h>
namespace _GLIBCXX_STD
@@ -348,6 +349,33 @@ namespace _GLIBCXX_STD
return (*__i).second;
}
+ // _GLIBCXX_RESOLVE_LIB_DEFECTS
+ // DR 464. Suggestion for new member functions in standard containers.
+ /**
+ * @brief Access to %map data.
+ * @param k The key for which data should be retrieved.
+ * @return A reference to the data whose key is equivalent to @a k, if
+ * such a data is present in the %map.
+ * @throw std::out_of_range If no such data is present.
+ */
+ mapped_type&
+ at(const key_type& __k)
+ {
+ iterator __i = lower_bound(__k);
+ if (__i == end() || key_comp()(__k, (*__i).first))
+ __throw_out_of_range(__N("map::at"));
+ return (*__i).second;
+ }
+
+ const mapped_type&
+ at(const key_type& __k) const
+ {
+ const_iterator __i = lower_bound(__k);
+ if (__i == end() || key_comp()(__k, (*__i).first))
+ __throw_out_of_range(__N("map::at"));
+ return (*__i).second;
+ }
+
// modifiers
/**
* @brief Attempts to insert a std::pair into the %map.
diff --git a/libstdc++-v3/include/bits/stl_multimap.h b/libstdc++-v3/include/bits/stl_multimap.h
index dca95563343..5c662275130 100644
--- a/libstdc++-v3/include/bits/stl_multimap.h
+++ b/libstdc++-v3/include/bits/stl_multimap.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/stl_multiset.h b/libstdc++-v3/include/bits/stl_multiset.h
index f401db76fd5..196c4020575 100644
--- a/libstdc++-v3/include/bits/stl_multiset.h
+++ b/libstdc++-v3/include/bits/stl_multiset.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/stl_numeric.h b/libstdc++-v3/include/bits/stl_numeric.h
index a11a0404e9a..79706806d50 100644
--- a/libstdc++-v3/include/bits/stl_numeric.h
+++ b/libstdc++-v3/include/bits/stl_numeric.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/stl_pair.h b/libstdc++-v3/include/bits/stl_pair.h
index 92a5bb01fe6..b97de332729 100644
--- a/libstdc++-v3/include/bits/stl_pair.h
+++ b/libstdc++-v3/include/bits/stl_pair.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/stl_queue.h b/libstdc++-v3/include/bits/stl_queue.h
index 3583547dbb4..b076150158e 100644
--- a/libstdc++-v3/include/bits/stl_queue.h
+++ b/libstdc++-v3/include/bits/stl_queue.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/stl_raw_storage_iter.h b/libstdc++-v3/include/bits/stl_raw_storage_iter.h
index 732142e1e6b..40577655b98 100644
--- a/libstdc++-v3/include/bits/stl_raw_storage_iter.h
+++ b/libstdc++-v3/include/bits/stl_raw_storage_iter.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/stl_relops.h b/libstdc++-v3/include/bits/stl_relops.h
index 3e9f060f287..1395472d038 100644
--- a/libstdc++-v3/include/bits/stl_relops.h
+++ b/libstdc++-v3/include/bits/stl_relops.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/stl_set.h b/libstdc++-v3/include/bits/stl_set.h
index c76e55475c6..2a240e19604 100644
--- a/libstdc++-v3/include/bits/stl_set.h
+++ b/libstdc++-v3/include/bits/stl_set.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/stl_stack.h b/libstdc++-v3/include/bits/stl_stack.h
index ada50ee350e..c3a527543e4 100644
--- a/libstdc++-v3/include/bits/stl_stack.h
+++ b/libstdc++-v3/include/bits/stl_stack.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/stl_tempbuf.h b/libstdc++-v3/include/bits/stl_tempbuf.h
index 66ce24052b3..7263099d7ec 100644
--- a/libstdc++-v3/include/bits/stl_tempbuf.h
+++ b/libstdc++-v3/include/bits/stl_tempbuf.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/stl_tree.h b/libstdc++-v3/include/bits/stl_tree.h
index 91f9f906b3c..756b5cdc06a 100644
--- a/libstdc++-v3/include/bits/stl_tree.h
+++ b/libstdc++-v3/include/bits/stl_tree.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/stl_uninitialized.h b/libstdc++-v3/include/bits/stl_uninitialized.h
index 242ae1519cb..6b06ad064d8 100644
--- a/libstdc++-v3/include/bits/stl_uninitialized.h
+++ b/libstdc++-v3/include/bits/stl_uninitialized.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/stl_vector.h b/libstdc++-v3/include/bits/stl_vector.h
index 06b94017c01..94acec2fb2c 100644
--- a/libstdc++-v3/include/bits/stl_vector.h
+++ b/libstdc++-v3/include/bits/stl_vector.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -568,6 +568,21 @@ namespace _GLIBCXX_STD
back() const
{ return *(end() - 1); }
+ // _GLIBCXX_RESOLVE_LIB_DEFECTS
+ // DR 464. Suggestion for new member functions in standard containers.
+ // data access
+ /**
+ * Returns a pointer such that [data(), data() + size()) is a valid
+ * range. For a non-empty %vector, data() == &front().
+ */
+ pointer
+ data()
+ { return pointer(this->_M_impl._M_start); }
+
+ const_pointer
+ data() const
+ { return const_pointer(this->_M_impl._M_start); }
+
// [23.2.4.3] modifiers
/**
* @brief Add data to the end of the %vector.
diff --git a/libstdc++-v3/include/bits/stream_iterator.h b/libstdc++-v3/include/bits/stream_iterator.h
index fa11bd6b28f..c247868fa77 100644
--- a/libstdc++-v3/include/bits/stream_iterator.h
+++ b/libstdc++-v3/include/bits/stream_iterator.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/streambuf.tcc b/libstdc++-v3/include/bits/streambuf.tcc
index f7b9cff89dd..e6c54ed0889 100644
--- a/libstdc++-v3/include/bits/streambuf.tcc
+++ b/libstdc++-v3/include/bits/streambuf.tcc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/streambuf_iterator.h b/libstdc++-v3/include/bits/streambuf_iterator.h
index df06538f972..0de592202eb 100644
--- a/libstdc++-v3/include/bits/streambuf_iterator.h
+++ b/libstdc++-v3/include/bits/streambuf_iterator.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/stringfwd.h b/libstdc++-v3/include/bits/stringfwd.h
index 99d3ce3a534..8bb59d96c00 100644
--- a/libstdc++-v3/include/bits/stringfwd.h
+++ b/libstdc++-v3/include/bits/stringfwd.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/valarray_after.h b/libstdc++-v3/include/bits/valarray_after.h
index af77c6a8f6c..4838cd44b4f 100644
--- a/libstdc++-v3/include/bits/valarray_after.h
+++ b/libstdc++-v3/include/bits/valarray_after.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/valarray_array.h b/libstdc++-v3/include/bits/valarray_array.h
index 2cb69758426..940d886c4be 100644
--- a/libstdc++-v3/include/bits/valarray_array.h
+++ b/libstdc++-v3/include/bits/valarray_array.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/valarray_array.tcc b/libstdc++-v3/include/bits/valarray_array.tcc
index 523ea629fea..b4be2c7d018 100644
--- a/libstdc++-v3/include/bits/valarray_array.tcc
+++ b/libstdc++-v3/include/bits/valarray_array.tcc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/valarray_before.h b/libstdc++-v3/include/bits/valarray_before.h
index f83c2fd79a9..2f1a64f82ab 100644
--- a/libstdc++-v3/include/bits/valarray_before.h
+++ b/libstdc++-v3/include/bits/valarray_before.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/bits/vector.tcc b/libstdc++-v3/include/bits/vector.tcc
index aa1634bbc5e..9e0eeb91fcf 100644
--- a/libstdc++-v3/include/bits/vector.tcc
+++ b/libstdc++-v3/include/bits/vector.tcc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c/std_cassert.h b/libstdc++-v3/include/c/std_cassert.h
index 9b2bb72beab..873eeef6ba5 100644
--- a/libstdc++-v3/include/c/std_cassert.h
+++ b/libstdc++-v3/include/c/std_cassert.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c/std_cctype.h b/libstdc++-v3/include/c/std_cctype.h
index 3231f481fcf..103dd379bbe 100644
--- a/libstdc++-v3/include/c/std_cctype.h
+++ b/libstdc++-v3/include/c/std_cctype.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c/std_cerrno.h b/libstdc++-v3/include/c/std_cerrno.h
index 84e0e534337..ed71e9ae8b2 100644
--- a/libstdc++-v3/include/c/std_cerrno.h
+++ b/libstdc++-v3/include/c/std_cerrno.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c/std_cfloat.h b/libstdc++-v3/include/c/std_cfloat.h
index e9319d302ad..3cf6b9b0b97 100644
--- a/libstdc++-v3/include/c/std_cfloat.h
+++ b/libstdc++-v3/include/c/std_cfloat.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c/std_ciso646.h b/libstdc++-v3/include/c/std_ciso646.h
index 0993a0a7d6f..4ffd3bb1a9b 100644
--- a/libstdc++-v3/include/c/std_ciso646.h
+++ b/libstdc++-v3/include/c/std_ciso646.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c/std_climits.h b/libstdc++-v3/include/c/std_climits.h
index e1986f25a95..ca9db692e6d 100644
--- a/libstdc++-v3/include/c/std_climits.h
+++ b/libstdc++-v3/include/c/std_climits.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c/std_clocale.h b/libstdc++-v3/include/c/std_clocale.h
index 6aa937baf71..7642222b2e6 100644
--- a/libstdc++-v3/include/c/std_clocale.h
+++ b/libstdc++-v3/include/c/std_clocale.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c/std_cmath.h b/libstdc++-v3/include/c/std_cmath.h
index fcaa7594c97..18c1fb2e5b2 100644
--- a/libstdc++-v3/include/c/std_cmath.h
+++ b/libstdc++-v3/include/c/std_cmath.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c/std_csetjmp.h b/libstdc++-v3/include/c/std_csetjmp.h
index 022753f4656..1926bccfbba 100644
--- a/libstdc++-v3/include/c/std_csetjmp.h
+++ b/libstdc++-v3/include/c/std_csetjmp.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c/std_csignal.h b/libstdc++-v3/include/c/std_csignal.h
index 6fa96071d92..37bacaecae6 100644
--- a/libstdc++-v3/include/c/std_csignal.h
+++ b/libstdc++-v3/include/c/std_csignal.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c/std_cstdarg.h b/libstdc++-v3/include/c/std_cstdarg.h
index 0c236344ed8..00aa001d43c 100644
--- a/libstdc++-v3/include/c/std_cstdarg.h
+++ b/libstdc++-v3/include/c/std_cstdarg.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c/std_cstddef.h b/libstdc++-v3/include/c/std_cstddef.h
index 4178ecf37ee..33269af6ba0 100644
--- a/libstdc++-v3/include/c/std_cstddef.h
+++ b/libstdc++-v3/include/c/std_cstddef.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c/std_cstdio.h b/libstdc++-v3/include/c/std_cstdio.h
index fa04bc4518d..5cb8bcfcf97 100644
--- a/libstdc++-v3/include/c/std_cstdio.h
+++ b/libstdc++-v3/include/c/std_cstdio.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c/std_cstdlib.h b/libstdc++-v3/include/c/std_cstdlib.h
index 90b2f106576..85f5bf76207 100644
--- a/libstdc++-v3/include/c/std_cstdlib.h
+++ b/libstdc++-v3/include/c/std_cstdlib.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c/std_cstring.h b/libstdc++-v3/include/c/std_cstring.h
index 72ee44f9255..ed7719c317e 100644
--- a/libstdc++-v3/include/c/std_cstring.h
+++ b/libstdc++-v3/include/c/std_cstring.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c/std_ctime.h b/libstdc++-v3/include/c/std_ctime.h
index 197a1f8b864..1d2bd3fd4e1 100644
--- a/libstdc++-v3/include/c/std_ctime.h
+++ b/libstdc++-v3/include/c/std_ctime.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c/std_cwchar.h b/libstdc++-v3/include/c/std_cwchar.h
index 0d2f6be5491..69576b5035b 100644
--- a/libstdc++-v3/include/c/std_cwchar.h
+++ b/libstdc++-v3/include/c/std_cwchar.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c/std_cwctype.h b/libstdc++-v3/include/c/std_cwctype.h
index 9302864828c..a91676006e3 100644
--- a/libstdc++-v3/include/c/std_cwctype.h
+++ b/libstdc++-v3/include/c/std_cwctype.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_compatibility/assert.h b/libstdc++-v3/include/c_compatibility/assert.h
index cb5313fa97b..fc14c0f4bcd 100644
--- a/libstdc++-v3/include/c_compatibility/assert.h
+++ b/libstdc++-v3/include/c_compatibility/assert.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_compatibility/ctype.h b/libstdc++-v3/include/c_compatibility/ctype.h
index 3a610d1777b..1bd379dee4d 100644
--- a/libstdc++-v3/include/c_compatibility/ctype.h
+++ b/libstdc++-v3/include/c_compatibility/ctype.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_compatibility/errno.h b/libstdc++-v3/include/c_compatibility/errno.h
index f6b2b768680..d7cc829452b 100644
--- a/libstdc++-v3/include/c_compatibility/errno.h
+++ b/libstdc++-v3/include/c_compatibility/errno.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_compatibility/float.h b/libstdc++-v3/include/c_compatibility/float.h
index 5eaaba6e593..adeb73fef83 100644
--- a/libstdc++-v3/include/c_compatibility/float.h
+++ b/libstdc++-v3/include/c_compatibility/float.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_compatibility/iso646.h b/libstdc++-v3/include/c_compatibility/iso646.h
index 83c536431f7..d5097ca7251 100644
--- a/libstdc++-v3/include/c_compatibility/iso646.h
+++ b/libstdc++-v3/include/c_compatibility/iso646.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_compatibility/limits.h b/libstdc++-v3/include/c_compatibility/limits.h
index d9a753c1c6e..e7abd017fbf 100644
--- a/libstdc++-v3/include/c_compatibility/limits.h
+++ b/libstdc++-v3/include/c_compatibility/limits.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_compatibility/locale.h b/libstdc++-v3/include/c_compatibility/locale.h
index 549bd7d5ea3..8baf041e20f 100644
--- a/libstdc++-v3/include/c_compatibility/locale.h
+++ b/libstdc++-v3/include/c_compatibility/locale.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_compatibility/math.h b/libstdc++-v3/include/c_compatibility/math.h
index 1cd48cf45db..38636e60c1b 100644
--- a/libstdc++-v3/include/c_compatibility/math.h
+++ b/libstdc++-v3/include/c_compatibility/math.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_compatibility/setjmp.h b/libstdc++-v3/include/c_compatibility/setjmp.h
index 0bcad031867..f2d481ae17d 100644
--- a/libstdc++-v3/include/c_compatibility/setjmp.h
+++ b/libstdc++-v3/include/c_compatibility/setjmp.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_compatibility/signal.h b/libstdc++-v3/include/c_compatibility/signal.h
index b43deb5968a..ae1d23d56af 100644
--- a/libstdc++-v3/include/c_compatibility/signal.h
+++ b/libstdc++-v3/include/c_compatibility/signal.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_compatibility/stdarg.h b/libstdc++-v3/include/c_compatibility/stdarg.h
index 76d6c74b2a2..9b92a93f9c2 100644
--- a/libstdc++-v3/include/c_compatibility/stdarg.h
+++ b/libstdc++-v3/include/c_compatibility/stdarg.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_compatibility/stddef.h b/libstdc++-v3/include/c_compatibility/stddef.h
index 4dac7db2989..457cd0062d2 100644
--- a/libstdc++-v3/include/c_compatibility/stddef.h
+++ b/libstdc++-v3/include/c_compatibility/stddef.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_compatibility/stdio.h b/libstdc++-v3/include/c_compatibility/stdio.h
index 2686a728035..270852f5329 100644
--- a/libstdc++-v3/include/c_compatibility/stdio.h
+++ b/libstdc++-v3/include/c_compatibility/stdio.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_compatibility/stdlib.h b/libstdc++-v3/include/c_compatibility/stdlib.h
index 2b05c1a3b44..dbf99b4a58f 100644
--- a/libstdc++-v3/include/c_compatibility/stdlib.h
+++ b/libstdc++-v3/include/c_compatibility/stdlib.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_compatibility/string.h b/libstdc++-v3/include/c_compatibility/string.h
index a399f60b34b..09e59cfef2c 100644
--- a/libstdc++-v3/include/c_compatibility/string.h
+++ b/libstdc++-v3/include/c_compatibility/string.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_compatibility/time.h b/libstdc++-v3/include/c_compatibility/time.h
index 0e7e2ad917b..d5684adf2d9 100644
--- a/libstdc++-v3/include/c_compatibility/time.h
+++ b/libstdc++-v3/include/c_compatibility/time.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_compatibility/wchar.h b/libstdc++-v3/include/c_compatibility/wchar.h
index a962ff2ffb9..2071ae436de 100644
--- a/libstdc++-v3/include/c_compatibility/wchar.h
+++ b/libstdc++-v3/include/c_compatibility/wchar.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_compatibility/wctype.h b/libstdc++-v3/include/c_compatibility/wctype.h
index 6086f3d6235..c7ddc903ab9 100644
--- a/libstdc++-v3/include/c_compatibility/wctype.h
+++ b/libstdc++-v3/include/c_compatibility/wctype.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_std/cmath.tcc b/libstdc++-v3/include/c_std/cmath.tcc
index d771467ec61..737b58c7de9 100644
--- a/libstdc++-v3/include/c_std/cmath.tcc
+++ b/libstdc++-v3/include/c_std/cmath.tcc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_std/std_cassert.h b/libstdc++-v3/include/c_std/std_cassert.h
index 9fc1079b82a..8f625525216 100644
--- a/libstdc++-v3/include/c_std/std_cassert.h
+++ b/libstdc++-v3/include/c_std/std_cassert.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_std/std_cctype.h b/libstdc++-v3/include/c_std/std_cctype.h
index 65a4214657c..99dae48b8ae 100644
--- a/libstdc++-v3/include/c_std/std_cctype.h
+++ b/libstdc++-v3/include/c_std/std_cctype.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_std/std_cerrno.h b/libstdc++-v3/include/c_std/std_cerrno.h
index 7915e14ba27..e50295a1f47 100644
--- a/libstdc++-v3/include/c_std/std_cerrno.h
+++ b/libstdc++-v3/include/c_std/std_cerrno.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_std/std_cfloat.h b/libstdc++-v3/include/c_std/std_cfloat.h
index 4c5bb00f204..13d59f4ed47 100644
--- a/libstdc++-v3/include/c_std/std_cfloat.h
+++ b/libstdc++-v3/include/c_std/std_cfloat.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_std/std_ciso646.h b/libstdc++-v3/include/c_std/std_ciso646.h
index 0993a0a7d6f..4ffd3bb1a9b 100644
--- a/libstdc++-v3/include/c_std/std_ciso646.h
+++ b/libstdc++-v3/include/c_std/std_ciso646.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_std/std_climits.h b/libstdc++-v3/include/c_std/std_climits.h
index f4e1d8f77fa..8dfb22c48ad 100644
--- a/libstdc++-v3/include/c_std/std_climits.h
+++ b/libstdc++-v3/include/c_std/std_climits.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_std/std_clocale.h b/libstdc++-v3/include/c_std/std_clocale.h
index 988b84924af..48865dc0b06 100644
--- a/libstdc++-v3/include/c_std/std_clocale.h
+++ b/libstdc++-v3/include/c_std/std_clocale.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_std/std_cmath.h b/libstdc++-v3/include/c_std/std_cmath.h
index 1dd6c732ab1..987f1392539 100644
--- a/libstdc++-v3/include/c_std/std_cmath.h
+++ b/libstdc++-v3/include/c_std/std_cmath.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -444,57 +444,57 @@ namespace std
namespace __gnu_cxx
{
template<typename _Tp>
- int
+ inline int
__capture_fpclassify(_Tp __f) { return fpclassify(__f); }
template<typename _Tp>
- int
+ inline int
__capture_isfinite(_Tp __f) { return isfinite(__f); }
template<typename _Tp>
- int
+ inline int
__capture_isinf(_Tp __f) { return isinf(__f); }
template<typename _Tp>
- int
+ inline int
__capture_isnan(_Tp __f) { return isnan(__f); }
template<typename _Tp>
- int
+ inline int
__capture_isnormal(_Tp __f) { return isnormal(__f); }
template<typename _Tp>
- int
+ inline int
__capture_signbit(_Tp __f) { return signbit(__f); }
template<typename _Tp>
- int
+ inline int
__capture_isgreater(_Tp __f1, _Tp __f2)
{ return isgreater(__f1, __f2); }
template<typename _Tp>
- int
- __capture_isgreaterequal(_Tp __f1, _Tp __f2)
- { return isgreaterequal(__f1, __f2); }
+ inline int
+ __capture_isgreaterequal(_Tp __f1, _Tp __f2)
+ { return isgreaterequal(__f1, __f2); }
template<typename _Tp>
- int
- __capture_isless(_Tp __f1, _Tp __f2) { return isless(__f1, __f2); }
+ inline int
+ __capture_isless(_Tp __f1, _Tp __f2) { return isless(__f1, __f2); }
template<typename _Tp>
- int
- __capture_islessequal(_Tp __f1, _Tp __f2)
- { return islessequal(__f1, __f2); }
+ inline int
+ __capture_islessequal(_Tp __f1, _Tp __f2)
+ { return islessequal(__f1, __f2); }
template<typename _Tp>
- int
- __capture_islessgreater(_Tp __f1, _Tp __f2)
- { return islessgreater(__f1, __f2); }
+ inline int
+ __capture_islessgreater(_Tp __f1, _Tp __f2)
+ { return islessgreater(__f1, __f2); }
template<typename _Tp>
- int
- __capture_isunordered(_Tp __f1, _Tp __f2)
- { return isunordered(__f1, __f2); }
+ inline int
+ __capture_isunordered(_Tp __f1, _Tp __f2)
+ { return isunordered(__f1, __f2); }
}
// Only undefine the C99 FP macros, if actually captured for namespace movement
@@ -514,56 +514,56 @@ namespace __gnu_cxx
namespace std
{
template<typename _Tp>
- int
+ inline int
fpclassify(_Tp __f) { return __gnu_cxx::__capture_fpclassify(__f); }
template<typename _Tp>
- int
+ inline int
isfinite(_Tp __f) { return __gnu_cxx::__capture_isfinite(__f); }
template<typename _Tp>
- int
+ inline int
isinf(_Tp __f) { return __gnu_cxx::__capture_isinf(__f); }
template<typename _Tp>
- int
+ inline int
isnan(_Tp __f) { return __gnu_cxx::__capture_isnan(__f); }
template<typename _Tp>
- int
+ inline int
isnormal(_Tp __f) { return __gnu_cxx::__capture_isnormal(__f); }
template<typename _Tp>
- int
+ inline int
signbit(_Tp __f) { return __gnu_cxx::__capture_signbit(__f); }
template<typename _Tp>
- int
+ inline int
isgreater(_Tp __f1, _Tp __f2)
{ return __gnu_cxx::__capture_isgreater(__f1, __f2); }
template<typename _Tp>
- int
+ inline int
isgreaterequal(_Tp __f1, _Tp __f2)
{ return __gnu_cxx::__capture_isgreaterequal(__f1, __f2); }
template<typename _Tp>
- int
+ inline int
isless(_Tp __f1, _Tp __f2)
{ return __gnu_cxx::__capture_isless(__f1, __f2); }
template<typename _Tp>
- int
+ inline int
islessequal(_Tp __f1, _Tp __f2)
{ return __gnu_cxx::__capture_islessequal(__f1, __f2); }
template<typename _Tp>
- int
+ inline int
islessgreater(_Tp __f1, _Tp __f2)
{ return __gnu_cxx::__capture_islessgreater(__f1, __f2); }
template<typename _Tp>
- int
+ inline int
isunordered(_Tp __f1, _Tp __f2)
{ return __gnu_cxx::__capture_isunordered(__f1, __f2); }
}
diff --git a/libstdc++-v3/include/c_std/std_csetjmp.h b/libstdc++-v3/include/c_std/std_csetjmp.h
index d5fe073f0fc..26894e026dd 100644
--- a/libstdc++-v3/include/c_std/std_csetjmp.h
+++ b/libstdc++-v3/include/c_std/std_csetjmp.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_std/std_csignal.h b/libstdc++-v3/include/c_std/std_csignal.h
index 5734cf6d29a..7ef3af391bb 100644
--- a/libstdc++-v3/include/c_std/std_csignal.h
+++ b/libstdc++-v3/include/c_std/std_csignal.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_std/std_cstdarg.h b/libstdc++-v3/include/c_std/std_cstdarg.h
index ca362e4b412..0569cb775e9 100644
--- a/libstdc++-v3/include/c_std/std_cstdarg.h
+++ b/libstdc++-v3/include/c_std/std_cstdarg.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_std/std_cstddef.h b/libstdc++-v3/include/c_std/std_cstddef.h
index 4fa82c6aa9b..af347772cbf 100644
--- a/libstdc++-v3/include/c_std/std_cstddef.h
+++ b/libstdc++-v3/include/c_std/std_cstddef.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_std/std_cstdio.h b/libstdc++-v3/include/c_std/std_cstdio.h
index 57bbb3ddb97..82a50d90b0b 100644
--- a/libstdc++-v3/include/c_std/std_cstdio.h
+++ b/libstdc++-v3/include/c_std/std_cstdio.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_std/std_cstdlib.h b/libstdc++-v3/include/c_std/std_cstdlib.h
index cf91f27b2d3..d87aa60e8d5 100644
--- a/libstdc++-v3/include/c_std/std_cstdlib.h
+++ b/libstdc++-v3/include/c_std/std_cstdlib.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_std/std_cstring.h b/libstdc++-v3/include/c_std/std_cstring.h
index dad40c290ad..3c28e0f7cf5 100644
--- a/libstdc++-v3/include/c_std/std_cstring.h
+++ b/libstdc++-v3/include/c_std/std_cstring.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_std/std_ctime.h b/libstdc++-v3/include/c_std/std_ctime.h
index fe890dfd580..7b8621d5034 100644
--- a/libstdc++-v3/include/c_std/std_ctime.h
+++ b/libstdc++-v3/include/c_std/std_ctime.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_std/std_cwchar.h b/libstdc++-v3/include/c_std/std_cwchar.h
index d9e11e95a9a..26c4264ef34 100644
--- a/libstdc++-v3/include/c_std/std_cwchar.h
+++ b/libstdc++-v3/include/c_std/std_cwchar.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/c_std/std_cwctype.h b/libstdc++-v3/include/c_std/std_cwctype.h
index 86d0dfdab15..52e5c233506 100644
--- a/libstdc++-v3/include/c_std/std_cwctype.h
+++ b/libstdc++-v3/include/c_std/std_cwctype.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/debug/bitset b/libstdc++-v3/include/debug/bitset
index e292fea3d95..2bdca187b5c 100644
--- a/libstdc++-v3/include/debug/bitset
+++ b/libstdc++-v3/include/debug/bitset
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/debug/debug.h b/libstdc++-v3/include/debug/debug.h
index 7cd08cdeca0..c2910968176 100644
--- a/libstdc++-v3/include/debug/debug.h
+++ b/libstdc++-v3/include/debug/debug.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -40,11 +40,35 @@
*/
#ifdef _GLIBCXX_DEBUG
-# include <debug/macros.h>
-# define _GLIBCXX_DEBUG_ASSERT(_Condition) _GLIBCXX_DEBUG_ABORT(_Condition)
+
+# include <debug/macros.h>
+# include <cstdlib>
+# include <cstdio>
+
+// Avoid the use of assert, because we're trying to keep the <cassert>
+// include out of the mix.
+namespace __gnu_debug
+{
+ inline void
+ __replacement_assert(const char* __file, int __line, const char* __function,
+ const char* __condition)
+ {
+ std::printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line,
+ __function, __condition);
+ std::abort();
+ }
+}
+
+#define _GLIBCXX_DEBUG_ASSERT(_Condition) \
+ do { \
+ if (! (_Condition)) \
+ ::__gnu_debug::__replacement_assert(__FILE__, __LINE__, \
+ __PRETTY_FUNCTION__, \
+ #_Condition); \
+ } while (false)
# ifdef _GLIBCXX_DEBUG_PEDANTIC
-# define _GLIBCXX_DEBUG_PEDASSERT(_Condition) _GLIBCXX_DEBUG_ABORT(_Condition)
+# define _GLIBCXX_DEBUG_PEDASSERT(_Condition) _GLIBCXX_DEBUG_ASSERT(_Condition)
# else
# define _GLIBCXX_DEBUG_PEDASSERT(_Condition)
# endif
diff --git a/libstdc++-v3/include/debug/deque b/libstdc++-v3/include/debug/deque
index 5d87cdaeb34..a69ce621979 100644
--- a/libstdc++-v3/include/debug/deque
+++ b/libstdc++-v3/include/debug/deque
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/debug/formatter.h b/libstdc++-v3/include/debug/formatter.h
index 20836cfbb61..2c2035ea880 100644
--- a/libstdc++-v3/include/debug/formatter.h
+++ b/libstdc++-v3/include/debug/formatter.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/debug/functions.h b/libstdc++-v3/include/debug/functions.h
index 28834d4786e..744071120cc 100644
--- a/libstdc++-v3/include/debug/functions.h
+++ b/libstdc++-v3/include/debug/functions.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/debug/hash_map b/libstdc++-v3/include/debug/hash_map
index d4d149756cd..fe2af59e8de 100644
--- a/libstdc++-v3/include/debug/hash_map
+++ b/libstdc++-v3/include/debug/hash_map
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/debug/hash_map.h b/libstdc++-v3/include/debug/hash_map.h
index c2cd7b8ca69..a6900b5f3c2 100644
--- a/libstdc++-v3/include/debug/hash_map.h
+++ b/libstdc++-v3/include/debug/hash_map.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/debug/hash_multimap.h b/libstdc++-v3/include/debug/hash_multimap.h
index 83b4425aaf0..a6db0f2f2d5 100644
--- a/libstdc++-v3/include/debug/hash_multimap.h
+++ b/libstdc++-v3/include/debug/hash_multimap.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/debug/hash_multiset.h b/libstdc++-v3/include/debug/hash_multiset.h
index 705d8da2532..a1ad151afb0 100644
--- a/libstdc++-v3/include/debug/hash_multiset.h
+++ b/libstdc++-v3/include/debug/hash_multiset.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/debug/hash_set b/libstdc++-v3/include/debug/hash_set
index c600f07c160..fad5bdddab8 100644
--- a/libstdc++-v3/include/debug/hash_set
+++ b/libstdc++-v3/include/debug/hash_set
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/debug/hash_set.h b/libstdc++-v3/include/debug/hash_set.h
index 0f56d882935..aa62a2ea7e3 100644
--- a/libstdc++-v3/include/debug/hash_set.h
+++ b/libstdc++-v3/include/debug/hash_set.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/debug/list b/libstdc++-v3/include/debug/list
index 745f14ea7b7..2e6d0fa5103 100644
--- a/libstdc++-v3/include/debug/list
+++ b/libstdc++-v3/include/debug/list
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/debug/macros.h b/libstdc++-v3/include/debug/macros.h
index 3fe60c9df9a..9b279cbf36a 100644
--- a/libstdc++-v3/include/debug/macros.h
+++ b/libstdc++-v3/include/debug/macros.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -40,16 +40,6 @@
* the user error and where the error is reported.
*
*/
-namespace __gnu_debug
-{ void __fancy_abort(const char*, int, const char*, const char*); }
-#define _GLIBCXX_DEBUG_ABORT(_Condition) \
- do { \
- if (! (_Condition)) \
- ::__gnu_debug::__fancy_abort(__FILE__, __LINE__, \
- __PRETTY_FUNCTION__, \
- #_Condition); \
- } while (false)
-
#define _GLIBCXX_DEBUG_VERIFY(_Condition,_ErrorMessage) \
do { \
if (! (_Condition)) \
diff --git a/libstdc++-v3/include/debug/map b/libstdc++-v3/include/debug/map
index 2c384048718..ae74e7e7f49 100644
--- a/libstdc++-v3/include/debug/map
+++ b/libstdc++-v3/include/debug/map
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/debug/map.h b/libstdc++-v3/include/debug/map.h
index 75ae2f4bcf3..e0722db6c4f 100644
--- a/libstdc++-v3/include/debug/map.h
+++ b/libstdc++-v3/include/debug/map.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -142,6 +142,10 @@ namespace __gnu_debug_def
// 23.3.1.2 element access:
using _Base::operator[];
+ // _GLIBCXX_RESOLVE_LIB_DEFECTS
+ // DR 464. Suggestion for new member functions in standard containers.
+ using _Base::at;
+
// modifiers:
std::pair<iterator, bool>
insert(const value_type& __x)
diff --git a/libstdc++-v3/include/debug/multimap.h b/libstdc++-v3/include/debug/multimap.h
index d5dbe5c2f71..89f5e87ad34 100644
--- a/libstdc++-v3/include/debug/multimap.h
+++ b/libstdc++-v3/include/debug/multimap.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/debug/multiset.h b/libstdc++-v3/include/debug/multiset.h
index 879e2feb59a..7353be94dfa 100644
--- a/libstdc++-v3/include/debug/multiset.h
+++ b/libstdc++-v3/include/debug/multiset.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/debug/safe_base.h b/libstdc++-v3/include/debug/safe_base.h
index a1af33ac5f7..b42a6c9c992 100644
--- a/libstdc++-v3/include/debug/safe_base.h
+++ b/libstdc++-v3/include/debug/safe_base.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/debug/safe_iterator.h b/libstdc++-v3/include/debug/safe_iterator.h
index 8d96f397c85..0ff967eea54 100644
--- a/libstdc++-v3/include/debug/safe_iterator.h
+++ b/libstdc++-v3/include/debug/safe_iterator.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/debug/safe_iterator.tcc b/libstdc++-v3/include/debug/safe_iterator.tcc
index cede969d168..da4d413b7e3 100644
--- a/libstdc++-v3/include/debug/safe_iterator.tcc
+++ b/libstdc++-v3/include/debug/safe_iterator.tcc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/debug/safe_sequence.h b/libstdc++-v3/include/debug/safe_sequence.h
index a1577b4b4ee..82c5ae0047f 100644
--- a/libstdc++-v3/include/debug/safe_sequence.h
+++ b/libstdc++-v3/include/debug/safe_sequence.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/debug/set b/libstdc++-v3/include/debug/set
index a1a69efb4f4..002b3243471 100644
--- a/libstdc++-v3/include/debug/set
+++ b/libstdc++-v3/include/debug/set
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/debug/set.h b/libstdc++-v3/include/debug/set.h
index f6fd451e1b9..d89a165ee4e 100644
--- a/libstdc++-v3/include/debug/set.h
+++ b/libstdc++-v3/include/debug/set.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/debug/string b/libstdc++-v3/include/debug/string
index 26a1582d3d8..18f90d068bd 100644
--- a/libstdc++-v3/include/debug/string
+++ b/libstdc++-v3/include/debug/string
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/debug/vector b/libstdc++-v3/include/debug/vector
index 05c15ec18d3..f2b36182423 100644
--- a/libstdc++-v3/include/debug/vector
+++ b/libstdc++-v3/include/debug/vector
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -230,6 +230,10 @@ namespace __gnu_debug_def
return _Base::back();
}
+ // _GLIBCXX_RESOLVE_LIB_DEFECTS
+ // DR 464. Suggestion for new member functions in standard containers.
+ using _Base::data;
+
// 23.2.4.3 modifiers:
void
push_back(const _Tp& __x)
diff --git a/libstdc++-v3/include/ext/algorithm b/libstdc++-v3/include/ext/algorithm
index 52de67ce684..44026209544 100644
--- a/libstdc++-v3/include/ext/algorithm
+++ b/libstdc++-v3/include/ext/algorithm
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/array_allocator.h b/libstdc++-v3/include/ext/array_allocator.h
index 8689d9da26a..77f5b5cc872 100644
--- a/libstdc++-v3/include/ext/array_allocator.h
+++ b/libstdc++-v3/include/ext/array_allocator.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/bitmap_allocator.h b/libstdc++-v3/include/ext/bitmap_allocator.h
index 1d5bf2077d8..7860b6dbf97 100644
--- a/libstdc++-v3/include/ext/bitmap_allocator.h
+++ b/libstdc++-v3/include/ext/bitmap_allocator.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/codecvt_specializations.h b/libstdc++-v3/include/ext/codecvt_specializations.h
index af343a169e3..82a5a7b0870 100644
--- a/libstdc++-v3/include/ext/codecvt_specializations.h
+++ b/libstdc++-v3/include/ext/codecvt_specializations.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/debug_allocator.h b/libstdc++-v3/include/ext/debug_allocator.h
index ee6a105b4a8..a0187a00305 100644
--- a/libstdc++-v3/include/ext/debug_allocator.h
+++ b/libstdc++-v3/include/ext/debug_allocator.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/functional b/libstdc++-v3/include/ext/functional
index 7d0b45b9b17..18132c371d1 100644
--- a/libstdc++-v3/include/ext/functional
+++ b/libstdc++-v3/include/ext/functional
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/hash_fun.h b/libstdc++-v3/include/ext/hash_fun.h
index 3f15e5fef1c..6933fea64f9 100644
--- a/libstdc++-v3/include/ext/hash_fun.h
+++ b/libstdc++-v3/include/ext/hash_fun.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/hash_map b/libstdc++-v3/include/ext/hash_map
index 20eebeb29a2..3340cc36a71 100644
--- a/libstdc++-v3/include/ext/hash_map
+++ b/libstdc++-v3/include/ext/hash_map
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/hash_set b/libstdc++-v3/include/ext/hash_set
index 120bfc5ae4b..1179e885aab 100644
--- a/libstdc++-v3/include/ext/hash_set
+++ b/libstdc++-v3/include/ext/hash_set
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/hashtable.h b/libstdc++-v3/include/ext/hashtable.h
index fc9beb62d06..f6e3fd66c96 100644
--- a/libstdc++-v3/include/ext/hashtable.h
+++ b/libstdc++-v3/include/ext/hashtable.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/iterator b/libstdc++-v3/include/ext/iterator
index 35096271595..e6334ad0fa2 100644
--- a/libstdc++-v3/include/ext/iterator
+++ b/libstdc++-v3/include/ext/iterator
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/malloc_allocator.h b/libstdc++-v3/include/ext/malloc_allocator.h
index 55878b25448..6d66c26d850 100644
--- a/libstdc++-v3/include/ext/malloc_allocator.h
+++ b/libstdc++-v3/include/ext/malloc_allocator.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/memory b/libstdc++-v3/include/ext/memory
index 6244c0e1d65..deb77f84ece 100644
--- a/libstdc++-v3/include/ext/memory
+++ b/libstdc++-v3/include/ext/memory
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/mt_allocator.h b/libstdc++-v3/include/ext/mt_allocator.h
index 6177ded4daf..b2cf89b562c 100644
--- a/libstdc++-v3/include/ext/mt_allocator.h
+++ b/libstdc++-v3/include/ext/mt_allocator.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/new_allocator.h b/libstdc++-v3/include/ext/new_allocator.h
index f6f777be465..40122c22054 100644
--- a/libstdc++-v3/include/ext/new_allocator.h
+++ b/libstdc++-v3/include/ext/new_allocator.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/numeric b/libstdc++-v3/include/ext/numeric
index 8bb1ad7de61..0f112c2d6e1 100644
--- a/libstdc++-v3/include/ext/numeric
+++ b/libstdc++-v3/include/ext/numeric
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/assoc_cntnr.hpp b/libstdc++-v3/include/ext/pb_assoc/assoc_cntnr.hpp
index 6615536c546..741b93814b5 100644
--- a/libstdc++-v3/include/ext/pb_assoc/assoc_cntnr.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/assoc_cntnr.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/data_type.hpp b/libstdc++-v3/include/ext/pb_assoc/data_type.hpp
index 8584b782928..b670a0088a3 100644
--- a/libstdc++-v3/include/ext/pb_assoc/data_type.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/data_type.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/assoc_cntnr_base.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/assoc_cntnr_base.hpp
index bce621bb2d7..4e441b81a99 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/assoc_cntnr_base.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/assoc_cntnr_base.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/constructor_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/constructor_destructor_fn_imps.hpp
index abe851ceda4..a0dd0898bfb 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/constructor_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/constructor_destructor_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/constructors_destructor_fn_imps.hpp
index 9f85fad2004..5cd12513c2b 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/constructors_destructor_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/d_extract_key.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/d_extract_key.hpp
index 31794ecf0d8..1c7747edaa4 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/d_extract_key.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/d_extract_key.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/d_find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/d_find_fn_imps.hpp
index 1c3c40252b0..30b03281d19 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/d_find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/d_find_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/d_insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/d_insert_fn_imps.hpp
index e7878ce22b4..4193589d3eb 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/d_insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/d_insert_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/erase_fn_imps.hpp
index 909cbeb1bb9..e22bc264559 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/erase_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/extract_key.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/extract_key.hpp
index cd24328aa77..6806d0b89e7 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/extract_key.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/extract_key.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/info_fn_imps.hpp
index 07a1ec885d3..7467b05fb26 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/info_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/insert_fn_imps.hpp
index 919402e7a11..c8edc7eb95c 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/insert_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/iterators_fn_imps.hpp
index c2c095480a8..3bd1642c190 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/iterators_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp
index c9d33302c8a..da0be878a84 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/constructors_destructor_fn_imps.hpp
index ba5cb5f9ecf..48180a1744b 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/constructors_destructor_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/resize_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/resize_fn_imps.hpp
index fc5cd65c6f8..c5dd7143860 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/resize_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/resize_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/constructor_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/constructor_destructor_fn_imps.hpp
index 82f55368fe4..c5d2d01626e 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/constructor_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/constructor_destructor_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/constructors_destructor_fn_imps.hpp
index 82f55368fe4..c5d2d01626e 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/constructors_destructor_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/erase_fn_imps.hpp
index a69f6350dbc..b91511ce8d2 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/erase_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/node_iteration_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/node_iteration_fn_imps.hpp
index 6f3f42370f3..d872d3df8a6 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/node_iteration_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/node_iteration_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/policy_access_fn_imps.hpp
index c3e3794e3fb..7c71b6e0e13 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/policy_access_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/r_erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/r_erase_fn_imps.hpp
index 4dbaaec4600..f6f13e1dbbe 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/r_erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/r_erase_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/r_range_iteration_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/r_range_iteration_fn_imps.hpp
index 67a2abaa9fe..bdeb1d352bb 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/r_range_iteration_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/r_range_iteration_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/range_iteration_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/range_iteration_fn_imps.hpp
index 67a2abaa9fe..bdeb1d352bb 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/range_iteration_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/range_iteration_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/split_join_fn_imps.hpp
index 18d30ba1dc6..b8c46562a9b 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/split_join_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/bin_search_tree_.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/bin_search_tree_.hpp
index 5667f0ac8bf..b450f539807 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/bin_search_tree_.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/bin_search_tree_.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/cond_dtor_entry_dealtor.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/cond_dtor_entry_dealtor.hpp
index 6061dec0b04..37048874f5a 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/cond_dtor_entry_dealtor.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/cond_dtor_entry_dealtor.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/cond_key_dtor_entry_dealtor.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/cond_key_dtor_entry_dealtor.hpp
index 0d536a03b4a..022404fb66d 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/cond_key_dtor_entry_dealtor.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/cond_key_dtor_entry_dealtor.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp
index 81454e242df..4020e62f4f7 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/debug_fn_imps.hpp
index 9c31cb8efbf..f3b12d06d6f 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/debug_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/erase_fn_imps.hpp
index 872530b4102..cceea5134ee 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/erase_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/find_fn_imps.hpp
index 1d8449c719d..436cd25f861 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/find_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/find_iterators.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/find_iterators.hpp
index 69821ee4ffc..d6ddadc7a55 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/find_iterators.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/find_iterators.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/info_fn_imps.hpp
index d6d4f547b78..d60da1a9093 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/info_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/insert_fn_imps.hpp
index 725f5007eff..664a9d1d896 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/insert_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/iterators_fn_imps.hpp
index 275fc748e71..57c23f21653 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/iterators_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/node_iterators.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/node_iterators.hpp
index d7425b355d8..0386fea973b 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/node_iterators.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/node_iterators.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/r_erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/r_erase_fn_imps.hpp
index c80d04428ef..280300139c7 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/r_erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/r_erase_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/rotate_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/rotate_fn_imps.hpp
index bbca8ea1fed..356a9f79670 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/rotate_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/rotate_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/split_join_fn_imps.hpp
index 116e793d009..2bd3c64e210 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/split_join_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp
index 490ddb85fa5..5345c17323c 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/cc_ht_map_.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/cc_ht_map_.hpp
index 3425ebf8ee8..a854afc2576 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/cc_ht_map_.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/cc_ht_map_.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/cmp_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/cmp_fn_imps.hpp
index 7eac5808df8..a10167fd193 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/cmp_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/cmp_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/cond_key_dtor_entry_dealtor.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/cond_key_dtor_entry_dealtor.hpp
index 864b80541bc..343dc512653 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/cond_key_dtor_entry_dealtor.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/cond_key_dtor_entry_dealtor.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/constructor_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/constructor_destructor_fn_imps.hpp
index 90fa272b6c4..4dedb91259d 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/constructor_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/constructor_destructor_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/constructor_destructor_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/constructor_destructor_no_store_hash_fn_imps.hpp
index 79641a6bc18..6687d5dff83 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/constructor_destructor_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/constructor_destructor_no_store_hash_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/constructor_destructor_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/constructor_destructor_store_hash_fn_imps.hpp
index 551ae8663e2..2ea0864a456 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/constructor_destructor_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/constructor_destructor_store_hash_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/debug_fn_imps.hpp
index 639f74d4bd4..cd58e234ff4 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/debug_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/debug_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/debug_no_store_hash_fn_imps.hpp
index 1af3be69d48..889b59d39a2 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/debug_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/debug_no_store_hash_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/debug_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/debug_store_hash_fn_imps.hpp
index ae9800301f2..41b520ebb47 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/debug_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/debug_store_hash_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/entry_list_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/entry_list_fn_imps.hpp
index 9ea01b549af..e5297ec1899 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/entry_list_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/entry_list_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/erase_fn_imps.hpp
index 525a41a4fa9..c9875c7d082 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/erase_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/erase_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/erase_no_store_hash_fn_imps.hpp
index 1b3e3c5e330..2ad4444bcff 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/erase_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/erase_no_store_hash_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/erase_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/erase_store_hash_fn_imps.hpp
index 2762eba3606..e3d429f8390 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/erase_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/erase_store_hash_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/find_fn_imps.hpp
index c72aa512226..a287d5bffb9 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/find_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/find_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/find_no_store_hash_fn_imps.hpp
index ff876ff3c51..c0d404d2faf 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/find_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/find_no_store_hash_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/find_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/find_store_hash_fn_imps.hpp
index 3db3dd31263..3b9571e13b5 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/find_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/find_store_hash_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/info_fn_imps.hpp
index f464e789fc6..98894c81c19 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/info_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/insert_fn_imps.hpp
index 2d0a88e3931..15d2353fd96 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/insert_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/insert_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/insert_no_store_hash_fn_imps.hpp
index 1d628fd55ba..c6383a69a39 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/insert_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/insert_no_store_hash_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/insert_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/insert_store_hash_fn_imps.hpp
index 5c546e11d2a..f484fcae2bb 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/insert_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/insert_store_hash_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/iterators_fn_imps.hpp
index 1bdde7562a4..c813a321c64 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/iterators_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/policy_access_fn_imps.hpp
index 2448d6068de..829298bdfdc 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/policy_access_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/resize_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/resize_fn_imps.hpp
index a9b979ea934..f7b1f109d8e 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/resize_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/resize_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/resize_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/resize_no_store_hash_fn_imps.hpp
index 331391d6c7e..0b6ea2d32f8 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/resize_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/resize_no_store_hash_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/resize_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/resize_store_hash_fn_imps.hpp
index 7f02f6df11b..d74a8dd46d7 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/resize_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/resize_store_hash_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/size_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/size_fn_imps.hpp
index 940a165a9a4..3ccc172890d 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/size_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/size_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/standard_policies.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/standard_policies.hpp
index f25135d3792..a32d3ec3bda 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/standard_policies.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/standard_policies.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/cond_dealtor.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/cond_dealtor.hpp
index 238e0c65ded..53f2c506819 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/cond_dealtor.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/cond_dealtor.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/constructors_destructor_fn_imps.hpp
index 6ac0391351f..0f682873927 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/constructors_destructor_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/ds_trait_imp.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/ds_trait_imp.hpp
index 102fda60f2a..d0b82675390 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/ds_trait_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/ds_trait_imp.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/eq_fn/eq_by_less.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/eq_fn/eq_by_less.hpp
index b2f5a0b327a..d09312d0683 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/eq_fn/eq_by_less.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/eq_fn/eq_by_less.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/eq_fn/hash_eq_fn.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/eq_fn/hash_eq_fn.hpp
index 9572bb54a01..bbea3709d65 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/eq_fn/hash_eq_fn.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/eq_fn/hash_eq_fn.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/gp_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/gp_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp
index 610c4695991..0a8f647ba1e 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/gp_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/gp_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_fn_imps.hpp
index d1f6b38133b..cb42444c281 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_no_store_hash_fn_imps.hpp
index 94211247961..715ac789b14 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_no_store_hash_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_store_hash_fn_imps.hpp
index c26b1dbc7f8..22b00705486 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_store_hash_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/debug_fn_imps.hpp
index e02864bb172..e5dccef0749 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/debug_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/debug_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/debug_no_store_hash_fn_imps.hpp
index bef121d9a94..4ce7674ac06 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/debug_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/debug_no_store_hash_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/debug_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/debug_store_hash_fn_imps.hpp
index 7c75c23aaa3..7f245d0b56d 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/debug_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/debug_store_hash_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/erase_fn_imps.hpp
index 1f0e921e0bd..c475b2def01 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/erase_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/erase_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/erase_no_store_hash_fn_imps.hpp
index 5c5e383284f..c4251023247 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/erase_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/erase_no_store_hash_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/erase_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/erase_store_hash_fn_imps.hpp
index b1cd64257bb..60d4aa51cd8 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/erase_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/erase_store_hash_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/find_fn_imps.hpp
index b86de2a2781..076b726996f 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/find_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/find_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/find_no_store_hash_fn_imps.hpp
index 6f63de9f455..bc135b9b817 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/find_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/find_no_store_hash_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/find_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/find_store_hash_fn_imps.hpp
index a4728db88e5..b80087113a1 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/find_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/find_store_hash_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/gp_ht_map_.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/gp_ht_map_.hpp
index 9344844b216..a56a0ede260 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/gp_ht_map_.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/gp_ht_map_.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/info_fn_imps.hpp
index 9969d95eaaa..49e912807db 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/info_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/insert_fn_imps.hpp
index 3e45b170519..ff88d992b04 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/insert_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/insert_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/insert_no_store_hash_fn_imps.hpp
index b83d3cb2d16..24586553777 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/insert_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/insert_no_store_hash_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/insert_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/insert_store_hash_fn_imps.hpp
index 5584e4fed7b..f342a084c6a 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/insert_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/insert_store_hash_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/iterator_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/iterator_fn_imps.hpp
index 8977b823ea3..96a9b29c5ac 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/iterator_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/iterator_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/policy_access_fn_imps.hpp
index 2ba6b237b18..783f6ea63b2 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/policy_access_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/resize_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/resize_fn_imps.hpp
index d7c73ac91da..c3e8981faa9 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/resize_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/resize_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/resize_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/resize_no_store_hash_fn_imps.hpp
index 07f8f2abaee..019673f7df7 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/resize_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/resize_no_store_hash_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/resize_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/resize_store_hash_fn_imps.hpp
index a61ac7a12ce..002512f7b9b 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/resize_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/resize_store_hash_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/direct_mask_range_hashing_imp.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/direct_mask_range_hashing_imp.hpp
index da44db8f4f4..570211389d6 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/direct_mask_range_hashing_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/direct_mask_range_hashing_imp.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/direct_mod_range_hashing_imp.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/direct_mod_range_hashing_imp.hpp
index d38f4bb5391..80ba9c215c2 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/direct_mod_range_hashing_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/direct_mod_range_hashing_imp.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/linear_probe_fn_imp.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/linear_probe_fn_imp.hpp
index 8e23a821643..e0042da8a0f 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/linear_probe_fn_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/linear_probe_fn_imp.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/mask_based_range_hashing.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/mask_based_range_hashing.hpp
index 792c1d2d632..5cf6c99607d 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/mask_based_range_hashing.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/mask_based_range_hashing.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/mod_based_range_hashing.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/mod_based_range_hashing.hpp
index 6f9e8777b25..55dceba0619 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/mod_based_range_hashing.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/mod_based_range_hashing.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/probe_fn_base.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/probe_fn_base.hpp
index 4d5d5e9a35f..9eded811246 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/probe_fn_base.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/probe_fn_base.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/quadratic_probe_fn_imp.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/quadratic_probe_fn_imp.hpp
index bc630755d4c..fec29254736 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/quadratic_probe_fn_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/quadratic_probe_fn_imp.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/ranged_hash_fn.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/ranged_hash_fn.hpp
index efa5a5819c7..c260ccabfe8 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/ranged_hash_fn.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/ranged_hash_fn.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/ranged_probe_fn.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/ranged_probe_fn.hpp
index 60d6acabf16..61643d8d246 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/ranged_probe_fn.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/ranged_probe_fn.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/hash_types_traits.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/hash_types_traits.hpp
index 0caf6226431..01b723f436a 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/hash_types_traits.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/hash_types_traits.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/lu_assoc_cntnr/constructor_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/lu_assoc_cntnr/constructor_destructor_fn_imps.hpp
index 03eae597470..94ded017788 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/lu_assoc_cntnr/constructor_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/lu_assoc_cntnr/constructor_destructor_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/lu_assoc_cntnr/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/lu_assoc_cntnr/policy_access_fn_imps.hpp
index 0c2035e35e8..fe9395cc8e2 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/lu_assoc_cntnr/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/lu_assoc_cntnr/policy_access_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/constructor_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/constructor_destructor_fn_imps.hpp
index ed75adaa3ec..4b6738973c3 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/constructor_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/constructor_destructor_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/debug_fn_imps.hpp
index 23b893de8c1..54982776dc5 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/debug_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/erase_fn_imps.hpp
index f4fc90b75f0..7b5f554ff5a 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/erase_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/find_fn_imps.hpp
index af6901340b5..38ae5f81af7 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/find_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/info_fn_imps.hpp
index 761e2cbb258..663ffe7c174 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/info_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/insert_fn_imps.hpp
index 7ead8cb16f4..df600435d00 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/insert_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/iterators_fn_imps.hpp
index a3be722020a..6ad96a8f45c 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/iterators_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/lu_map_.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/lu_map_.hpp
index 21316e72a27..b91f95fc6d3 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/lu_map_.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/lu_map_.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/policy_access_fn_imps.hpp
index c29194ba7e9..e11e1408772 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/policy_access_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/lu_policy/counter_lu_metadata_imp.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/lu_policy/counter_lu_metadata_imp.hpp
index 0a1348d9d87..28f1960be86 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/lu_policy/counter_lu_metadata_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/lu_policy/counter_lu_metadata_imp.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/lu_policy/counter_lu_policy_imp.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/lu_policy/counter_lu_policy_imp.hpp
index 392c16444cd..1cc8029a370 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/lu_policy/counter_lu_policy_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/lu_policy/counter_lu_policy_imp.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/lu_policy/mtf_lu_policy_imp.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/lu_policy/mtf_lu_policy_imp.hpp
index 8204ce7ff27..291e1064094 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/lu_policy/mtf_lu_policy_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/lu_policy/mtf_lu_policy_imp.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/map_debug_base.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/map_debug_base.hpp
index 2f98a163d1a..4853180a2d7 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/map_debug_base.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/map_debug_base.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/mapping_level_imp.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/mapping_level_imp.hpp
index 47d7d0b4c50..76ffc8c1cf8 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/mapping_level_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/mapping_level_imp.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/ms_category_imp.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/ms_category_imp.hpp
index 2d8b61c283f..7afd168fd7d 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/ms_category_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/ms_category_imp.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/ms_trait_imp.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/ms_trait_imp.hpp
index 0822463e9a3..2d22075089a 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/ms_trait_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/ms_trait_imp.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/order_statistics_imp.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/order_statistics_imp.hpp
index d4031583c9c..7e3550188d6 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/order_statistics_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/order_statistics_imp.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/cond_dtor.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/cond_dtor.hpp
index 0bda538c4ac..aa3e65ded93 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/cond_dtor.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/cond_dtor.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp
index a79f923a178..3285cfbbd57 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/debug_fn_imps.hpp
index 2b7174edc48..156c540540c 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/debug_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/erase_fn_imps.hpp
index 29154cb821e..d1bbe6cc197 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/erase_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/find_fn_imps.hpp
index 8b3d6833bf9..1615546a412 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/find_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/info_fn_imps.hpp
index 0d271e042dd..11ccd3e80e1 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/info_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/insert_fn_imps.hpp
index e889a182e69..072eb0fa6b3 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/insert_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/iterators_fn_imps.hpp
index 0f39b62ac13..8705b09744a 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/iterators_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/node_iterators.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/node_iterators.hpp
index 5633d8bac20..9ec3cd9d7d1 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/node_iterators.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/node_iterators.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/ov_tree_map_.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/ov_tree_map_.hpp
index bea0bc2e14c..94ff223a734 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/ov_tree_map_.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/ov_tree_map_.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/split_join_fn_imps.hpp
index 0cc8a604e3d..b93084bf386 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/split_join_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp
index 1f9fb7f40f1..eacdffd027c 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/debug_fn_imps.hpp
index efedce9851e..e3ae668850f 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/debug_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/erase_fn_imps.hpp
index 3d5461fc639..e137fb7cad2 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/erase_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/find_fn_imps.hpp
index c0984298f68..1ab6be5c696 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/find_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/info_fn_imps.hpp
index 84a452df956..288017d7a2e 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/info_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/insert_fn_imps.hpp
index 413707817bc..0ed22bfccd4 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/insert_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/node.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/node.hpp
index 9a5773bc8e7..801137267b7 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/node.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/node.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/rb_tree_.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/rb_tree_.hpp
index f890323dada..e91d8eaa736 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/rb_tree_.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/rb_tree_.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/split_join_fn_imps.hpp
index 211a5249642..6bc8c17472b 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/split_join_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/cc_hash_max_collision_resize_trigger_imp.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/cc_hash_max_collision_resize_trigger_imp.hpp
index 9504d02c291..2220195f77d 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/cc_hash_max_collision_resize_trigger_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/cc_hash_max_collision_resize_trigger_imp.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/hash_exponential_size_policy_imp.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/hash_exponential_size_policy_imp.hpp
index 62e30e1d874..05e7a97661e 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/hash_exponential_size_policy_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/hash_exponential_size_policy_imp.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp
index 24a2a9a3411..e26d30b2988 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/hash_prime_size_policy_imp.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/hash_prime_size_policy_imp.hpp
index 153b0efb939..a2e98548694 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/hash_prime_size_policy_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/hash_prime_size_policy_imp.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/hash_standard_resize_policy_imp.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/hash_standard_resize_policy_imp.hpp
index 1e266d2dd82..3a6a2fd4546 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/hash_standard_resize_policy_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/hash_standard_resize_policy_imp.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/ht_prime_size_policy_imp.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/ht_prime_size_policy_imp.hpp
index 7f250dad0aa..b4dfb4e0fb5 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/ht_prime_size_policy_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/ht_prime_size_policy_imp.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/size_base.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/size_base.hpp
index 270352b99ec..d9fb53a585c 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/size_base.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/size_base.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/constructors_destructor_fn_imps.hpp
index 77cbdd9d241..3d2b53721d0 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/constructors_destructor_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/debug_fn_imps.hpp
index 51c8fa5eb8d..73230ad568e 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/debug_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/erase_fn_imps.hpp
index 1a0c00c77df..06806275ecf 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/erase_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/find_fn_imps.hpp
index ff67f5983ef..137712711aa 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/find_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/info_fn_imps.hpp
index 186812153da..cb01109cf16 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/info_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/insert_fn_imps.hpp
index 77882f3e6c9..917284f20ed 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/insert_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/node.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/node.hpp
index 5012d587f5d..c9a54602f1f 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/node.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/node.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/splay_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/splay_fn_imps.hpp
index ffccf7b6569..24ed4a0078d 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/splay_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/splay_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/splay_tree_.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/splay_tree_.hpp
index e6762c9d9c5..001cc3ff5e9 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/splay_tree_.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/splay_tree_.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/split_join_fn_imps.hpp
index e1dd0c2eff2..4d3d3e6e8c3 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/split_join_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/standard_policies.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/standard_policies.hpp
index 899dc74ab22..ac94a7de9d7 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/standard_policies.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/standard_policies.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/standard_sizes.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/standard_sizes.hpp
index 6aa63465044..cc667b91d3a 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/standard_sizes.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/standard_sizes.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/tree_assoc_cntnr/constructor_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/tree_assoc_cntnr/constructor_destructor_fn_imps.hpp
index e5f794ddd8f..cc8495fe428 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/tree_assoc_cntnr/constructor_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/tree_assoc_cntnr/constructor_destructor_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/tree_policy/null_node_updator_imp.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/tree_policy/null_node_updator_imp.hpp
index c5662e9b0d8..8cd0013cedd 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/tree_policy/null_node_updator_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/tree_policy/null_node_updator_imp.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/tree_policy/order_statistics_imp.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/tree_policy/order_statistics_imp.hpp
index d4031583c9c..7e3550188d6 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/tree_policy/order_statistics_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/tree_policy/order_statistics_imp.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/type_utils.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/type_utils.hpp
index d288a371032..6c6a4e5c72b 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/type_utils.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/type_utils.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/typelist.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/typelist.hpp
index 213e960f3da..08f50c81848 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/typelist.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/typelist.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_append.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_append.hpp
index 9adc8230753..8b98392845a 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_append.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_append.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_apply.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_apply.hpp
index 6d6bbf94782..29f969212ab 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_apply.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_apply.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_at_index.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_at_index.hpp
index bb7f41e0526..2f1bbd5fd5c 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_at_index.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_at_index.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_contains.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_contains.hpp
index a67448ec640..470ce02d0e1 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_contains.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_contains.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_filter.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_filter.hpp
index ea8f45d2ee4..7e3d8479ce4 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_filter.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_filter.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_transform.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_transform.hpp
index 409e69723c7..60a5ce7e349 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_transform.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_transform.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_typelist_append.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_typelist_append.hpp
index bcc1ca249ef..fd2fba6c867 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_typelist_append.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_typelist_append.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/types_traits.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/types_traits.hpp
index a76a5379457..130242c1076 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/types_traits.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/types_traits.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/unordered_iterator/const_find_iterator.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/unordered_iterator/const_find_iterator.hpp
index aa48f199bc8..a854e8a2aea 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/unordered_iterator/const_find_iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/unordered_iterator/const_find_iterator.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/unordered_iterator/const_iterator.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/unordered_iterator/const_iterator.hpp
index b137a39e8af..cff9abdb01f 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/unordered_iterator/const_iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/unordered_iterator/const_iterator.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/unordered_iterator/find_iterator.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/unordered_iterator/find_iterator.hpp
index 0c65a504edf..f91b6a7e2db 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/unordered_iterator/find_iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/unordered_iterator/find_iterator.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/unordered_iterator/iterator.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/unordered_iterator/iterator.hpp
index e42790411e7..f15d8189ce6 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/unordered_iterator/iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/unordered_iterator/iterator.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/constructor_destructor_and_related.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/constructor_destructor_and_related.hpp
index 4ca05081893..185e4b6be59 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/constructor_destructor_and_related.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/constructor_destructor_and_related.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/erase_fn_imps.hpp
index ffe4997f176..05a2dde131e 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/erase_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/erase_if_pred.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/erase_if_pred.hpp
index b23b543f114..b3a7bbbc92a 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/erase_if_pred.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/erase_if_pred.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/find_fn_imps.hpp
index 4279981b39b..8bf8df441b6 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/find_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/info_fn_imps.hpp
index 43ba91ecf6e..2e33a3c25d2 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/info_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/insert_fn_imps.hpp
index 058671ddb94..8501c130575 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/insert_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/invalidation_guarantee_selector.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/invalidation_guarantee_selector.hpp
index 7e7b3b32ad5..68dd4bd306b 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/invalidation_guarantee_selector.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/invalidation_guarantee_selector.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/it_value_type_traits.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/it_value_type_traits.hpp
index 4ca59bb13ad..c8b09d35154 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/it_value_type_traits.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/it_value_type_traits.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/iterator.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/iterator.hpp
index e3ed301c4d9..a03ce358a0c 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/iterator.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/iterator_fn_imps.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/iterator_fn_imps.hpp
index 739cb07760b..754faf720e0 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/iterator_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/iterator_fn_imps.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/ref_pair.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/ref_pair.hpp
index 063fb7a2b60..8e8fda0702c 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/ref_pair.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/ref_pair.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/value_type_adapter.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/value_type_adapter.hpp
index 5bbceea9e64..343d8610402 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/value_type_adapter.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/value_type_adapter.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/value_type_traits.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/value_type_traits.hpp
index 75fdc42916e..8fbd3e74aa5 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/value_type_traits.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/value_type_traits.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/ds_trait.hpp b/libstdc++-v3/include/ext/pb_assoc/ds_trait.hpp
index 403b2e558c6..bf391afca86 100644
--- a/libstdc++-v3/include/ext/pb_assoc/ds_trait.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/ds_trait.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/exception.hpp b/libstdc++-v3/include/ext/pb_assoc/exception.hpp
index ef7daf89ada..7e38c28b680 100644
--- a/libstdc++-v3/include/ext/pb_assoc/exception.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/exception.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/hash_policy.hpp b/libstdc++-v3/include/ext/pb_assoc/hash_policy.hpp
index 43bd16e4452..d4118c0664d 100644
--- a/libstdc++-v3/include/ext/pb_assoc/hash_policy.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/hash_policy.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/lu_policy.hpp b/libstdc++-v3/include/ext/pb_assoc/lu_policy.hpp
index 2c56bd98d0d..dcdb0e5ac05 100644
--- a/libstdc++-v3/include/ext/pb_assoc/lu_policy.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/lu_policy.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/ms_trait.hpp b/libstdc++-v3/include/ext/pb_assoc/ms_trait.hpp
index dd73452ed60..1aaddc7b903 100644
--- a/libstdc++-v3/include/ext/pb_assoc/ms_trait.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/ms_trait.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/tree_policy.hpp b/libstdc++-v3/include/ext/pb_assoc/tree_policy.hpp
index 67a37a1fc3b..f13b76e2d2f 100644
--- a/libstdc++-v3/include/ext/pb_assoc/tree_policy.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/tree_policy.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pb_assoc/trivial_iterator_def.hpp b/libstdc++-v3/include/ext/pb_assoc/trivial_iterator_def.hpp
index aa7c0bb1b34..e8a65b75f1c 100644
--- a/libstdc++-v3/include/ext/pb_assoc/trivial_iterator_def.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/trivial_iterator_def.hpp
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pod_char_traits.h b/libstdc++-v3/include/ext/pod_char_traits.h
index a27b4cb2372..8b9a5688a59 100644
--- a/libstdc++-v3/include/ext/pod_char_traits.h
+++ b/libstdc++-v3/include/ext/pod_char_traits.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/pool_allocator.h b/libstdc++-v3/include/ext/pool_allocator.h
index afe2b32bf48..d8bca1cbb5b 100644
--- a/libstdc++-v3/include/ext/pool_allocator.h
+++ b/libstdc++-v3/include/ext/pool_allocator.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/rb_tree b/libstdc++-v3/include/ext/rb_tree
index 439c7e1f156..31c84315a7b 100644
--- a/libstdc++-v3/include/ext/rb_tree
+++ b/libstdc++-v3/include/ext/rb_tree
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/rc_string_base.h b/libstdc++-v3/include/ext/rc_string_base.h
index 4d71021731b..3e9c88719c1 100644
--- a/libstdc++-v3/include/ext/rc_string_base.h
+++ b/libstdc++-v3/include/ext/rc_string_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/rope b/libstdc++-v3/include/ext/rope
index 0f691e8ccdd..e4ad50de62f 100644
--- a/libstdc++-v3/include/ext/rope
+++ b/libstdc++-v3/include/ext/rope
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/ropeimpl.h b/libstdc++-v3/include/ext/ropeimpl.h
index dad7ceef58e..c4b2eedf122 100644
--- a/libstdc++-v3/include/ext/ropeimpl.h
+++ b/libstdc++-v3/include/ext/ropeimpl.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/slist b/libstdc++-v3/include/ext/slist
index 9e099e15c72..1c2421fb2ac 100644
--- a/libstdc++-v3/include/ext/slist
+++ b/libstdc++-v3/include/ext/slist
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/sso_string_base.h b/libstdc++-v3/include/ext/sso_string_base.h
index 718c5048e32..6aceaba3c33 100644
--- a/libstdc++-v3/include/ext/sso_string_base.h
+++ b/libstdc++-v3/include/ext/sso_string_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/stdio_filebuf.h b/libstdc++-v3/include/ext/stdio_filebuf.h
index b9cfc0c13f5..5a6d22a4ad6 100644
--- a/libstdc++-v3/include/ext/stdio_filebuf.h
+++ b/libstdc++-v3/include/ext/stdio_filebuf.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/stdio_sync_filebuf.h b/libstdc++-v3/include/ext/stdio_sync_filebuf.h
index ee51488e5b7..c51c6781a55 100644
--- a/libstdc++-v3/include/ext/stdio_sync_filebuf.h
+++ b/libstdc++-v3/include/ext/stdio_sync_filebuf.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/typelist.h b/libstdc++-v3/include/ext/typelist.h
index e070ce251a6..5bd7c9db699 100644
--- a/libstdc++-v3/include/ext/typelist.h
+++ b/libstdc++-v3/include/ext/typelist.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/vstring.h b/libstdc++-v3/include/ext/vstring.h
index 15508001cfd..abea0a9a34c 100644
--- a/libstdc++-v3/include/ext/vstring.h
+++ b/libstdc++-v3/include/ext/vstring.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/vstring.tcc b/libstdc++-v3/include/ext/vstring.tcc
index c760b5807a5..b8d35e3aceb 100644
--- a/libstdc++-v3/include/ext/vstring.tcc
+++ b/libstdc++-v3/include/ext/vstring.tcc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/vstring_fwd.h b/libstdc++-v3/include/ext/vstring_fwd.h
index 58a634c5617..08ec94a00d5 100644
--- a/libstdc++-v3/include/ext/vstring_fwd.h
+++ b/libstdc++-v3/include/ext/vstring_fwd.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/ext/vstring_util.h b/libstdc++-v3/include/ext/vstring_util.h
index e44548d846e..38c7c10976a 100644
--- a/libstdc++-v3/include/ext/vstring_util.h
+++ b/libstdc++-v3/include/ext/vstring_util.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_algorithm.h b/libstdc++-v3/include/std/std_algorithm.h
index 218fe9aa2aa..3b27a8e3674 100644
--- a/libstdc++-v3/include/std/std_algorithm.h
+++ b/libstdc++-v3/include/std/std_algorithm.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_bitset.h b/libstdc++-v3/include/std/std_bitset.h
index 76be09d821a..a32af6b65b6 100644
--- a/libstdc++-v3/include/std/std_bitset.h
+++ b/libstdc++-v3/include/std/std_bitset.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_complex.h b/libstdc++-v3/include/std/std_complex.h
index 80020756789..c7aab0e6e68 100644
--- a/libstdc++-v3/include/std/std_complex.h
+++ b/libstdc++-v3/include/std/std_complex.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_deque.h b/libstdc++-v3/include/std/std_deque.h
index a26541514ac..b82d45e9ac3 100644
--- a/libstdc++-v3/include/std/std_deque.h
+++ b/libstdc++-v3/include/std/std_deque.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_fstream.h b/libstdc++-v3/include/std/std_fstream.h
index fb042ae2fec..a93f9a43e05 100644
--- a/libstdc++-v3/include/std/std_fstream.h
+++ b/libstdc++-v3/include/std/std_fstream.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_functional.h b/libstdc++-v3/include/std/std_functional.h
index 6eeb029c311..7afa31cd7f5 100644
--- a/libstdc++-v3/include/std/std_functional.h
+++ b/libstdc++-v3/include/std/std_functional.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_iomanip.h b/libstdc++-v3/include/std/std_iomanip.h
index f14703515c5..6363df61110 100644
--- a/libstdc++-v3/include/std/std_iomanip.h
+++ b/libstdc++-v3/include/std/std_iomanip.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_ios.h b/libstdc++-v3/include/std/std_ios.h
index 14c1da86df6..756e51438a9 100644
--- a/libstdc++-v3/include/std/std_ios.h
+++ b/libstdc++-v3/include/std/std_ios.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_iosfwd.h b/libstdc++-v3/include/std/std_iosfwd.h
index f7a63b660eb..5dfd641c458 100644
--- a/libstdc++-v3/include/std/std_iosfwd.h
+++ b/libstdc++-v3/include/std/std_iosfwd.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_iostream.h b/libstdc++-v3/include/std/std_iostream.h
index 7a658eb630a..33ed4cf3ca9 100644
--- a/libstdc++-v3/include/std/std_iostream.h
+++ b/libstdc++-v3/include/std/std_iostream.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_istream.h b/libstdc++-v3/include/std/std_istream.h
index cec598938a5..dd1189ec126 100644
--- a/libstdc++-v3/include/std/std_istream.h
+++ b/libstdc++-v3/include/std/std_istream.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_iterator.h b/libstdc++-v3/include/std/std_iterator.h
index c5565e99e82..00bc9838b9b 100644
--- a/libstdc++-v3/include/std/std_iterator.h
+++ b/libstdc++-v3/include/std/std_iterator.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_limits.h b/libstdc++-v3/include/std/std_limits.h
index 6927de1ccb4..e7c33e5866b 100644
--- a/libstdc++-v3/include/std/std_limits.h
+++ b/libstdc++-v3/include/std/std_limits.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_list.h b/libstdc++-v3/include/std/std_list.h
index badf5169917..ee2105f9ad1 100644
--- a/libstdc++-v3/include/std/std_list.h
+++ b/libstdc++-v3/include/std/std_list.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_locale.h b/libstdc++-v3/include/std/std_locale.h
index c560c97ebfe..5223f90c878 100644
--- a/libstdc++-v3/include/std/std_locale.h
+++ b/libstdc++-v3/include/std/std_locale.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_map.h b/libstdc++-v3/include/std/std_map.h
index 62ade24cbe6..86ff4328b48 100644
--- a/libstdc++-v3/include/std/std_map.h
+++ b/libstdc++-v3/include/std/std_map.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_memory.h b/libstdc++-v3/include/std/std_memory.h
index 7983297539f..006912d558b 100644
--- a/libstdc++-v3/include/std/std_memory.h
+++ b/libstdc++-v3/include/std/std_memory.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_numeric.h b/libstdc++-v3/include/std/std_numeric.h
index 1fabed98615..2e938127a36 100644
--- a/libstdc++-v3/include/std/std_numeric.h
+++ b/libstdc++-v3/include/std/std_numeric.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_ostream.h b/libstdc++-v3/include/std/std_ostream.h
index b484cabd8a5..fce5a4194bb 100644
--- a/libstdc++-v3/include/std/std_ostream.h
+++ b/libstdc++-v3/include/std/std_ostream.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_queue.h b/libstdc++-v3/include/std/std_queue.h
index 2aee4f5ac8a..d23267615fe 100644
--- a/libstdc++-v3/include/std/std_queue.h
+++ b/libstdc++-v3/include/std/std_queue.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_set.h b/libstdc++-v3/include/std/std_set.h
index 5924cc563b2..d01681b90ee 100644
--- a/libstdc++-v3/include/std/std_set.h
+++ b/libstdc++-v3/include/std/std_set.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_sstream.h b/libstdc++-v3/include/std/std_sstream.h
index 52c416f85b9..3970b3d449c 100644
--- a/libstdc++-v3/include/std/std_sstream.h
+++ b/libstdc++-v3/include/std/std_sstream.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_stack.h b/libstdc++-v3/include/std/std_stack.h
index 92712afb125..4112b2df8a1 100644
--- a/libstdc++-v3/include/std/std_stack.h
+++ b/libstdc++-v3/include/std/std_stack.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_stdexcept.h b/libstdc++-v3/include/std/std_stdexcept.h
index 4fe09ed24b2..4ecc53e45bc 100644
--- a/libstdc++-v3/include/std/std_stdexcept.h
+++ b/libstdc++-v3/include/std/std_stdexcept.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_streambuf.h b/libstdc++-v3/include/std/std_streambuf.h
index efb39471f76..b20bd639802 100644
--- a/libstdc++-v3/include/std/std_streambuf.h
+++ b/libstdc++-v3/include/std/std_streambuf.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_string.h b/libstdc++-v3/include/std/std_string.h
index d2959f34b27..a75f448d675 100644
--- a/libstdc++-v3/include/std/std_string.h
+++ b/libstdc++-v3/include/std/std_string.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_utility.h b/libstdc++-v3/include/std/std_utility.h
index 352e8d3e727..7b744869b9d 100644
--- a/libstdc++-v3/include/std/std_utility.h
+++ b/libstdc++-v3/include/std/std_utility.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/std/std_valarray.h b/libstdc++-v3/include/std/std_valarray.h
index 21310baa900..512f5333d43 100644
--- a/libstdc++-v3/include/std/std_valarray.h
+++ b/libstdc++-v3/include/std/std_valarray.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -155,7 +155,7 @@ namespace std
* @brief Assign elements to an array.
*
* Assign elements of array to values in @a v. Results are undefined
- * if @a v is not the same size as this array.
+ * if @a v does not have the same size as this array.
*
* @param v Valarray to get values from.
*/
@@ -174,7 +174,7 @@ namespace std
* @brief Assign elements to an array subset.
*
* Assign elements of array to values in @a sa. Results are undefined
- * if @a sa is not the same size as this array.
+ * if @a sa does not have the same size as this array.
*
* @param sa Array slice to get values from.
*/
@@ -184,7 +184,7 @@ namespace std
* @brief Assign elements to an array subset.
*
* Assign elements of array to values in @a ga. Results are undefined
- * if @a ga is not the same size as this array.
+ * if @a ga does not have the same size as this array.
*
* @param ga Array slice to get values from.
*/
@@ -194,7 +194,7 @@ namespace std
* @brief Assign elements to an array subset.
*
* Assign elements of array to values in @a ma. Results are undefined
- * if @a ma is not the same size as this array.
+ * if @a ma does not have the same size as this array.
*
* @param ma Array slice to get values from.
*/
@@ -204,7 +204,7 @@ namespace std
* @brief Assign elements to an array subset.
*
* Assign elements of array to values in @a ia. Results are undefined
- * if @a ia is not the same size as this array.
+ * if @a ia does not have the same size as this array.
*
* @param ia Array slice to get values from.
*/
@@ -231,8 +231,8 @@ namespace std
* @brief Return an array subset.
*
* Returns a new valarray containing the elements of the array
- * indicated by the slice argument. The new valarray is the size of
- * the input slice. @see slice.
+ * indicated by the slice argument. The new valarray has the same size
+ * as the input slice. @see slice.
*
* @param s The source slice.
* @return New valarray containing elements in @a s.
@@ -243,8 +243,8 @@ namespace std
* @brief Return a reference to an array subset.
*
* Returns a new valarray containing the elements of the array
- * indicated by the slice argument. The new valarray is the size of
- * the input slice. @see slice.
+ * indicated by the slice argument. The new valarray has the same size
+ * as the input slice. @see slice.
*
* @param s The source slice.
* @return New valarray containing elements in @a s.
@@ -266,8 +266,8 @@ namespace std
* @brief Return a reference to an array subset.
*
* Returns a new valarray containing the elements of the array
- * indicated by the gslice argument. The new valarray is
- * the size of the input gslice. @see gslice.
+ * indicated by the gslice argument. The new valarray has
+ * the same size as the input gslice. @see gslice.
*
* @param s The source gslice.
* @return New valarray containing elements in @a s.
@@ -448,8 +448,8 @@ namespace std
*
* A new valarray is constructed as a copy of this array with elements
* in shifted positions. For an element with index i, the new position
- * is i - n. The new valarray is the same size as the current one.
- * New elements without a value are set to 0. Elements whos new
+ * is i - n. The new valarray has the same size as the current one.
+ * New elements without a value are set to 0. Elements whose new
* position is outside the bounds of the array are discarded.
*
* Positive arguments shift toward index 0, discarding elements [0, n).
@@ -465,7 +465,7 @@ namespace std
*
* A new valarray is constructed as a copy of this array with elements
* in shifted positions. For an element with index i, the new position
- * is (i - n) % size(). The new valarray is the same size as the
+ * is (i - n) % size(). The new valarray has the same size as the
* current one. Elements that are shifted beyond the array bounds are
* shifted into the other end of the array. No elements are lost.
*
@@ -482,7 +482,7 @@ namespace std
*
* Returns a new valarray with elements assigned to the result of
* applying func to the corresponding element of this array. The new
- * array is the same size as this one.
+ * array has the same size as this one.
*
* @param func Function of Tp returning Tp to apply.
* @return New valarray with transformed elements.
@@ -494,7 +494,7 @@ namespace std
*
* Returns a new valarray with elements assigned to the result of
* applying func to the corresponding element of this array. The new
- * array is the same size as this one.
+ * array has the same size as this one.
*
* @param func Function of const Tp& returning Tp to apply.
* @return New valarray with transformed elements.
@@ -504,7 +504,7 @@ namespace std
/**
* @brief Resize array.
*
- * Resize this array to be @a size and set all elements to @a c. All
+ * Resize this array to @a size and set all elements to @a c. All
* references and iterators are invalidated.
*
* @param size New array size.
diff --git a/libstdc++-v3/include/std/std_vector.h b/libstdc++-v3/include/std/std_vector.h
index 3756ce93e84..7b4db3504bf 100644
--- a/libstdc++-v3/include/std/std_vector.h
+++ b/libstdc++-v3/include/std/std_vector.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/stdc++.h b/libstdc++-v3/include/stdc++.h
index d350a3c0df4..c2816792938 100644
--- a/libstdc++-v3/include/stdc++.h
+++ b/libstdc++-v3/include/stdc++.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/tr1/array b/libstdc++-v3/include/tr1/array
index ce1ad2278f4..4b500fc48a2 100644
--- a/libstdc++-v3/include/tr1/array
+++ b/libstdc++-v3/include/tr1/array
@@ -1,6 +1,6 @@
// class template array -*- C++ -*-
-// Copyright (C) 2004 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
//
// This 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,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -37,6 +37,7 @@
#include <new>
#include <iterator>
#include <algorithm>
+#include <cstddef>
#include <bits/functexcept.h>
//namespace std::tr1
@@ -46,7 +47,7 @@ namespace tr1
{
/// @brief struct array [6.2.2].
/// NB: Requires complete type _Tp.
- template<typename _Tp, size_t _Nm = 1>
+ template<typename _Tp, std::size_t _Nm = 1>
struct array
{
typedef _Tp value_type;
@@ -54,8 +55,8 @@ namespace tr1
typedef const value_type& const_reference;
typedef value_type* iterator;
typedef const value_type* const_iterator;
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
+ typedef std::size_t size_type;
+ typedef std::ptrdiff_t difference_type;
typedef std::reverse_iterator<iterator> reverse_iterator;
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
@@ -76,35 +77,35 @@ namespace tr1
// Iterators.
iterator
begin()
- { return reinterpret_cast<iterator>(&_M_instance[0]); }
+ { return &_M_instance[0]; }
const_iterator
begin() const
- { return reinterpret_cast<const_iterator>(&_M_instance[0]); }
+ { return &_M_instance[0]; }
iterator
end()
- { return reinterpret_cast<iterator>(&_M_instance[_Nm]); }
+ { return &_M_instance[_Nm]; }
const_iterator
end() const
- { return reinterpret_cast<const_iterator>(&_M_instance[_Nm]); }
+ { return &_M_instance[_Nm]; }
reverse_iterator
rbegin()
- { return reverse_iterator(this->end()); }
+ { return reverse_iterator(end()); }
const_reverse_iterator
rbegin() const
- { return const_reverse_iterator(this->end()); }
+ { return const_reverse_iterator(end()); }
reverse_iterator
rend()
- { return reverse_iterator(this->begin()); }
+ { return reverse_iterator(begin()); }
const_reverse_iterator
rend() const
- { return const_reverse_iterator(this->begin()); }
+ { return const_reverse_iterator(begin()); }
// Capacity.
size_type
@@ -119,18 +120,18 @@ namespace tr1
// Element access.
reference
operator[](size_type __n)
- { return reinterpret_cast<reference>(_M_instance[__n]); }
+ { return _M_instance[__n]; }
const_reference
operator[](size_type __n) const
- { return reinterpret_cast<const_reference>(_M_instance[__n]); }
+ { return _M_instance[__n]; }
const_reference
at(size_type __n) const
{
if (__builtin_expect(__n > _Nm, false))
std::__throw_out_of_range("array::at");
- return reinterpret_cast<const_reference>(_M_instance[__n]);
+ return _M_instance[__n];
}
reference
@@ -138,67 +139,95 @@ namespace tr1
{
if (__builtin_expect(__n > _Nm, false))
std::__throw_out_of_range("array::at");
- return reinterpret_cast<reference>(_M_instance[__n]);
+ return _M_instance[__n];
}
reference
- front();
+ front()
+ { return *begin(); }
const_reference
- front() const;
+ front() const
+ { return *begin(); }
reference
- back();
+ back()
+ { return *(end() - 1); }
const_reference
- back() const;
+ back() const
+ { return *(end() - 1); }
_Tp*
- data();
+ data()
+ { return &_M_instance[0]; }
const _Tp*
- data() const;
+ data() const
+ { return &_M_instance[0]; }
};
// Array comparisons.
- template<typename _Tp, size_t _Nm>
- bool
- operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
- { return std::equal(__one.begin(), __one.end(), __two.begin()); }
-
- template<typename _Tp, size_t _Nm>
- bool
- operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
- { return !(__one == __two); }
-
- template<typename _Tp, size_t _Nm>
- bool
- operator<(const array<_Tp, _Nm>& a, const array<_Tp, _Nm>& b)
- {
- return std::lexicographical_compare(a.begin(), a.end(),
- b.begin(), b.end());
- }
-
- template<typename _Tp, size_t _Nm>
- bool
- operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
- { return __two < __one; }
-
- template<typename _Tp, size_t _Nm>
- bool
- operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
- { return !(__one > __two); }
-
- template<typename _Tp, size_t _Nm>
- bool
- operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
- { return !(__one < __two); }
+ template<typename _Tp, std::size_t _Nm>
+ bool
+ operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+ { return std::equal(__one.begin(), __one.end(), __two.begin()); }
+
+ template<typename _Tp, std::size_t _Nm>
+ bool
+ operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+ { return !(__one == __two); }
+
+ template<typename _Tp, std::size_t _Nm>
+ bool
+ operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
+ {
+ return std::lexicographical_compare(__a.begin(), __a.end(),
+ __b.begin(), __b.end());
+ }
+
+ template<typename _Tp, std::size_t _Nm>
+ bool
+ operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+ { return __two < __one; }
+
+ template<typename _Tp, std::size_t _Nm>
+ bool
+ operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+ { return !(__one > __two); }
+
+ template<typename _Tp, std::size_t _Nm>
+ bool
+ operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+ { return !(__one < __two); }
// Specialized algorithms [6.2.2.2].
- template<typename _Tp, size_t _Nm>
- void
- swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two)
- { swap_ranges(__one.begin(), __one.end(), __two.begin()); }
+ template<typename _Tp, std::size_t _Nm>
+ void
+ swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two)
+ { swap_ranges(__one.begin(), __one.end(), __two.begin()); }
+
+ // Tuple interface to class template array [6.2.2.5].
+ template<typename _Tp> class tuple_size;
+ template<int _Int, typename _Tp> class tuple_element;
+
+ template<typename _Tp, std::size_t _Nm>
+ struct tuple_size<array<_Tp, _Nm> >
+ { static const int value = _Nm; };
+
+ template<int _Int, typename _Tp, std::size_t _Nm>
+ struct tuple_element<_Int, array<_Tp, _Nm> >
+ { typedef _Tp type; };
+
+ template<int _Int, typename _Tp, std::size_t _Nm>
+ _Tp&
+ get(array<_Tp, _Nm>& __arr)
+ { return __arr[_Int]; }
+
+ template<int _Int, typename _Tp, std::size_t _Nm>
+ const _Tp&
+ get(const array<_Tp, _Nm>& __arr)
+ { return __arr[_Int]; }
} // namespace std::tr1
}
diff --git a/libstdc++-v3/include/tr1/bind_iterate.h b/libstdc++-v3/include/tr1/bind_iterate.h
index ed5aeb626e2..2e06ff6d57f 100644
--- a/libstdc++-v3/include/tr1/bind_iterate.h
+++ b/libstdc++-v3/include/tr1/bind_iterate.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/tr1/bind_repeat.h b/libstdc++-v3/include/tr1/bind_repeat.h
index 2422a5b186f..6d2a1704176 100644
--- a/libstdc++-v3/include/tr1/bind_repeat.h
+++ b/libstdc++-v3/include/tr1/bind_repeat.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/tr1/boost_shared_ptr.h b/libstdc++-v3/include/tr1/boost_shared_ptr.h
index 3426a4acebe..a998fed2d71 100644
--- a/libstdc++-v3/include/tr1/boost_shared_ptr.h
+++ b/libstdc++-v3/include/tr1/boost_shared_ptr.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/tr1/functional b/libstdc++-v3/include/tr1/functional
index f609fd3d984..6b197d83700 100644
--- a/libstdc++-v3/include/tr1/functional
+++ b/libstdc++-v3/include/tr1/functional
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/tr1/functional_iterate.h b/libstdc++-v3/include/tr1/functional_iterate.h
index 524f2d2be19..0b08a6969a7 100644
--- a/libstdc++-v3/include/tr1/functional_iterate.h
+++ b/libstdc++-v3/include/tr1/functional_iterate.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/tr1/hashtable b/libstdc++-v3/include/tr1/hashtable
index e94f3bb65fd..af43da2814f 100644
--- a/libstdc++-v3/include/tr1/hashtable
+++ b/libstdc++-v3/include/tr1/hashtable
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -59,6 +59,7 @@
#include <cstddef>
#include <cstdlib>
#include <cmath>
+#include <bits/functexcept.h>
#include <tr1/type_traits> // For true_type and false_type
//----------------------------------------------------------------------
@@ -631,9 +632,9 @@ namespace Internal
void
m_swap(hash_code_base& x)
{
- m_extract.m_swap(x);
- m_eq.m_swap(x);
- m_ranged_hash.m_swap(x);
+ std::swap(m_extract, x.m_extract);
+ std::swap(m_eq, x.m_eq);
+ std::swap(m_ranged_hash, x.m_ranged_hash);
}
protected:
@@ -703,10 +704,10 @@ namespace Internal
void
m_swap(hash_code_base& x)
{
- m_extract.m_swap(x);
- m_eq.m_swap(x);
- m_h1.m_swap(x);
- m_h2.m_swap(x);
+ std::swap(m_extract, x.m_extract);
+ std::swap(m_eq, x.m_eq);
+ std::swap(m_h1, x.m_h1);
+ std::swap(m_h2, x.m_h2);
}
protected:
@@ -762,10 +763,10 @@ namespace Internal
void
m_swap(hash_code_base& x)
{
- m_extract.m_swap(x);
- m_eq.m_swap(x);
- m_h1.m_swap(x);
- m_h2.m_swap(x);
+ std::swap(m_extract, x.m_extract);
+ std::swap(m_eq, x.m_eq);
+ std::swap(m_h1, x.m_h1);
+ std::swap(m_h2, x.m_h2);
}
protected:
@@ -1122,7 +1123,7 @@ namespace tr1
catch(...)
{
m_node_allocator.deallocate(n, 1);
- throw;
+ __throw_exception_again;
}
}
@@ -1244,7 +1245,7 @@ namespace tr1
{
clear();
m_deallocate_buckets(m_buckets, m_bucket_count);
- throw;
+ __throw_exception_again;
}
}
@@ -1271,8 +1272,8 @@ namespace tr1
node** tail = m_buckets + i;
while (n)
{
- *tail = m_allocate_node(n);
- (*tail).copy_code_from(n);
+ *tail = m_allocate_node(n->m_v);
+ this->copy_code(*tail, n);
tail = &((*tail)->m_next);
n = n->m_next;
}
@@ -1282,7 +1283,7 @@ namespace tr1
{
clear();
m_deallocate_buckets (m_buckets, m_bucket_count);
- throw;
+ __throw_exception_again;
}
}
@@ -1513,7 +1514,7 @@ namespace tr1
catch (...)
{
m_deallocate_node (new_node);
- throw;
+ __throw_exception_again;
}
}
@@ -1691,7 +1692,7 @@ namespace tr1
m_deallocate_buckets(new_array, N);
m_deallocate_nodes(m_buckets, m_bucket_count);
m_element_count = 0;
- throw;
+ __throw_exception_again;
}
}
diff --git a/libstdc++-v3/include/tr1/memory b/libstdc++-v3/include/tr1/memory
index 294d4868a47..498fbe64fb2 100644
--- a/libstdc++-v3/include/tr1/memory
+++ b/libstdc++-v3/include/tr1/memory
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/tr1/mu_iterate.h b/libstdc++-v3/include/tr1/mu_iterate.h
index 57a81e3d7a9..ece3fc2dbfd 100644
--- a/libstdc++-v3/include/tr1/mu_iterate.h
+++ b/libstdc++-v3/include/tr1/mu_iterate.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/tr1/ref_fwd.h b/libstdc++-v3/include/tr1/ref_fwd.h
index 10272a3889a..9d7538f1196 100644
--- a/libstdc++-v3/include/tr1/ref_fwd.h
+++ b/libstdc++-v3/include/tr1/ref_fwd.h
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/tr1/ref_wrap_iterate.h b/libstdc++-v3/include/tr1/ref_wrap_iterate.h
index 430109f04f6..d94ddc50b31 100644
--- a/libstdc++-v3/include/tr1/ref_wrap_iterate.h
+++ b/libstdc++-v3/include/tr1/ref_wrap_iterate.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/tr1/repeat.h b/libstdc++-v3/include/tr1/repeat.h
index fa23c0b66b6..eecf6196be8 100644
--- a/libstdc++-v3/include/tr1/repeat.h
+++ b/libstdc++-v3/include/tr1/repeat.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/tr1/tuple b/libstdc++-v3/include/tr1/tuple
index 89bccc3d495..ea7bb23854c 100644
--- a/libstdc++-v3/include/tr1/tuple
+++ b/libstdc++-v3/include/tr1/tuple
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/tr1/tuple_iterate.h b/libstdc++-v3/include/tr1/tuple_iterate.h
index 23cb01fc923..dbfa42b7491 100644
--- a/libstdc++-v3/include/tr1/tuple_iterate.h
+++ b/libstdc++-v3/include/tr1/tuple_iterate.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/tr1/type_traits b/libstdc++-v3/include/tr1/type_traits
index 176a4c33400..4ef864da415 100644
--- a/libstdc++-v3/include/tr1/type_traits
+++ b/libstdc++-v3/include/tr1/type_traits
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/tr1/type_traits_fwd.h b/libstdc++-v3/include/tr1/type_traits_fwd.h
index 2d25d9b4c14..a03f4fa9e03 100644
--- a/libstdc++-v3/include/tr1/type_traits_fwd.h
+++ b/libstdc++-v3/include/tr1/type_traits_fwd.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/tr1/unordered_map b/libstdc++-v3/include/tr1/unordered_map
index 4750c2aaf90..8568687df04 100644
--- a/libstdc++-v3/include/tr1/unordered_map
+++ b/libstdc++-v3/include/tr1/unordered_map
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/tr1/unordered_set b/libstdc++-v3/include/tr1/unordered_set
index ecf8e7a968a..63f431f48e6 100644
--- a/libstdc++-v3/include/tr1/unordered_set
+++ b/libstdc++-v3/include/tr1/unordered_set
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/include/tr1/utility b/libstdc++-v3/include/tr1/utility
index 645edb6592f..246a6fa650e 100644
--- a/libstdc++-v3/include/tr1/utility
+++ b/libstdc++-v3/include/tr1/utility
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/libmath/Makefile.am b/libstdc++-v3/libmath/Makefile.am
index ffefea35de3..f9a8d158a7f 100644
--- a/libstdc++-v3/libmath/Makefile.am
+++ b/libstdc++-v3/libmath/Makefile.am
@@ -19,7 +19,7 @@
## You should have received a copy of the GNU General Public License along
## with this library; see the file COPYING. If not, write to the Free
-## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+## Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
## USA.
# May be used by various substitution variables.
diff --git a/libstdc++-v3/libmath/Makefile.in b/libstdc++-v3/libmath/Makefile.in
index f3aaf3eae7f..bd9b73c9d98 100644
--- a/libstdc++-v3/libmath/Makefile.in
+++ b/libstdc++-v3/libmath/Makefile.in
@@ -2,7 +2,7 @@
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004 Free Software Foundation, Inc.
+# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -114,14 +114,16 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_SYMVERS_DARWIN_EXPORT_FALSE = @ENABLE_SYMVERS_DARWIN_EXPORT_FALSE@
+ENABLE_SYMVERS_DARWIN_EXPORT_TRUE = @ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@
+ENABLE_SYMVERS_GNU_FALSE = @ENABLE_SYMVERS_GNU_FALSE@
+ENABLE_SYMVERS_GNU_TRUE = @ENABLE_SYMVERS_GNU_TRUE@
EXEEXT = @EXEEXT@
EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
GLIBCXX_BUILD_DEBUG_FALSE = @GLIBCXX_BUILD_DEBUG_FALSE@
GLIBCXX_BUILD_DEBUG_TRUE = @GLIBCXX_BUILD_DEBUG_TRUE@
GLIBCXX_BUILD_PCH_FALSE = @GLIBCXX_BUILD_PCH_FALSE@
GLIBCXX_BUILD_PCH_TRUE = @GLIBCXX_BUILD_PCH_TRUE@
-GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE = @GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE@
-GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE = @GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@
GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE = @GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE@
GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE = @GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE@
GLIBCXX_C_HEADERS_C_FALSE = @GLIBCXX_C_HEADERS_C_FALSE@
diff --git a/libstdc++-v3/libmath/copysignf.c b/libstdc++-v3/libmath/copysignf.c
index 91d40e9be47..1c490959129 100644
--- a/libstdc++-v3/libmath/copysignf.c
+++ b/libstdc++-v3/libmath/copysignf.c
@@ -15,7 +15,7 @@
You should have received a copy of the GNU General Public License along
with this library; see the file COPYING. If not, write to the Free
- Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA.
As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/libmath/mathconf.h b/libstdc++-v3/libmath/mathconf.h
index cd8c92ad89f..be8e96a4b3c 100644
--- a/libstdc++-v3/libmath/mathconf.h
+++ b/libstdc++-v3/libmath/mathconf.h
@@ -15,7 +15,7 @@
You should have received a copy of the GNU General Public License along
with this library; see the file COPYING. If not, write to the Free
- Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA.
As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/libmath/signbit.c b/libstdc++-v3/libmath/signbit.c
index f400b8dedd0..e8d380dc84c 100644
--- a/libstdc++-v3/libmath/signbit.c
+++ b/libstdc++-v3/libmath/signbit.c
@@ -15,7 +15,7 @@
You should have received a copy of the GNU General Public License along
with this library; see the file COPYING. If not, write to the Free
- Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA.
As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/libmath/signbitf.c b/libstdc++-v3/libmath/signbitf.c
index 6a72f4636c9..b18afc1cf12 100644
--- a/libstdc++-v3/libmath/signbitf.c
+++ b/libstdc++-v3/libmath/signbitf.c
@@ -15,7 +15,7 @@
You should have received a copy of the GNU General Public License along
with this library; see the file COPYING. If not, write to the Free
- Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA.
As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/libmath/signbitl.c b/libstdc++-v3/libmath/signbitl.c
index f5e00351984..52cbfbad4d2 100644
--- a/libstdc++-v3/libmath/signbitl.c
+++ b/libstdc++-v3/libmath/signbitl.c
@@ -15,7 +15,7 @@
You should have received a copy of the GNU General Public License along
with this library; see the file COPYING. If not, write to the Free
- Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA.
As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/libmath/stubs.c b/libstdc++-v3/libmath/stubs.c
index bbbe0fe3d16..72c4f75a9d1 100644
--- a/libstdc++-v3/libmath/stubs.c
+++ b/libstdc++-v3/libmath/stubs.c
@@ -15,7 +15,7 @@
You should have received a copy of the GNU General Public License along
with this library; see the file COPYING. If not, write to the Free
- Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA.
As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/libsupc++/Makefile.am b/libstdc++-v3/libsupc++/Makefile.am
index c67c294fca0..161a4a02d83 100644
--- a/libstdc++-v3/libsupc++/Makefile.am
+++ b/libstdc++-v3/libsupc++/Makefile.am
@@ -18,8 +18,8 @@
##
## You should have received a copy of the GNU General Public License
## along with GCC; see the file COPYING. If not, write to
-## the Free Software Foundation, 59 Temple Place - Suite 330,
-## Boston, MA 02111-1307, USA.
+## the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+## Boston, MA 02110-1301, USA.
include $(top_srcdir)/fragment.am
diff --git a/libstdc++-v3/libsupc++/Makefile.in b/libstdc++-v3/libsupc++/Makefile.in
index 5d1c1390131..0bb267bfbc4 100644
--- a/libstdc++-v3/libsupc++/Makefile.in
+++ b/libstdc++-v3/libsupc++/Makefile.in
@@ -2,7 +2,7 @@
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004 Free Software Foundation, Inc.
+# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -155,14 +155,16 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_SYMVERS_DARWIN_EXPORT_FALSE = @ENABLE_SYMVERS_DARWIN_EXPORT_FALSE@
+ENABLE_SYMVERS_DARWIN_EXPORT_TRUE = @ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@
+ENABLE_SYMVERS_GNU_FALSE = @ENABLE_SYMVERS_GNU_FALSE@
+ENABLE_SYMVERS_GNU_TRUE = @ENABLE_SYMVERS_GNU_TRUE@
EXEEXT = @EXEEXT@
EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
GLIBCXX_BUILD_DEBUG_FALSE = @GLIBCXX_BUILD_DEBUG_FALSE@
GLIBCXX_BUILD_DEBUG_TRUE = @GLIBCXX_BUILD_DEBUG_TRUE@
GLIBCXX_BUILD_PCH_FALSE = @GLIBCXX_BUILD_PCH_FALSE@
GLIBCXX_BUILD_PCH_TRUE = @GLIBCXX_BUILD_PCH_TRUE@
-GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE = @GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE@
-GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE = @GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@
GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE = @GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE@
GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE = @GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE@
GLIBCXX_C_HEADERS_C_FALSE = @GLIBCXX_C_HEADERS_C_FALSE@
diff --git a/libstdc++-v3/libsupc++/cxxabi.h b/libstdc++-v3/libsupc++/cxxabi.h
index 9962bd9c5b2..d049aeec8ef 100644
--- a/libstdc++-v3/libsupc++/cxxabi.h
+++ b/libstdc++-v3/libsupc++/cxxabi.h
@@ -16,8 +16,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/del_op.cc b/libstdc++-v3/libsupc++/del_op.cc
index 8f0b3f85b43..194a87aa65e 100644
--- a/libstdc++-v3/libsupc++/del_op.cc
+++ b/libstdc++-v3/libsupc++/del_op.cc
@@ -16,8 +16,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
//
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/del_opnt.cc b/libstdc++-v3/libsupc++/del_opnt.cc
index 4fce2136c7b..b03a0798133 100644
--- a/libstdc++-v3/libsupc++/del_opnt.cc
+++ b/libstdc++-v3/libsupc++/del_opnt.cc
@@ -16,8 +16,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
//
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/del_opv.cc b/libstdc++-v3/libsupc++/del_opv.cc
index c8d7f33d829..98aaa9b2736 100644
--- a/libstdc++-v3/libsupc++/del_opv.cc
+++ b/libstdc++-v3/libsupc++/del_opv.cc
@@ -16,8 +16,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
//
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/del_opvnt.cc b/libstdc++-v3/libsupc++/del_opvnt.cc
index 3ce4e10287a..b9c81ce74e0 100644
--- a/libstdc++-v3/libsupc++/del_opvnt.cc
+++ b/libstdc++-v3/libsupc++/del_opvnt.cc
@@ -16,8 +16,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
//
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/eh_alloc.cc b/libstdc++-v3/libsupc++/eh_alloc.cc
index 3b7319ea235..3577920e0f3 100644
--- a/libstdc++-v3/libsupc++/eh_alloc.cc
+++ b/libstdc++-v3/libsupc++/eh_alloc.cc
@@ -15,8 +15,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/eh_arm.cc b/libstdc++-v3/libsupc++/eh_arm.cc
index d77c86dd7d0..d87d82ad5a0 100644
--- a/libstdc++-v3/libsupc++/eh_arm.cc
+++ b/libstdc++-v3/libsupc++/eh_arm.cc
@@ -15,8 +15,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/eh_aux_runtime.cc b/libstdc++-v3/libsupc++/eh_aux_runtime.cc
index eb30fbdab05..e0dbcc9d155 100644
--- a/libstdc++-v3/libsupc++/eh_aux_runtime.cc
+++ b/libstdc++-v3/libsupc++/eh_aux_runtime.cc
@@ -16,8 +16,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/eh_call.cc b/libstdc++-v3/libsupc++/eh_call.cc
index 74d5d2fb0e0..4db8023fcdb 100644
--- a/libstdc++-v3/libsupc++/eh_call.cc
+++ b/libstdc++-v3/libsupc++/eh_call.cc
@@ -15,8 +15,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/eh_catch.cc b/libstdc++-v3/libsupc++/eh_catch.cc
index 47b45963805..d84584029be 100644
--- a/libstdc++-v3/libsupc++/eh_catch.cc
+++ b/libstdc++-v3/libsupc++/eh_catch.cc
@@ -15,8 +15,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/eh_exception.cc b/libstdc++-v3/libsupc++/eh_exception.cc
index 5efd1bcd481..fc78d9be9c2 100644
--- a/libstdc++-v3/libsupc++/eh_exception.cc
+++ b/libstdc++-v3/libsupc++/eh_exception.cc
@@ -16,8 +16,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/eh_globals.cc b/libstdc++-v3/libsupc++/eh_globals.cc
index 0f0dee58d45..00465dedf93 100644
--- a/libstdc++-v3/libsupc++/eh_globals.cc
+++ b/libstdc++-v3/libsupc++/eh_globals.cc
@@ -15,8 +15,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/eh_personality.cc b/libstdc++-v3/libsupc++/eh_personality.cc
index ecade83399f..6205851a2c4 100644
--- a/libstdc++-v3/libsupc++/eh_personality.cc
+++ b/libstdc++-v3/libsupc++/eh_personality.cc
@@ -15,8 +15,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
@@ -428,7 +428,7 @@ PERSONALITY_FUNCTION (int version,
// Parse the LSDA header.
p = parse_lsda_header (context, language_specific_data, &info);
- info.ttype_base = 0;
+ info.ttype_base = base_of_encoded_value (info.ttype_encoding, context);
ip = _Unwind_GetIP (context) - 1;
landing_pad = 0;
action_record = 0;
diff --git a/libstdc++-v3/libsupc++/eh_term_handler.cc b/libstdc++-v3/libsupc++/eh_term_handler.cc
index f4f1193e71a..66025ed6a78 100644
--- a/libstdc++-v3/libsupc++/eh_term_handler.cc
+++ b/libstdc++-v3/libsupc++/eh_term_handler.cc
@@ -15,8 +15,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/eh_terminate.cc b/libstdc++-v3/libsupc++/eh_terminate.cc
index bf9d74db116..ffd8a52971f 100644
--- a/libstdc++-v3/libsupc++/eh_terminate.cc
+++ b/libstdc++-v3/libsupc++/eh_terminate.cc
@@ -16,8 +16,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/eh_throw.cc b/libstdc++-v3/libsupc++/eh_throw.cc
index eebd56c2316..8b04f395c87 100644
--- a/libstdc++-v3/libsupc++/eh_throw.cc
+++ b/libstdc++-v3/libsupc++/eh_throw.cc
@@ -15,8 +15,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/eh_type.cc b/libstdc++-v3/libsupc++/eh_type.cc
index 6dd4eedb9c6..99627efdd97 100644
--- a/libstdc++-v3/libsupc++/eh_type.cc
+++ b/libstdc++-v3/libsupc++/eh_type.cc
@@ -15,8 +15,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/eh_unex_handler.cc b/libstdc++-v3/libsupc++/eh_unex_handler.cc
index a8cabb85482..a57166a8bb0 100644
--- a/libstdc++-v3/libsupc++/eh_unex_handler.cc
+++ b/libstdc++-v3/libsupc++/eh_unex_handler.cc
@@ -15,8 +15,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/exception b/libstdc++-v3/libsupc++/exception
index c2c8a15dc03..657cbf7791b 100644
--- a/libstdc++-v3/libsupc++/exception
+++ b/libstdc++-v3/libsupc++/exception
@@ -17,8 +17,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/exception_defines.h b/libstdc++-v3/libsupc++/exception_defines.h
index 1466486dc6b..130018db7af 100644
--- a/libstdc++-v3/libsupc++/exception_defines.h
+++ b/libstdc++-v3/libsupc++/exception_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/libsupc++/guard.cc b/libstdc++-v3/libsupc++/guard.cc
index e9e14703770..e75dc42a428 100644
--- a/libstdc++-v3/libsupc++/guard.cc
+++ b/libstdc++-v3/libsupc++/guard.cc
@@ -14,8 +14,8 @@
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/new b/libstdc++-v3/libsupc++/new
index 434720dcd37..82faef860a6 100644
--- a/libstdc++-v3/libsupc++/new
+++ b/libstdc++-v3/libsupc++/new
@@ -17,8 +17,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/new_handler.cc b/libstdc++-v3/libsupc++/new_handler.cc
index 2f9f6bd3579..6ea97672533 100644
--- a/libstdc++-v3/libsupc++/new_handler.cc
+++ b/libstdc++-v3/libsupc++/new_handler.cc
@@ -17,8 +17,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
//
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/new_op.cc b/libstdc++-v3/libsupc++/new_op.cc
index 43c22405eb5..76ede3097ea 100644
--- a/libstdc++-v3/libsupc++/new_op.cc
+++ b/libstdc++-v3/libsupc++/new_op.cc
@@ -17,8 +17,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
//
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/new_opnt.cc b/libstdc++-v3/libsupc++/new_opnt.cc
index c25ce5a2d30..4a44bc79d49 100644
--- a/libstdc++-v3/libsupc++/new_opnt.cc
+++ b/libstdc++-v3/libsupc++/new_opnt.cc
@@ -15,8 +15,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
//
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/new_opv.cc b/libstdc++-v3/libsupc++/new_opv.cc
index abf9771ed0b..5f761353280 100644
--- a/libstdc++-v3/libsupc++/new_opv.cc
+++ b/libstdc++-v3/libsupc++/new_opv.cc
@@ -16,8 +16,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
//
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/new_opvnt.cc b/libstdc++-v3/libsupc++/new_opvnt.cc
index eb7016afea3..f681e33e806 100644
--- a/libstdc++-v3/libsupc++/new_opvnt.cc
+++ b/libstdc++-v3/libsupc++/new_opvnt.cc
@@ -16,8 +16,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
//
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/pure.cc b/libstdc++-v3/libsupc++/pure.cc
index 2e75492e705..8734730e5e8 100644
--- a/libstdc++-v3/libsupc++/pure.cc
+++ b/libstdc++-v3/libsupc++/pure.cc
@@ -15,8 +15,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
//
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/tinfo.cc b/libstdc++-v3/libsupc++/tinfo.cc
index 62fa4486aeb..a16488b5fbe 100644
--- a/libstdc++-v3/libsupc++/tinfo.cc
+++ b/libstdc++-v3/libsupc++/tinfo.cc
@@ -16,8 +16,8 @@
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/tinfo.h b/libstdc++-v3/libsupc++/tinfo.h
index 2c55e03a6d9..b94c4cc09b5 100644
--- a/libstdc++-v3/libsupc++/tinfo.h
+++ b/libstdc++-v3/libsupc++/tinfo.h
@@ -16,8 +16,8 @@
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/tinfo2.cc b/libstdc++-v3/libsupc++/tinfo2.cc
index d6a17c8dfc6..2f5a2cd32bc 100644
--- a/libstdc++-v3/libsupc++/tinfo2.cc
+++ b/libstdc++-v3/libsupc++/tinfo2.cc
@@ -17,8 +17,8 @@
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/typeinfo b/libstdc++-v3/libsupc++/typeinfo
index 81824223eb6..bd7ce6767a7 100644
--- a/libstdc++-v3/libsupc++/typeinfo
+++ b/libstdc++-v3/libsupc++/typeinfo
@@ -16,8 +16,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/unwind-cxx.h b/libstdc++-v3/libsupc++/unwind-cxx.h
index a2c2f4886cc..c5636556434 100644
--- a/libstdc++-v3/libsupc++/unwind-cxx.h
+++ b/libstdc++-v3/libsupc++/unwind-cxx.h
@@ -15,8 +15,8 @@
//
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/vec.cc b/libstdc++-v3/libsupc++/vec.cc
index 7e93d1cfea0..08a710718b0 100644
--- a/libstdc++-v3/libsupc++/vec.cc
+++ b/libstdc++-v3/libsupc++/vec.cc
@@ -16,8 +16,8 @@
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
diff --git a/libstdc++-v3/libsupc++/vterminate.cc b/libstdc++-v3/libsupc++/vterminate.cc
index 8ec48978120..88156aa579f 100644
--- a/libstdc++-v3/libsupc++/vterminate.cc
+++ b/libstdc++-v3/libsupc++/vterminate.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/po/Makefile.am b/libstdc++-v3/po/Makefile.am
index f399323d253..a9a97e47623 100644
--- a/libstdc++-v3/po/Makefile.am
+++ b/libstdc++-v3/po/Makefile.am
@@ -18,7 +18,7 @@
## You should have received a copy of the GNU General Public License along
## with this library; see the file COPYING. If not, write to the Free
-## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+## Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
## USA.
include $(top_srcdir)/fragment.am
diff --git a/libstdc++-v3/po/Makefile.in b/libstdc++-v3/po/Makefile.in
index 9f4bacab3e7..4d4372f7e2e 100644
--- a/libstdc++-v3/po/Makefile.in
+++ b/libstdc++-v3/po/Makefile.in
@@ -2,7 +2,7 @@
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004 Free Software Foundation, Inc.
+# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -97,14 +97,16 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_SYMVERS_DARWIN_EXPORT_FALSE = @ENABLE_SYMVERS_DARWIN_EXPORT_FALSE@
+ENABLE_SYMVERS_DARWIN_EXPORT_TRUE = @ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@
+ENABLE_SYMVERS_GNU_FALSE = @ENABLE_SYMVERS_GNU_FALSE@
+ENABLE_SYMVERS_GNU_TRUE = @ENABLE_SYMVERS_GNU_TRUE@
EXEEXT = @EXEEXT@
EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
GLIBCXX_BUILD_DEBUG_FALSE = @GLIBCXX_BUILD_DEBUG_FALSE@
GLIBCXX_BUILD_DEBUG_TRUE = @GLIBCXX_BUILD_DEBUG_TRUE@
GLIBCXX_BUILD_PCH_FALSE = @GLIBCXX_BUILD_PCH_FALSE@
GLIBCXX_BUILD_PCH_TRUE = @GLIBCXX_BUILD_PCH_TRUE@
-GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE = @GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE@
-GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE = @GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@
GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE = @GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE@
GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE = @GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE@
GLIBCXX_C_HEADERS_C_FALSE = @GLIBCXX_C_HEADERS_C_FALSE@
diff --git a/libstdc++-v3/po/POTFILES.in b/libstdc++-v3/po/POTFILES.in
index b9c13db641e..9ade2902395 100644
--- a/libstdc++-v3/po/POTFILES.in
+++ b/libstdc++-v3/po/POTFILES.in
@@ -18,7 +18,7 @@
## You should have received a copy of the GNU General Public License along
## with this library; see the file COPYING. If not, write to the Free
-## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+## Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
## USA.
# include/backward/backward_warning.h
diff --git a/libstdc++-v3/po/string_literals.cc b/libstdc++-v3/po/string_literals.cc
index 262e708a4dc..bcc4d6e8a3b 100644
--- a/libstdc++-v3/po/string_literals.cc
+++ b/libstdc++-v3/po/string_literals.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/scripts/check_compile b/libstdc++-v3/scripts/check_compile
index e27cc33c8a0..6d7f51595f6 100755
--- a/libstdc++-v3/scripts/check_compile
+++ b/libstdc++-v3/scripts/check_compile
@@ -32,17 +32,21 @@ CXX="$COMPILER $INCLUDES $PCH_FLAGS $FLAGS $TEST_FLAGS"
TESTS_FILE="testsuite_files"
+#mkdir binaries
+UNIQUE_ID=0
+
for NAME in `cat $TESTS_FILE`
do
if $RUN; then
echo $NAME
- FILE_NAME="`basename $NAME`"
- OUTPUT_NAME="`echo $FILE_NAME | sed 's/cc$/s/'`"
+ OUTPUT_NAME=$UNIQUE_ID
$CXX $SRC_DIR/testsuite/$NAME -o $OUTPUT_NAME
if [ -f $OUTPUT_NAME ]; then
+# mv $OUTPUT_NAME binaries
rm $OUTPUT_NAME
fi
echo ""
+ let UNIQUE_ID+=1
fi
done
diff --git a/libstdc++-v3/scripts/extract_symvers b/libstdc++-v3/scripts/extract_symvers
index c7798b7e506..8a74db9f337 100755
--- a/libstdc++-v3/scripts/extract_symvers
+++ b/libstdc++-v3/scripts/extract_symvers
@@ -15,7 +15,7 @@
#
# You should have received a copy of the GNU General Public License along
# with this library; see the file COPYING. If not, write to the Free
-# Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+# Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
# USA.
#
# As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am
index 13f5397ceb4..105db3718c8 100644
--- a/libstdc++-v3/src/Makefile.am
+++ b/libstdc++-v3/src/Makefile.am
@@ -19,7 +19,7 @@
## You should have received a copy of the GNU General Public License along
## with this library; see the file COPYING. If not, write to the Free
-## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+## Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
## USA.
include $(top_srcdir)/fragment.am
@@ -28,7 +28,7 @@ include $(top_srcdir)/fragment.am
toolexeclib_LTLIBRARIES = libstdc++.la
# Symbol versioning for shared libraries.
-if GLIBCXX_BUILD_VERSIONED_SHLIB
+if ENABLE_SYMVERS_GNU
version_arg = -Wl,--version-script=libstdc++-symbol.ver
version_dep = libstdc++-symbol.ver
libstdc++-symbol.ver: ${glibcxx_srcdir}/$(SYMVER_MAP)
@@ -40,9 +40,23 @@ libstdc++-symbol.ver: ${glibcxx_srcdir}/$(SYMVER_MAP)
rm tmp.top tmp.bottom; \
fi
else
+if ENABLE_SYMVERS_DARWIN_EXPORT
+version_arg = -Wl,-exported_symbols_list,libstdc++-symbol.explist
+version_dep = libstdc++-symbol.explist
+libstdc++-symbol.explist : ${glibcxx_srcdir}/$(SYMVER_MAP) \
+ ${glibcxx_srcdir}/scripts/make_exports.pl \
+ $(libstdc___la_OBJECTS) $(libstdc___la_LIBADD)
+ perl ${glibcxx_srcdir}/scripts/make_exports.pl \
+ ${glibcxx_srcdir}/$(SYMVER_MAP) \
+ $(libstdc___la_OBJECTS:%.lo=.libs/%.o) \
+ `echo $(libstdc___la_LIBADD) | \
+ sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
+ > $@ || (rm -f $@ ; exit 1)
+else
version_arg =
version_dep =
endif
+endif
# Source files linked in via configuration/make substitution for a
diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in
index 076115b2e4c..4f3e20b7a17 100644
--- a/libstdc++-v3/src/Makefile.in
+++ b/libstdc++-v3/src/Makefile.in
@@ -2,7 +2,7 @@
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004 Free Software Foundation, Inc.
+# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -133,14 +133,16 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_SYMVERS_DARWIN_EXPORT_FALSE = @ENABLE_SYMVERS_DARWIN_EXPORT_FALSE@
+ENABLE_SYMVERS_DARWIN_EXPORT_TRUE = @ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@
+ENABLE_SYMVERS_GNU_FALSE = @ENABLE_SYMVERS_GNU_FALSE@
+ENABLE_SYMVERS_GNU_TRUE = @ENABLE_SYMVERS_GNU_TRUE@
EXEEXT = @EXEEXT@
EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
GLIBCXX_BUILD_DEBUG_FALSE = @GLIBCXX_BUILD_DEBUG_FALSE@
GLIBCXX_BUILD_DEBUG_TRUE = @GLIBCXX_BUILD_DEBUG_TRUE@
GLIBCXX_BUILD_PCH_FALSE = @GLIBCXX_BUILD_PCH_FALSE@
GLIBCXX_BUILD_PCH_TRUE = @GLIBCXX_BUILD_PCH_TRUE@
-GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE = @GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE@
-GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE = @GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@
GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE = @GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE@
GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE = @GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE@
GLIBCXX_C_HEADERS_C_FALSE = @GLIBCXX_C_HEADERS_C_FALSE@
@@ -273,12 +275,14 @@ AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
# Cross compiler support.
toolexeclib_LTLIBRARIES = libstdc++.la
-@GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE@version_arg =
+@ENABLE_SYMVERS_DARWIN_EXPORT_FALSE@@ENABLE_SYMVERS_GNU_FALSE@version_arg =
+@ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@@ENABLE_SYMVERS_GNU_FALSE@version_arg = -Wl,-exported_symbols_list,libstdc++-symbol.explist
# Symbol versioning for shared libraries.
-@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@version_arg = -Wl,--version-script=libstdc++-symbol.ver
-@GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE@version_dep =
-@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@version_dep = libstdc++-symbol.ver
+@ENABLE_SYMVERS_GNU_TRUE@version_arg = -Wl,--version-script=libstdc++-symbol.ver
+@ENABLE_SYMVERS_DARWIN_EXPORT_FALSE@@ENABLE_SYMVERS_GNU_FALSE@version_dep =
+@ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@@ENABLE_SYMVERS_GNU_FALSE@version_dep = libstdc++-symbol.explist
+@ENABLE_SYMVERS_GNU_TRUE@version_dep = libstdc++-symbol.ver
# Source files linked in via configuration/make substitution for a
# particular host.
@@ -665,14 +669,23 @@ uninstall-am: uninstall-info-am uninstall-toolexeclibLTLIBRARIES
tags uninstall uninstall-am uninstall-info-am \
uninstall-toolexeclibLTLIBRARIES
-@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@libstdc++-symbol.ver: ${glibcxx_srcdir}/$(SYMVER_MAP)
-@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@ cp ${glibcxx_srcdir}/$(SYMVER_MAP) ./libstdc++-symbol.ver
-@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@ if test "x$(port_specific_symbol_files)" != x; then \
-@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@ sed -n '1,/DO NOT DELETE/p' $@ > tmp.top; \
-@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@ sed -n '/DO NOT DELETE/,$$p' $@ > tmp.bottom; \
-@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@ cat tmp.top $(port_specific_symbol_files) tmp.bottom > $@; \
-@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@ rm tmp.top tmp.bottom; \
-@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@ fi
+@ENABLE_SYMVERS_GNU_TRUE@libstdc++-symbol.ver: ${glibcxx_srcdir}/$(SYMVER_MAP)
+@ENABLE_SYMVERS_GNU_TRUE@ cp ${glibcxx_srcdir}/$(SYMVER_MAP) ./libstdc++-symbol.ver
+@ENABLE_SYMVERS_GNU_TRUE@ if test "x$(port_specific_symbol_files)" != x; then \
+@ENABLE_SYMVERS_GNU_TRUE@ sed -n '1,/DO NOT DELETE/p' $@ > tmp.top; \
+@ENABLE_SYMVERS_GNU_TRUE@ sed -n '/DO NOT DELETE/,$$p' $@ > tmp.bottom; \
+@ENABLE_SYMVERS_GNU_TRUE@ cat tmp.top $(port_specific_symbol_files) tmp.bottom > $@; \
+@ENABLE_SYMVERS_GNU_TRUE@ rm tmp.top tmp.bottom; \
+@ENABLE_SYMVERS_GNU_TRUE@ fi
+@ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@@ENABLE_SYMVERS_GNU_FALSE@libstdc++-symbol.explist : ${glibcxx_srcdir}/$(SYMVER_MAP) \
+@ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@@ENABLE_SYMVERS_GNU_FALSE@ ${glibcxx_srcdir}/scripts/make_exports.pl \
+@ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@@ENABLE_SYMVERS_GNU_FALSE@ $(libstdc___la_OBJECTS) $(libstdc___la_LIBADD)
+@ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@@ENABLE_SYMVERS_GNU_FALSE@ perl ${glibcxx_srcdir}/scripts/make_exports.pl \
+@ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@@ENABLE_SYMVERS_GNU_FALSE@ ${glibcxx_srcdir}/$(SYMVER_MAP) \
+@ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@@ENABLE_SYMVERS_GNU_FALSE@ $(libstdc___la_OBJECTS:%.lo=.libs/%.o) \
+@ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@@ENABLE_SYMVERS_GNU_FALSE@ `echo $(libstdc___la_LIBADD) | \
+@ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@@ENABLE_SYMVERS_GNU_FALSE@ sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
+@ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@@ENABLE_SYMVERS_GNU_FALSE@ > $@ || (rm -f $@ ; exit 1)
codecvt_members.cc: ${glibcxx_srcdir}/$(CCODECVT_CC)
$(LN_S) ${glibcxx_srcdir}/$(CCODECVT_CC) . || true
diff --git a/libstdc++-v3/src/allocator-inst.cc b/libstdc++-v3/src/allocator-inst.cc
index d25f488e4ca..0258b2f81db 100644
--- a/libstdc++-v3/src/allocator-inst.cc
+++ b/libstdc++-v3/src/allocator-inst.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/bitmap_allocator.cc b/libstdc++-v3/src/bitmap_allocator.cc
index c8d94af2157..da2597b7e96 100644
--- a/libstdc++-v3/src/bitmap_allocator.cc
+++ b/libstdc++-v3/src/bitmap_allocator.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/codecvt.cc b/libstdc++-v3/src/codecvt.cc
index 7634225c7f5..ea7cdd25374 100644
--- a/libstdc++-v3/src/codecvt.cc
+++ b/libstdc++-v3/src/codecvt.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/compatibility.cc b/libstdc++-v3/src/compatibility.cc
index 1deb56c3f30..a43722f7722 100644
--- a/libstdc++-v3/src/compatibility.cc
+++ b/libstdc++-v3/src/compatibility.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/complex_io.cc b/libstdc++-v3/src/complex_io.cc
index 6d2ca56fad9..ba67d5e001a 100644
--- a/libstdc++-v3/src/complex_io.cc
+++ b/libstdc++-v3/src/complex_io.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/concept-inst.cc b/libstdc++-v3/src/concept-inst.cc
index c8a3dd41b27..9824da1192b 100644
--- a/libstdc++-v3/src/concept-inst.cc
+++ b/libstdc++-v3/src/concept-inst.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/ctype.cc b/libstdc++-v3/src/ctype.cc
index 777ff41b2f0..f97801516e4 100644
--- a/libstdc++-v3/src/ctype.cc
+++ b/libstdc++-v3/src/ctype.cc
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/debug.cc b/libstdc++-v3/src/debug.cc
index 621a1c96727..af927e152fb 100644
--- a/libstdc++-v3/src/debug.cc
+++ b/libstdc++-v3/src/debug.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -32,10 +32,8 @@
#include <debug/safe_sequence.h>
#include <debug/safe_iterator.h>
#include <algorithm>
-#include <cstdlib>
#include <cassert>
#include <cstring>
-#include <cstdio>
#include <cctype>
#include <bits/concurrence.h>
@@ -48,15 +46,6 @@ namespace __gnu_internal
namespace __gnu_debug
{
- void
- __fancy_abort(const char* __file, int __line, const char* __function,
- const char* __condition)
- {
- printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line,
- __function, __condition);
- abort();
- }
-
const char* _S_debug_messages[] =
{
"function requires a valid iterator range [%1.name;, %2.name;)",
diff --git a/libstdc++-v3/src/debug_list.cc b/libstdc++-v3/src/debug_list.cc
index 3d14b28f4b9..5bd0c66ca20 100644
--- a/libstdc++-v3/src/debug_list.cc
+++ b/libstdc++-v3/src/debug_list.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/ext-inst.cc b/libstdc++-v3/src/ext-inst.cc
index 4be3fed619a..2ce337bed08 100644
--- a/libstdc++-v3/src/ext-inst.cc
+++ b/libstdc++-v3/src/ext-inst.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/fstream-inst.cc b/libstdc++-v3/src/fstream-inst.cc
index 4d9eae5460b..152c145c066 100644
--- a/libstdc++-v3/src/fstream-inst.cc
+++ b/libstdc++-v3/src/fstream-inst.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/functexcept.cc b/libstdc++-v3/src/functexcept.cc
index fb158a61242..2dde0c5c12e 100644
--- a/libstdc++-v3/src/functexcept.cc
+++ b/libstdc++-v3/src/functexcept.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/globals_io.cc b/libstdc++-v3/src/globals_io.cc
index bf70f47c6e6..76736fa644a 100644
--- a/libstdc++-v3/src/globals_io.cc
+++ b/libstdc++-v3/src/globals_io.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/globals_locale.cc b/libstdc++-v3/src/globals_locale.cc
index 67192c462a6..17622c07d01 100644
--- a/libstdc++-v3/src/globals_locale.cc
+++ b/libstdc++-v3/src/globals_locale.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/io-inst.cc b/libstdc++-v3/src/io-inst.cc
index 0b407ef3630..c6f59d6e848 100644
--- a/libstdc++-v3/src/io-inst.cc
+++ b/libstdc++-v3/src/io-inst.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/ios.cc b/libstdc++-v3/src/ios.cc
index 70b22f67e64..a642e313c7f 100644
--- a/libstdc++-v3/src/ios.cc
+++ b/libstdc++-v3/src/ios.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/ios_failure.cc b/libstdc++-v3/src/ios_failure.cc
index 0d99ba303b8..cbe70ff61bf 100644
--- a/libstdc++-v3/src/ios_failure.cc
+++ b/libstdc++-v3/src/ios_failure.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/ios_init.cc b/libstdc++-v3/src/ios_init.cc
index 346ed4ed549..0c2194901ee 100644
--- a/libstdc++-v3/src/ios_init.cc
+++ b/libstdc++-v3/src/ios_init.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/ios_locale.cc b/libstdc++-v3/src/ios_locale.cc
index 008a4850d36..1202291f478 100644
--- a/libstdc++-v3/src/ios_locale.cc
+++ b/libstdc++-v3/src/ios_locale.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/istream-inst.cc b/libstdc++-v3/src/istream-inst.cc
index 6b454eed83b..acdd5d09c00 100644
--- a/libstdc++-v3/src/istream-inst.cc
+++ b/libstdc++-v3/src/istream-inst.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/istream.cc b/libstdc++-v3/src/istream.cc
index 15ff41afc73..07e6255b534 100644
--- a/libstdc++-v3/src/istream.cc
+++ b/libstdc++-v3/src/istream.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/limits.cc b/libstdc++-v3/src/limits.cc
index 700009cb463..02809082236 100644
--- a/libstdc++-v3/src/limits.cc
+++ b/libstdc++-v3/src/limits.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/list.cc b/libstdc++-v3/src/list.cc
index ec94053b411..e2b1571ae1e 100644
--- a/libstdc++-v3/src/list.cc
+++ b/libstdc++-v3/src/list.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/locale-inst.cc b/libstdc++-v3/src/locale-inst.cc
index 3aeb55366f9..84c7d773f99 100644
--- a/libstdc++-v3/src/locale-inst.cc
+++ b/libstdc++-v3/src/locale-inst.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/locale-misc-inst.cc b/libstdc++-v3/src/locale-misc-inst.cc
index e7ecb03987a..8da12791d18 100644
--- a/libstdc++-v3/src/locale-misc-inst.cc
+++ b/libstdc++-v3/src/locale-misc-inst.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/locale.cc b/libstdc++-v3/src/locale.cc
index a9d0b2cf46c..0117d152979 100644
--- a/libstdc++-v3/src/locale.cc
+++ b/libstdc++-v3/src/locale.cc
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/locale_facets.cc b/libstdc++-v3/src/locale_facets.cc
index db8c9e0fba4..29c3c8933b9 100644
--- a/libstdc++-v3/src/locale_facets.cc
+++ b/libstdc++-v3/src/locale_facets.cc
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/locale_init.cc b/libstdc++-v3/src/locale_init.cc
index fafe03af7ab..a251e25e939 100644
--- a/libstdc++-v3/src/locale_init.cc
+++ b/libstdc++-v3/src/locale_init.cc
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/localename.cc b/libstdc++-v3/src/localename.cc
index f6f961fbca0..431a8c1bfa6 100644
--- a/libstdc++-v3/src/localename.cc
+++ b/libstdc++-v3/src/localename.cc
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/misc-inst.cc b/libstdc++-v3/src/misc-inst.cc
index 382de97952f..d57bf9dc9ff 100644
--- a/libstdc++-v3/src/misc-inst.cc
+++ b/libstdc++-v3/src/misc-inst.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/mt_allocator.cc b/libstdc++-v3/src/mt_allocator.cc
index bb6ab899caf..722f79f194f 100644
--- a/libstdc++-v3/src/mt_allocator.cc
+++ b/libstdc++-v3/src/mt_allocator.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/ostream-inst.cc b/libstdc++-v3/src/ostream-inst.cc
index c4e2394f786..6d3189f57a6 100644
--- a/libstdc++-v3/src/ostream-inst.cc
+++ b/libstdc++-v3/src/ostream-inst.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/pool_allocator.cc b/libstdc++-v3/src/pool_allocator.cc
index 731cfffa0ea..445ff179349 100644
--- a/libstdc++-v3/src/pool_allocator.cc
+++ b/libstdc++-v3/src/pool_allocator.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/sstream-inst.cc b/libstdc++-v3/src/sstream-inst.cc
index 3295c2f0f12..444c9963373 100644
--- a/libstdc++-v3/src/sstream-inst.cc
+++ b/libstdc++-v3/src/sstream-inst.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/stdexcept.cc b/libstdc++-v3/src/stdexcept.cc
index 5db7c68d36d..60079244b23 100644
--- a/libstdc++-v3/src/stdexcept.cc
+++ b/libstdc++-v3/src/stdexcept.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/streambuf-inst.cc b/libstdc++-v3/src/streambuf-inst.cc
index 5d1879a6fae..01397e2c16c 100644
--- a/libstdc++-v3/src/streambuf-inst.cc
+++ b/libstdc++-v3/src/streambuf-inst.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/streambuf.cc b/libstdc++-v3/src/streambuf.cc
index 7badf94a0d2..923ff4f8f8f 100644
--- a/libstdc++-v3/src/streambuf.cc
+++ b/libstdc++-v3/src/streambuf.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/string-inst.cc b/libstdc++-v3/src/string-inst.cc
index 4c49453232a..cccf390c4ee 100644
--- a/libstdc++-v3/src/string-inst.cc
+++ b/libstdc++-v3/src/string-inst.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/strstream.cc b/libstdc++-v3/src/strstream.cc
index 832a19c461c..363d007f56c 100644
--- a/libstdc++-v3/src/strstream.cc
+++ b/libstdc++-v3/src/strstream.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/tree.cc b/libstdc++-v3/src/tree.cc
index 0cef30c104e..67b1dc622dc 100644
--- a/libstdc++-v3/src/tree.cc
+++ b/libstdc++-v3/src/tree.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/valarray-inst.cc b/libstdc++-v3/src/valarray-inst.cc
index 81afedb1be2..271c1087d6f 100644
--- a/libstdc++-v3/src/valarray-inst.cc
+++ b/libstdc++-v3/src/valarray-inst.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/wlocale-inst.cc b/libstdc++-v3/src/wlocale-inst.cc
index fa5059dae92..cd0f3e3bc39 100644
--- a/libstdc++-v3/src/wlocale-inst.cc
+++ b/libstdc++-v3/src/wlocale-inst.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/src/wstring-inst.cc b/libstdc++-v3/src/wstring-inst.cc
index 2bcdcfcd308..576a20ad8c7 100644
--- a/libstdc++-v3/src/wstring-inst.cc
+++ b/libstdc++-v3/src/wstring-inst.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/17_intro/header_cassert.cc b/libstdc++-v3/testsuite/17_intro/header_cassert.cc
index f232bacc65e..50f5db47ed9 100644
--- a/libstdc++-v3/testsuite/17_intro/header_cassert.cc
+++ b/libstdc++-v3/testsuite/17_intro/header_cassert.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 17.4.1.2 Headers, cassert
diff --git a/libstdc++-v3/testsuite/17_intro/header_cerrno.cc b/libstdc++-v3/testsuite/17_intro/header_cerrno.cc
index a8d19cf722b..d8d28ce0785 100644
--- a/libstdc++-v3/testsuite/17_intro/header_cerrno.cc
+++ b/libstdc++-v3/testsuite/17_intro/header_cerrno.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 17.4.1.2 Headers, cerrno
diff --git a/libstdc++-v3/testsuite/17_intro/header_csetjmp.cc b/libstdc++-v3/testsuite/17_intro/header_csetjmp.cc
index 1cbb630e752..28d363101d4 100644
--- a/libstdc++-v3/testsuite/17_intro/header_csetjmp.cc
+++ b/libstdc++-v3/testsuite/17_intro/header_csetjmp.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 17.4.1.2 Headers, csetjmp
diff --git a/libstdc++-v3/testsuite/17_intro/header_cstdarg.cc b/libstdc++-v3/testsuite/17_intro/header_cstdarg.cc
index 9e82930976e..e23edbba011 100644
--- a/libstdc++-v3/testsuite/17_intro/header_cstdarg.cc
+++ b/libstdc++-v3/testsuite/17_intro/header_cstdarg.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 17.4.1.2 Headers, cstdarg
diff --git a/libstdc++-v3/testsuite/17_intro/header_cstddef.cc b/libstdc++-v3/testsuite/17_intro/header_cstddef.cc
index 69f83f07f3a..ec195bb9ca1 100644
--- a/libstdc++-v3/testsuite/17_intro/header_cstddef.cc
+++ b/libstdc++-v3/testsuite/17_intro/header_cstddef.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 17.4.1.2 Headers, cstddef
diff --git a/libstdc++-v3/testsuite/17_intro/header_cstdio.cc b/libstdc++-v3/testsuite/17_intro/header_cstdio.cc
index a7be009f9c4..688df8d0840 100644
--- a/libstdc++-v3/testsuite/17_intro/header_cstdio.cc
+++ b/libstdc++-v3/testsuite/17_intro/header_cstdio.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 17.4.1.2 Headers, cstdio
diff --git a/libstdc++-v3/testsuite/17_intro/header_cstdlib.cc b/libstdc++-v3/testsuite/17_intro/header_cstdlib.cc
index 377bd60ace4..82e21b6f012 100644
--- a/libstdc++-v3/testsuite/17_intro/header_cstdlib.cc
+++ b/libstdc++-v3/testsuite/17_intro/header_cstdlib.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 17.4.1.2 Headers, cstdlib
diff --git a/libstdc++-v3/testsuite/17_intro/header_cstring.cc b/libstdc++-v3/testsuite/17_intro/header_cstring.cc
index 3085763954b..0f58fc935e7 100644
--- a/libstdc++-v3/testsuite/17_intro/header_cstring.cc
+++ b/libstdc++-v3/testsuite/17_intro/header_cstring.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 17.4.1.2 Headers, cstring
diff --git a/libstdc++-v3/testsuite/17_intro/header_ctime.cc b/libstdc++-v3/testsuite/17_intro/header_ctime.cc
index 1b97d645ec7..0df01570402 100644
--- a/libstdc++-v3/testsuite/17_intro/header_ctime.cc
+++ b/libstdc++-v3/testsuite/17_intro/header_ctime.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 17.4.1.2 Headers, ctime
diff --git a/libstdc++-v3/testsuite/17_intro/header_cwchar.cc b/libstdc++-v3/testsuite/17_intro/header_cwchar.cc
index dc2eefe1431..faf623c117d 100644
--- a/libstdc++-v3/testsuite/17_intro/header_cwchar.cc
+++ b/libstdc++-v3/testsuite/17_intro/header_cwchar.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 17.4.1.2 Headers, cwchar
diff --git a/libstdc++-v3/testsuite/17_intro/header_cwctype.cc b/libstdc++-v3/testsuite/17_intro/header_cwctype.cc
index 6fdea9faf17..850e58b2a4c 100644
--- a/libstdc++-v3/testsuite/17_intro/header_cwctype.cc
+++ b/libstdc++-v3/testsuite/17_intro/header_cwctype.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 17.4.1.2 Headers, cwctype
diff --git a/libstdc++-v3/testsuite/17_intro/header_fstream.cc b/libstdc++-v3/testsuite/17_intro/header_fstream.cc
index 9f41f505719..c190d501873 100644
--- a/libstdc++-v3/testsuite/17_intro/header_fstream.cc
+++ b/libstdc++-v3/testsuite/17_intro/header_fstream.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 17.4.1.2 Headers, fstream
diff --git a/libstdc++-v3/testsuite/17_intro/header_iomanip.cc b/libstdc++-v3/testsuite/17_intro/header_iomanip.cc
index 130e9767753..6d462241406 100644
--- a/libstdc++-v3/testsuite/17_intro/header_iomanip.cc
+++ b/libstdc++-v3/testsuite/17_intro/header_iomanip.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 17.4.1.2 Headers, iomanip
diff --git a/libstdc++-v3/testsuite/17_intro/header_ios.cc b/libstdc++-v3/testsuite/17_intro/header_ios.cc
index bde8a85c6f4..d04e14a4384 100644
--- a/libstdc++-v3/testsuite/17_intro/header_ios.cc
+++ b/libstdc++-v3/testsuite/17_intro/header_ios.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 17.4.1.2 Headers, ios
diff --git a/libstdc++-v3/testsuite/17_intro/header_iosfwd.cc b/libstdc++-v3/testsuite/17_intro/header_iosfwd.cc
index d9846702774..ccfd14ad7fe 100644
--- a/libstdc++-v3/testsuite/17_intro/header_iosfwd.cc
+++ b/libstdc++-v3/testsuite/17_intro/header_iosfwd.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 17.4.1.2 Headers, iosfwd
diff --git a/libstdc++-v3/testsuite/17_intro/header_iostream.cc b/libstdc++-v3/testsuite/17_intro/header_iostream.cc
index 59b72fcce7b..2a6202d99bb 100644
--- a/libstdc++-v3/testsuite/17_intro/header_iostream.cc
+++ b/libstdc++-v3/testsuite/17_intro/header_iostream.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 17.4.1.2 Headers, iostream
diff --git a/libstdc++-v3/testsuite/17_intro/header_istream.cc b/libstdc++-v3/testsuite/17_intro/header_istream.cc
index daa7f16d1aa..90326d6c7ce 100644
--- a/libstdc++-v3/testsuite/17_intro/header_istream.cc
+++ b/libstdc++-v3/testsuite/17_intro/header_istream.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 17.4.1.2 Headers, istream
diff --git a/libstdc++-v3/testsuite/17_intro/header_ostream.cc b/libstdc++-v3/testsuite/17_intro/header_ostream.cc
index 7af23d55800..901bfec22d5 100644
--- a/libstdc++-v3/testsuite/17_intro/header_ostream.cc
+++ b/libstdc++-v3/testsuite/17_intro/header_ostream.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 17.4.1.2 Headers, ostream
diff --git a/libstdc++-v3/testsuite/17_intro/header_sstream.cc b/libstdc++-v3/testsuite/17_intro/header_sstream.cc
index b546c5498ce..d8689aedae3 100644
--- a/libstdc++-v3/testsuite/17_intro/header_sstream.cc
+++ b/libstdc++-v3/testsuite/17_intro/header_sstream.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 17.4.1.2 Headers, sstream
diff --git a/libstdc++-v3/testsuite/17_intro/header_streambuf.cc b/libstdc++-v3/testsuite/17_intro/header_streambuf.cc
index de5b8abfd86..ac67481e2b7 100644
--- a/libstdc++-v3/testsuite/17_intro/header_streambuf.cc
+++ b/libstdc++-v3/testsuite/17_intro/header_streambuf.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 17.4.1.2 Headers, streambuf
diff --git a/libstdc++-v3/testsuite/17_intro/headers.cc b/libstdc++-v3/testsuite/17_intro/headers.cc
index 9f0303e675b..46975408c32 100644
--- a/libstdc++-v3/testsuite/17_intro/headers.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// FreeBSD wants warning clean system headers:
diff --git a/libstdc++-v3/testsuite/17_intro/headers_c++.cc b/libstdc++-v3/testsuite/17_intro/headers_c++.cc
index eb5d9c53ac5..03c902a3217 100644
--- a/libstdc++-v3/testsuite/17_intro/headers_c++.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers_c++.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 17.4.1.2 Headers
diff --git a/libstdc++-v3/testsuite/17_intro/headers_c.cc b/libstdc++-v3/testsuite/17_intro/headers_c.cc
index 17aa083c538..369639c49cc 100644
--- a/libstdc++-v3/testsuite/17_intro/headers_c.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers_c.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 17.4.1.2 Headers
diff --git a/libstdc++-v3/testsuite/17_intro/no_assert_neg.cc b/libstdc++-v3/testsuite/17_intro/no_assert_neg.cc
index f3ffa4a48e0..d259c2c6ac1 100644
--- a/libstdc++-v3/testsuite/17_intro/no_assert_neg.cc
+++ b/libstdc++-v3/testsuite/17_intro/no_assert_neg.cc
@@ -20,7 +20,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 17.4.1.2 Headers
diff --git a/libstdc++-v3/testsuite/18_support/new_delete_placement.cc b/libstdc++-v3/testsuite/18_support/new_delete_placement.cc
index bf28440bd3b..148d8a55b45 100644
--- a/libstdc++-v3/testsuite/18_support/new_delete_placement.cc
+++ b/libstdc++-v3/testsuite/18_support/new_delete_placement.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 18.4.1.3 - Placement forms
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits.cc b/libstdc++-v3/testsuite/18_support/numeric_limits.cc
index 27c406673af..f04f05f49eb 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits.cc
@@ -18,7 +18,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 18.2.1.1 template class numeric_limits
diff --git a/libstdc++-v3/testsuite/19_diagnostics/stdexceptions.cc b/libstdc++-v3/testsuite/19_diagnostics/stdexceptions.cc
index 30595f0f76a..af06cbea9d4 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/stdexceptions.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/stdexceptions.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 19.1 Exception classes
diff --git a/libstdc++-v3/testsuite/20_util/functional/binders/1.cc b/libstdc++-v3/testsuite/20_util/functional/binders/1.cc
index e8af6533ec3..040125128d2 100644
--- a/libstdc++-v3/testsuite/20_util/functional/binders/1.cc
+++ b/libstdc++-v3/testsuite/20_util/functional/binders/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.3.6 Binders
diff --git a/libstdc++-v3/testsuite/20_util/functional/binders/3113.cc b/libstdc++-v3/testsuite/20_util/functional/binders/3113.cc
index dfcd41957d5..210631653c9 100644
--- a/libstdc++-v3/testsuite/20_util/functional/binders/3113.cc
+++ b/libstdc++-v3/testsuite/20_util/functional/binders/3113.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.3.6 Binders
diff --git a/libstdc++-v3/testsuite/20_util/functional/comparisons.cc b/libstdc++-v3/testsuite/20_util/functional/comparisons.cc
index fda0332fa07..9ed12fef4e7 100644
--- a/libstdc++-v3/testsuite/20_util/functional/comparisons.cc
+++ b/libstdc++-v3/testsuite/20_util/functional/comparisons.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.3.3 Comparisons
diff --git a/libstdc++-v3/testsuite/20_util/memory/16505.cc b/libstdc++-v3/testsuite/20_util/memory/16505.cc
index 87ef178c9bf..b20c0496ee8 100644
--- a/libstdc++-v3/testsuite/20_util/memory/16505.cc
+++ b/libstdc++-v3/testsuite/20_util/memory/16505.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.4 specialized algorithms
diff --git a/libstdc++-v3/testsuite/20_util/memory/allocator/1.cc b/libstdc++-v3/testsuite/20_util/memory/allocator/1.cc
index 28da99735ea..3d621995b30 100644
--- a/libstdc++-v3/testsuite/20_util/memory/allocator/1.cc
+++ b/libstdc++-v3/testsuite/20_util/memory/allocator/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/20_util/memory/allocator/10378.cc b/libstdc++-v3/testsuite/20_util/memory/allocator/10378.cc
index 308a2e126e8..268ccb22d01 100644
--- a/libstdc++-v3/testsuite/20_util/memory/allocator/10378.cc
+++ b/libstdc++-v3/testsuite/20_util/memory/allocator/10378.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.1.5 allocator requirements / 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/20_util/memory/allocator/14176.cc b/libstdc++-v3/testsuite/20_util/memory/allocator/14176.cc
index e83e46c63bf..340b7b2525d 100644
--- a/libstdc++-v3/testsuite/20_util/memory/allocator/14176.cc
+++ b/libstdc++-v3/testsuite/20_util/memory/allocator/14176.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/20_util/memory/allocator/8230.cc b/libstdc++-v3/testsuite/20_util/memory/allocator/8230.cc
index d8d5f691963..444443fd3af 100644
--- a/libstdc++-v3/testsuite/20_util/memory/allocator/8230.cc
+++ b/libstdc++-v3/testsuite/20_util/memory/allocator/8230.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/20_util/memory/auto_ptr/1.cc b/libstdc++-v3/testsuite/20_util/memory/auto_ptr/1.cc
index 8e150b0187c..f126008bd34 100644
--- a/libstdc++-v3/testsuite/20_util/memory/auto_ptr/1.cc
+++ b/libstdc++-v3/testsuite/20_util/memory/auto_ptr/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.5 Template class auto_ptr [lib.auto.ptr]
diff --git a/libstdc++-v3/testsuite/20_util/memory/auto_ptr/2.cc b/libstdc++-v3/testsuite/20_util/memory/auto_ptr/2.cc
index 6ce31d1fe88..7c51d805b66 100644
--- a/libstdc++-v3/testsuite/20_util/memory/auto_ptr/2.cc
+++ b/libstdc++-v3/testsuite/20_util/memory/auto_ptr/2.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.5 Template class auto_ptr [lib.auto.ptr]
diff --git a/libstdc++-v3/testsuite/20_util/memory/auto_ptr/3.cc b/libstdc++-v3/testsuite/20_util/memory/auto_ptr/3.cc
index 8090d277783..89e23b78d1f 100644
--- a/libstdc++-v3/testsuite/20_util/memory/auto_ptr/3.cc
+++ b/libstdc++-v3/testsuite/20_util/memory/auto_ptr/3.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.5 Template class auto_ptr [lib.auto.ptr]
diff --git a/libstdc++-v3/testsuite/20_util/memory/auto_ptr/3946.cc b/libstdc++-v3/testsuite/20_util/memory/auto_ptr/3946.cc
index 191ba6f9306..fcb9b451d77 100644
--- a/libstdc++-v3/testsuite/20_util/memory/auto_ptr/3946.cc
+++ b/libstdc++-v3/testsuite/20_util/memory/auto_ptr/3946.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.5 Template class auto_ptr [lib.auto.ptr]
diff --git a/libstdc++-v3/testsuite/20_util/memory/auto_ptr/4.cc b/libstdc++-v3/testsuite/20_util/memory/auto_ptr/4.cc
index 18148005573..3f8bcd987e4 100644
--- a/libstdc++-v3/testsuite/20_util/memory/auto_ptr/4.cc
+++ b/libstdc++-v3/testsuite/20_util/memory/auto_ptr/4.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.5 Template class auto_ptr [lib.auto.ptr]
diff --git a/libstdc++-v3/testsuite/20_util/memory/auto_ptr/5.cc b/libstdc++-v3/testsuite/20_util/memory/auto_ptr/5.cc
index 77969816496..bb27a21ee4c 100644
--- a/libstdc++-v3/testsuite/20_util/memory/auto_ptr/5.cc
+++ b/libstdc++-v3/testsuite/20_util/memory/auto_ptr/5.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.5 Template class auto_ptr [lib.auto.ptr]
diff --git a/libstdc++-v3/testsuite/20_util/memory/auto_ptr/6.cc b/libstdc++-v3/testsuite/20_util/memory/auto_ptr/6.cc
index e4e13d9d6b0..c4c995eca9d 100644
--- a/libstdc++-v3/testsuite/20_util/memory/auto_ptr/6.cc
+++ b/libstdc++-v3/testsuite/20_util/memory/auto_ptr/6.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.5 Template class auto_ptr [lib.auto.ptr]
diff --git a/libstdc++-v3/testsuite/20_util/memory/auto_ptr/7.cc b/libstdc++-v3/testsuite/20_util/memory/auto_ptr/7.cc
index a77ba51cb58..8e22804aceb 100644
--- a/libstdc++-v3/testsuite/20_util/memory/auto_ptr/7.cc
+++ b/libstdc++-v3/testsuite/20_util/memory/auto_ptr/7.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.5 Template class auto_ptr [lib.auto.ptr]
diff --git a/libstdc++-v3/testsuite/20_util/memory/auto_ptr/assign_neg.cc b/libstdc++-v3/testsuite/20_util/memory/auto_ptr/assign_neg.cc
index 55291676f3d..cf4041df130 100644
--- a/libstdc++-v3/testsuite/20_util/memory/auto_ptr/assign_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/memory/auto_ptr/assign_neg.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.5 Template class auto_ptr negative tests [lib.auto.ptr]
diff --git a/libstdc++-v3/testsuite/20_util/memory/raw_storage_iterator.cc b/libstdc++-v3/testsuite/20_util/memory/raw_storage_iterator.cc
index c79e5400581..36e7d25704e 100644
--- a/libstdc++-v3/testsuite/20_util/memory/raw_storage_iterator.cc
+++ b/libstdc++-v3/testsuite/20_util/memory/raw_storage_iterator.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.2 raw storage iterator
diff --git a/libstdc++-v3/testsuite/20_util/memory/temporary_buffer.cc b/libstdc++-v3/testsuite/20_util/memory/temporary_buffer.cc
index e83a82efcf8..aee343a586e 100644
--- a/libstdc++-v3/testsuite/20_util/memory/temporary_buffer.cc
+++ b/libstdc++-v3/testsuite/20_util/memory/temporary_buffer.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.3 temporary buffers
diff --git a/libstdc++-v3/testsuite/20_util/utility/pair/1.cc b/libstdc++-v3/testsuite/20_util/utility/pair/1.cc
index 7ccee6dd569..9b7f5551b9a 100644
--- a/libstdc++-v3/testsuite/20_util/utility/pair/1.cc
+++ b/libstdc++-v3/testsuite/20_util/utility/pair/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.2.2 Pairs
diff --git a/libstdc++-v3/testsuite/20_util/utility/pair/2.cc b/libstdc++-v3/testsuite/20_util/utility/pair/2.cc
index 82d928c2d01..fd5f8ad5d41 100644
--- a/libstdc++-v3/testsuite/20_util/utility/pair/2.cc
+++ b/libstdc++-v3/testsuite/20_util/utility/pair/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.2.2 Pairs
diff --git a/libstdc++-v3/testsuite/20_util/utility/pair/3.cc b/libstdc++-v3/testsuite/20_util/utility/pair/3.cc
index bac0e7eb974..f861134d2b8 100644
--- a/libstdc++-v3/testsuite/20_util/utility/pair/3.cc
+++ b/libstdc++-v3/testsuite/20_util/utility/pair/3.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.2.2 Pairs
diff --git a/libstdc++-v3/testsuite/20_util/utility/pair/4.cc b/libstdc++-v3/testsuite/20_util/utility/pair/4.cc
index f6a1b5697d7..086cc9eb6c3 100644
--- a/libstdc++-v3/testsuite/20_util/utility/pair/4.cc
+++ b/libstdc++-v3/testsuite/20_util/utility/pair/4.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.2.2 Pairs
diff --git a/libstdc++-v3/testsuite/20_util/utility/rel_ops.cc b/libstdc++-v3/testsuite/20_util/utility/rel_ops.cc
index 2a121ee8264..e2ac57d728a 100644
--- a/libstdc++-v3/testsuite/20_util/utility/rel_ops.cc
+++ b/libstdc++-v3/testsuite/20_util/utility/rel_ops.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.2.1 Operators
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/1.cc
index e65fdd8b86a..ec839146a35 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/2.cc
index 36322929ac7..ed539e06df7 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/2.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/append/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/append/char/1.cc
index cf131ac109c..9e7e72ae45a 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/append/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/append/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5.2 basic_string::append
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/append/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/append/char/2.cc
index d381e2a03c6..451fde5cf2c 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/append/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/append/char/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5 string modifiers
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/append/char/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/append/char/3.cc
index f45943d49bc..e3b49a3187f 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/append/char/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/append/char/3.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5 string modifiers
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/1.cc
index 6eb37e014cc..eddfda26d5c 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5.2 basic_string::append
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/2.cc
index 8af018b40f2..d93e6bde809 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5 string modifiers
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/3.cc
index 8ebaa6513ba..10e81534121 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/3.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5 string modifiers
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/assign/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/assign/char/1.cc
index 1aa8a67809d..18ed1590d4a 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/assign/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/assign/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5 string modifiers
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/assign/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/assign/char/2.cc
index 9635b1b47ff..e199c3f4c85 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/assign/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/assign/char/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5 string modifiers
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/assign/char/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/assign/char/3.cc
index 232a46028bd..6b92e5e32dc 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/assign/char/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/assign/char/3.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5 string modifiers
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/assign/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/assign/wchar_t/1.cc
index 377e35bf7b5..be61d3218b6 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/assign/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/assign/wchar_t/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5 string modifiers
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/assign/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/assign/wchar_t/2.cc
index 7064d1f935f..d2891e672af 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/assign/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/assign/wchar_t/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5 string modifiers
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/assign/wchar_t/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/assign/wchar_t/3.cc
index b656d82f390..8f49bfd5f29 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/assign/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/assign/wchar_t/3.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5 string modifiers
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 f74f143516f..18fd730dcc5 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.3 string capacity
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 e55899dbbe5..dd2775eeca1 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.3 string capacity
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 5194d818be3..5f1149ea4ac 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.3 string capacity
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 b88597486bd..ca42d2e4e18 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.3 string capacity
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 55c13463818..edbf3eee219 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.3 string capacity
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 38623ebdebf..307d7f4cd87 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.3 string capacity
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 e611567ecd5..7b792cef98d 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.3 string capacity
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/compare/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/compare/char/1.cc
index 75dc5ad7db6..128add3fbb5 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/compare/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/compare/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.6.8 basic_string::compare
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/compare/char/13650.cc b/libstdc++-v3/testsuite/21_strings/basic_string/compare/char/13650.cc
index d1ed3d4fa45..fa322dd1b91 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/compare/char/13650.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/compare/char/13650.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.6.8 basic_string::compare [lib.string::compare]
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/compare/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/compare/wchar_t/1.cc
index 2ad25204eba..36a830fa522 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/compare/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/compare/wchar_t/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.6.8 basic_string::compare
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/compare/wchar_t/13650.cc b/libstdc++-v3/testsuite/21_strings/basic_string/compare/wchar_t/13650.cc
index 13e3ca26019..43852c408e9 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/compare/wchar_t/13650.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/compare/wchar_t/13650.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.6.8 basic_string::compare [lib.string::compare]
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 996f8ad0d32..28c26a0389e 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.1 basic_string constructors.
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 85c82ba78cf..59ca6821ee2 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.1 basic_string constructors.
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 fc86271d0bc..fc27e235236 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.1 basic_string constructors.
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 020eff6f229..75374d22ade 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.1 basic_string constructors.
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 0aecd998e33..8f687ce9792 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.1 basic_string constructors.
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 a61323acfc7..747aefc43fe 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.1 basic_string constructors.
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 45715fd5c14..593f7080484 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.1 basic_string constructors.
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 c7b6422675a..860380a0b59 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.1 basic_string constructors.
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 882e22c59df..389f3e730dc 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.1 basic_string constructors.
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 9140ff759e4..8cc17abd8b5 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.1 basic_string constructors.
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 a426f292c88..fae5ed2a883 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.1 basic_string constructors.
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 fab4aa93a0e..5879891865a 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.1 basic_string constructors.
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 556039e6e1d..9b850967fe1 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.4 basic_string element access
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 34c1772d4ce..d47358afee8 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3 template class basic_string
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 fec27bb5ef2..5f22b4b18ab 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3 template class basic_string
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 3edc543b32b..b18c16c1a53 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.4 basic_string element access
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 37c9420bc13..f9ad41128d7 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
@@ -13,7 +13,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
// As a special exception, you may use this file as part of a free software
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 11f5921eda2..0b10b89bb20 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.4 basic_string element access
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 a8e86fbf582..03fa8b671ba 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3 template class basic_string
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 defd0875a8b..3cdd5708d02 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3 template class basic_string
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 18b72f0a15f..7039bef4d40 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.4 basic_string element access
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 b0391691dac..711c96f62ce 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
@@ -13,7 +13,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/find/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/find/char/1.cc
index 485ef4f1fc1..f35b4aec627 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/find/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/find/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.6.1 basic_string find
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/find/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/find/char/2.cc
index 6874f833ea5..9e91fe3194d 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/find/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/find/char/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.6.3 basic_string find_first_of
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/find/char/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/find/char/3.cc
index b8643e08c3f..a7eea33542e 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/find/char/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/find/char/3.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.6.5 basic_string find_first_not_of
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/find/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/find/wchar_t/1.cc
index 11d14e59b18..e5b700b53e2 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/find/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/find/wchar_t/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.6.1 basic_string find
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/find/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/find/wchar_t/2.cc
index a0f0466e105..55edac8e283 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/find/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/find/wchar_t/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.6.3 basic_string find_first_of
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/find/wchar_t/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/find/wchar_t/3.cc
index dd27c438063..5069c12e86b 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/find/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/find/wchar_t/3.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.6.5 basic_string find_first_not_of
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/insert/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/insert/char/1.cc
index e1c54025075..e3bac29e321 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/insert/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/insert/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5.4 basic_string::insert
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/insert/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/insert/char/2.cc
index 44384533a18..bbd8312c1b4 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/insert/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/insert/char/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5.4 basic_string::insert
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/insert/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/insert/wchar_t/1.cc
index 2e6fdfd2c70..296c7cc052b 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/insert/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/insert/wchar_t/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5.4 basic_string::insert
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/insert/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/insert/wchar_t/2.cc
index a1a5389656a..06aa4eb6f5f 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/insert/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/insert/wchar_t/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5.4 basic_string::insert
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 fb2721782c9..d71efb68d2b 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.7.9 inserters and extractors
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 4822b6b2916..9c6d69440f1 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.7.9 inserters and extractors
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 e60c441110b..a400cd9bb9e 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.7.9 inserters and extractors
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 1fbc3d05dc8..ec531d2180a 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.7.9 inserters and extractors
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 7ba1cecea81..544fa7a8724 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.7.9 inserters and extractors
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 b074ff2d44c..a8f664969cb 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.7.9 inserters and extractors
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 02a2de8f051..d06666e0a9c 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.7.9 inserters and extractors
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 4d5556661d4..dd25d4b2a03 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.7.9 inserters and extractors
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 6755af3f4e1..da81ae0d750 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.7.9 inserters and extractors
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 9555362e576..1abd09f9aa3 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 c192730362a..efa44775daa 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 e77dbc1dc1d..d012c0b44ca 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.7.9 inserters and extractors
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 ba6bbaf31fa..c2c4e619f5e 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.7.9 inserters and extractors
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 66fae676d7a..391cece916e 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.7.9 inserters and extractors
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 ba4f84cead1..51502bf0326 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.7.9 inserters and extractors
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 9a88091fd8f..bb8b5983fc8 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.7.9 inserters and extractors
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 33699eb974a..e999a6d98bc 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.7.9 inserters and extractors
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 1971e959af3..c388d626097 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.7.9 inserters and extractors
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 24aef6f6f18..7baeb1d662d 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.7.9 inserters and extractors
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 d83a17c3cac..935158ed15d 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.7.9 inserters and extractors
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/char/1.cc
index 5194be7f5e2..4108116dca7 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/char/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.6 string operations
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/wchar_t/1.cc
index 86374ccdf6a..2077effc85d 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/wchar_t/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.6 string operations
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 b7337b2fd8d..9c52166cf00 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.6 string operations
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 c60985e4e2a..074182e3580 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.7.1 basic_string non-member functions
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 98b42f9f769..b89e2755f26 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.6 string operations
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 86ac5dbbf46..a34d0cb74c7 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.7.1 basic_string non-member functions
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/1.cc
index 49713242855..87cc9f72b85 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5.6 basic_string::replace
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/2.cc
index 08efb962c9e..c101711aae3 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5.6 basic_string::replace
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/3.cc
index 81cde7bceef..644085a229d 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/3.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5.6 basic_string::replace
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/4.cc b/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/4.cc
index 14a294221d6..ef55ab3974f 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/4.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/4.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5.6 basic_string::replace
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/5.cc b/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/5.cc
index 4e1837f89b2..6c3b5c3b486 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/5.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/5.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5.6 basic_string::replace
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/6.cc b/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/6.cc
index 23ab34e0ef7..d58b3658625 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/6.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/6.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5.6 basic_string::replace
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/1.cc
index 8d2209da497..c4592fc64f3 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5.6 basic_string::replace
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/2.cc
index 2ee38141ca2..f3e61cb298e 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5.6 basic_string::replace
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/3.cc
index b50af79b0ad..51a5fea322a 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/3.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5.6 basic_string::replace
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/4.cc b/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/4.cc
index d11dec82fd2..c411a3de130 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/4.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5.6 basic_string::replace
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/5.cc b/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/5.cc
index 1f8d4d9feb4..fb573daad39 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/5.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5.6 basic_string::replace
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/6.cc b/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/6.cc
index ca16482a8f2..2fe7b26a3ad 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/6.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/6.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.5.6 basic_string::replace
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/rfind/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/rfind/char/1.cc
index 42913dc3b4d..3d70fe75f25 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/rfind/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/rfind/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <string>
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/rfind/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/rfind/char/2.cc
index 1f0f5a3367e..391401ad7f6 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/rfind/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/rfind/char/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <string>
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/rfind/char/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/rfind/char/3.cc
index 9c3bec96fac..7c827443edd 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/rfind/char/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/rfind/char/3.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <string>
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/rfind/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/rfind/wchar_t/1.cc
index 46077a8550f..197f4fc2719 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/rfind/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/rfind/wchar_t/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <string>
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/rfind/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/rfind/wchar_t/2.cc
index af012b9d069..840321d690f 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/rfind/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/rfind/wchar_t/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <string>
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/rfind/wchar_t/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/rfind/wchar_t/3.cc
index 7c564e769e7..42ae2a144c1 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/rfind/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/rfind/wchar_t/3.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <string>
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/substr/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/substr/char/1.cc
index b1ed63d60ae..f99670a0154 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/substr/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/substr/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.6.7 basic_string::substr
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/substr/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/substr/wchar_t/1.cc
index da00f1c507b..2e43b016a4a 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/substr/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/substr/wchar_t/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.3.6.7 basic_string::substr
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 c18b4238a6e..e6d0d1bed33 100644
--- a/libstdc++-v3/testsuite/21_strings/c_strings/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/c_strings/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.4: null-terminiated sequence utilities
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 2eaac5e7d35..51e8826aeab 100644
--- a/libstdc++-v3/testsuite/21_strings/c_strings/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/c_strings/char/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.4: null-terminiated sequence utilities
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 7c4395aea3d..c50a65a172e 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.4: null-terminiated sequence utilities
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 19a7ebe3042..67d9d84aedf 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.4: null-terminiated sequence utilities
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 15500b0dce2..d040d775712 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,7 @@
// 1999-06-03 bkoz
-// Copyright (C) 1999, 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005
+// Free Software Foundation, Inc.
//
// This 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,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.1.1 Characher traits requirements
@@ -32,12 +33,12 @@ void test01(void)
// 21.1.1 character traits requirements
// Key for decoding what function signatures really mean:
- // X == char_traits<_CharT>
+ // X == char_traits<_CharT>
// [c,d] == _CharT
// [p,q] == const _CharT*
- // s == _CharT*
+ // s == _CharT*
// [n,i,j] == size_t
- // f == X::int_type
+ // f == X::int_type
// pos == X::pos_type
// state == X::state_type
@@ -54,9 +55,11 @@ void test01(void)
// correctly even where p is in [s, s + n), and yields s.
char array1[] = {'z', 'u', 'm', 'a', ' ', 'b', 'e', 'a', 'c', 'h', 0};
const char str_lit1[] = "montara and ocean beach";
- int len = sizeof(str_lit1) + sizeof(array1) - 1; // two terminating chars
- char array2[len];
- std::char_traits<char>::copy(array2, "boracay, philippines", len);
+ const char str_lit2[] = "boracay, philippines";
+ const int len1 = sizeof(str_lit1)/sizeof(char);
+ const int len2 = sizeof(str_lit2)/sizeof(char);
+ char array2[len1 + len2 - 1]; // two terminating chars
+ std::char_traits<char>::copy(array2, str_lit2, len2);
VERIFY( str_lit1[0] == 'm' );
c1 = array2[0];
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 4dbcae0db91..dd2283cbe29 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.1.1 Character traits requirements
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 d7582ca4cc1..3a8a20cf88d 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,7 @@
// 1999-06-03 bkoz
-// Copyright (C) 1999, 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005
+// Free Software Foundation, Inc.
//
// This 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,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.1.1 Characher traits requirements
@@ -32,12 +33,12 @@ void test02(void)
// 21.1.1 character traits requirements
// Key for decoding what function signatures really mean:
- // X == char_traits<_CharT>
+ // X == char_traits<_CharT>
// [c,d] == _CharT
// [p,q] == const _CharT*
- // s == _CharT*
+ // s == _CharT*
// [n,i,j] == size_t
- // f == X::int_type
+ // f == X::int_type
// pos == X::pos_type
// state == X::state_type
@@ -54,9 +55,11 @@ void test02(void)
// correctly even where p is in [s, s + n), and yields s.
wchar_t array1[] = {L'z', L'u', L'm', L'a', L' ', L'b', L'e', L'a', L'c', L'h', 0};
const wchar_t str_lit1[] = L"montara and ocean beach";
- int len = sizeof(str_lit1) + sizeof(array1) - 1; // two terminating chars
- wchar_t array2[len];
- std::char_traits<wchar_t>::copy(array2, L"boracay, philippines", len);
+ const wchar_t str_lit2[] = L"boracay, philippines";
+ const int len1 = sizeof(str_lit1)/sizeof(wchar_t);
+ const int len2 = sizeof(str_lit2)/sizeof(wchar_t);
+ wchar_t array2[len1 + len2 - 1]; // two terminating chars
+ std::char_traits<wchar_t>::copy(array2, str_lit2, len2);
VERIFY( str_lit1[0] == 'm' );
c1 = array2[0];
diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/typedefs/char/1.cc b/libstdc++-v3/testsuite/21_strings/char_traits/typedefs/char/1.cc
index 5d34aae4779..5373d6a4be3 100644
--- a/libstdc++-v3/testsuite/21_strings/char_traits/typedefs/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/char_traits/typedefs/char/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 21.1.2: char_traits typedefs
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt/1.cc
index 1c46d583c41..c0232ce8f68 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 Template class codecvt
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/2.cc b/libstdc++-v3/testsuite/22_locale/codecvt/2.cc
index 9811239b5ed..4e12657623f 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/2.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 Template class codecvt
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 060b3683a52..7881eb7d49e 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 469eadfe470..cdc7d4f8526 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e8f618fcf29..6c06030981a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 13fc3838c73..5ba968c5f13 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 bc17a8a8161..62fbe944a97 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 cdf3adc5bbb..47e6c085c31 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 3b624859818..ab336e2c95b 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 469eadfe470..cdc7d4f8526 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e8f618fcf29..6c06030981a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 76428bff180..927e7f0db3d 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 469eadfe470..cdc7d4f8526 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e8f618fcf29..6c06030981a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 1b86fb7a8dd..f8ddddc7621 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 91f75aff0d1..1cc64bfdf1b 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 920db255870..97722dc0d6b 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 f8530e7ac82..8fdcef85033 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 469eadfe470..cdc7d4f8526 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e8f618fcf29..6c06030981a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 bbc6397ce37..0eaadcc6d36 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/in/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 469eadfe470..cdc7d4f8526 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e8f618fcf29..6c06030981a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 d8c2e8fe42a..cd9d1f7f619 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 c8e5f4f8014..1ee107512f4 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 dd18ee99dd2..0fb4f491099 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 9761784250b..65b9a7b38c7 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 aa0879d393d..ee57ce05898 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 1eed2880dbc..49cdd724c6c 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 984135ccd77..26c47cdbc78 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 77e9cd9432e..b0e5d02fab2 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 7afb1989f32..71cc6caeee2 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 469eadfe470..cdc7d4f8526 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e8f618fcf29..6c06030981a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 085952863c2..55d2536fd14 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/length/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/length/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 5e5023af850..16e81b3b8b9 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/length/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/length/char/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 469eadfe470..cdc7d4f8526 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e8f618fcf29..6c06030981a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 bc228755a0d..c62cf0e6cbd 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 5e0defbfc16..03c07a0b22d 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 f6f1c22da30..d8e1d1efad5 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 6a81fe994f8..85eb97013b2 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 2921a9d9bfd..d8da6e3bdfa 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 a0700c18920..081feb790df 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 7bcd0f2d961..f32b26502eb 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 469eadfe470..cdc7d4f8526 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e8f618fcf29..6c06030981a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 2880ec52636..57565b7e3ba 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 469eadfe470..cdc7d4f8526 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e8f618fcf29..6c06030981a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 ad8cc24c60c..6976395ce25 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 1393798c001..b713b561cbc 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 324b9628485..4ea2e356e65 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 dc01de72415..19e56c4d6ca 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 469eadfe470..cdc7d4f8526 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e8f618fcf29..6c06030981a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 1dddbb207c7..4993718dce7 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/out/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/out/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 469eadfe470..cdc7d4f8526 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e8f618fcf29..6c06030981a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 75eb2ff0817..454d5a98721 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 d12b27611e6..ad1799b01a7 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 3c88fa23241..59da76c4251 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 f41c950f638..f85a296e642 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 55ba7eff900..8038796e00d 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 a44746ff02d..45c0035a552 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 85c30be8d9a..a8e369a579f 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 469eadfe470..cdc7d4f8526 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e8f618fcf29..6c06030981a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/unicode/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt/unicode/1.cc
index 705f43afd6f..3bd27dd61b4 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/unicode/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/unicode/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/unicode/char.cc b/libstdc++-v3/testsuite/22_locale/codecvt/unicode/char.cc
index ad31f9ae2fc..e6e4f336eef 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/unicode/char.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/unicode/char.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/unicode/wchar_t.cc b/libstdc++-v3/testsuite/22_locale/codecvt/unicode/wchar_t.cc
index 5793b33aa77..6a318362e1c 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/unicode/wchar_t.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/unicode/wchar_t.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 25a36ef5ee9..2853c431d20 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 469eadfe470..cdc7d4f8526 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e8f618fcf29..6c06030981a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 8410a358c4c..0faa76f5263 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 3727da5d310..9630a7a66fc 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 5bf0f81f9bf..dc1de83ba01 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 6a8413dad70..cea86ea38e3 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
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 469eadfe470..cdc7d4f8526 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e8f618fcf29..6c06030981a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt_byname/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt_byname/1.cc
index a17c841466b..d9c9f16a4eb 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt_byname/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt_byname/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.5 Template class codecvt
diff --git a/libstdc++-v3/testsuite/22_locale/collate/1.cc b/libstdc++-v3/testsuite/22_locale/collate/1.cc
index 41f615e3dde..72de0a9e1fa 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4 The collate category
diff --git a/libstdc++-v3/testsuite/22_locale/collate/2.cc b/libstdc++-v3/testsuite/22_locale/collate/2.cc
index 98bc214943d..e4d43e8f5c3 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/2.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4 The collate category
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 857e19f8256..8bee1572145 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/compare/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/compare/char/1.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 f1840334ed8..94064ecc993 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/compare/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/compare/char/2.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 3f5042ef71c..a191082fe9e 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/compare/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/compare/char/3.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 1ef3f20576c..22e64abab63 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 6434f7ebc76..1a19dbd6849 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 2fc60a132d2..28c0ce6ecad 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 7f5073603d5..f9845c38bec 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
@@ -21,7 +21,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e9f761e71e0..536f6d8cc8c 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 a236171eed2..60b14fa14e5 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
@@ -21,7 +21,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 eaf2f74dc72..32e1f0e4644 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
@@ -21,7 +21,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e8d9d8ef0a1..37900acbc8f 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/hash/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/hash/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 44493e7e28d..593031540eb 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/hash/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/hash/char/2.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 1ef3f20576c..22e64abab63 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 6434f7ebc76..1a19dbd6849 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 fad5848e46d..58bfa7a54a4 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 56e0509bdc9..5c4b061b400 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
@@ -21,7 +21,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 a236171eed2..60b14fa14e5 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
@@ -21,7 +21,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 eaf2f74dc72..32e1f0e4644 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
@@ -21,7 +21,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 6f4e3156ae5..71fa88fcafb 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/transform/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/transform/char/2.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 dd632900703..f851907b49c 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/transform/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/transform/char/3.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 4cb4c9a9726..16baaabc541 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 de07f85e1f7..f86416a5a18 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 2e6ff58be85..57c8a2ae22a 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
@@ -21,7 +21,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 581e219c2c2..5d5a8fb5d24 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 3b3aa52ee0e..7a442193767 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
@@ -21,7 +21,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 463fd63b1d9..c7b1d9c142d 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
@@ -21,7 +21,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
diff --git a/libstdc++-v3/testsuite/22_locale/collate_byname/1.cc b/libstdc++-v3/testsuite/22_locale/collate_byname/1.cc
index 6f1f6432ae6..be3b7d27850 100644
--- a/libstdc++-v3/testsuite/22_locale/collate_byname/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate_byname/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4 The collate category
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 195b64dd0b7..0b194c50b4b 100644
--- a/libstdc++-v3/testsuite/22_locale/collate_byname/named_equivalence.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate_byname/named_equivalence.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.2 Template class collate_byname
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/1.cc b/libstdc++-v3/testsuite/22_locale/ctype/1.cc
index ed8122121da..a1e2f1f41ed 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.1 - Template class ctype
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/2.cc b/libstdc++-v3/testsuite/22_locale/ctype/2.cc
index 924efddedba..5636519b26d 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/2.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1 The ctype category
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 d21ee946d7a..ae4f5ae89bb 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/cons/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/cons/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 469eadfe470..cdc7d4f8526 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e8f618fcf29..6c06030981a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 4900665eb55..ea60ac6d800 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/is/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/is/char/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 480f5ff919a..fe4bf712416 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 9ddeadb1f03..e9eba109e2c 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/is/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/is/char/3.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 e7482255d48..905ea42b30c 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/is/char/9858.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/is/char/9858.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 cbe03885d04..b72891ef4b5 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 de537302521..c859b16eab1 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 48cd849d622..3dbc7b207ac 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 074d8309919..5116e52b9d6 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 a9a087d0559..d940ad2643f 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 1ef3f20576c..22e64abab63 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 6434f7ebc76..1a19dbd6849 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 6643803a1a1..8eb2a7539a2 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 4ce1da33f01..396fc03d5e0 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/19955.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/19955.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 1f0e1619afc..2ed25c3aa07 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 1ef3f20576c..22e64abab63 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 86eaef9434d..d166c0eabab 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 a9d30f44cc2..e74e8c03c37 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 5422a5685a9..d6a1de9fe6d 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 8ddcb5cc19a..3275dd2aeb6 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 1ef3f20576c..22e64abab63 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 6434f7ebc76..1a19dbd6849 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 86ca5cc2f01..941d716d65c 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/scan/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/scan/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 469eadfe470..cdc7d4f8526 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e8f618fcf29..6c06030981a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 dead79ea2f6..a1e41d86b71 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 469eadfe470..cdc7d4f8526 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e8f618fcf29..6c06030981a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 504eb89d540..6a1b06ddf0b 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/to/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/to/char/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 469eadfe470..cdc7d4f8526 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e8f618fcf29..6c06030981a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 9d446c791ca..304c9a97cd4 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 469eadfe470..cdc7d4f8526 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e8f618fcf29..6c06030981a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 4c051c48c48..ae15d9abe44 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/widen/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/widen/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 469eadfe470..cdc7d4f8526 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e8f618fcf29..6c06030981a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 7e2377475e0..9965e584ace 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 d8aeba0765d..6fdc1e44038 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 937643609f8..b41bd8f242d 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 469eadfe470..cdc7d4f8526 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e8f618fcf29..6c06030981a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
diff --git a/libstdc++-v3/testsuite/22_locale/ctype_base/1.cc b/libstdc++-v3/testsuite/22_locale/ctype_base/1.cc
index 76de5008884..260e1b0334a 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype_base/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype_base/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1 The ctype category
diff --git a/libstdc++-v3/testsuite/22_locale/ctype_base/11844.cc b/libstdc++-v3/testsuite/22_locale/ctype_base/11844.cc
index 894fdfc85b7..cd744a08842 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype_base/11844.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype_base/11844.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/22_locale/ctype_byname/1.cc b/libstdc++-v3/testsuite/22_locale/ctype_byname/1.cc
index 61fa30d250f..544d4c531f2 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype_byname/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype_byname/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.1.1 - Template class ctype
diff --git a/libstdc++-v3/testsuite/22_locale/facet/1.cc b/libstdc++-v3/testsuite/22_locale/facet/1.cc
index 83609561cc3..78e1b42117f 100644
--- a/libstdc++-v3/testsuite/22_locale/facet/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/facet/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.1.1.1.2 - class locale::facet [lib.locale.facet]
diff --git a/libstdc++-v3/testsuite/22_locale/facet/2.cc b/libstdc++-v3/testsuite/22_locale/facet/2.cc
index f3d14b16080..2368849a91f 100644
--- a/libstdc++-v3/testsuite/22_locale/facet/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/facet/2.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.1.1.1.2 - class locale::facet [lib.locale.facet]
diff --git a/libstdc++-v3/testsuite/22_locale/global_templates/1.cc b/libstdc++-v3/testsuite/22_locale/global_templates/1.cc
index c82c4d3c77f..a3aa40fb5fc 100644
--- a/libstdc++-v3/testsuite/22_locale/global_templates/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/global_templates/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.1.2 locale globals [lib.locale.global.templates]
diff --git a/libstdc++-v3/testsuite/22_locale/locale/13630.cc b/libstdc++-v3/testsuite/22_locale/locale/13630.cc
index aea1085fa3d..8138efb475c 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/13630.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/13630.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.1.1 class locale [lib.locale]
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/1.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/1.cc
index f95b06e6e4f..e3028b22641 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.1.1.2 locale constructors and destructors [lib.locale.cons]
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/12352.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/12352.cc
index e90b9442d13..caad92f80de 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/12352.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/12352.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.1.1.2 locale constructors and destructors [lib.locale.cons]
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/12438.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/12438.cc
index 581c2df2795..f30972fc362 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/12438.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/12438.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.1.1.2 locale constructors and destructors [lib.locale.cons]
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 246b693b976..43e36618aba 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
@@ -18,7 +18,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.1.1.2 locale constructors and destructors [lib.locale.cons]
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 96fadee4d1d..7de067f16ae 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
@@ -18,7 +18,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.1.1.2 locale constructors and destructors [lib.locale.cons]
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/2.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/2.cc
index 50f5630da24..63042c46624 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/2.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.1.1.2 locale constructors and destructors [lib.locale.cons]
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/4.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/4.cc
index bedec23d30e..2f90053fbb9 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/4.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.1.1.2 locale constructors and destructors [lib.locale.cons]
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/5.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/5.cc
index 9cc54614dca..b08b3466c08 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/5.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.1.1.2 locale constructors and destructors [lib.locale.cons]
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/6.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/6.cc
index 07682e5b60a..9192c7a4d49 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/6.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.1.1 - Class locale [lib.locale]
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/7.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/7.cc
index f01de7d9edf..ee812448ec9 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/7.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/7.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.1.1 - Class locale [lib.locale]
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 ce7b2695ee8..1e8fa5d31f4 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/7222-c.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/7222-c.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.1.1.2 locale constructors and destructors [lib.locale.cons]
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 842dafd5ee7..f2000dc63f8 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/7222-env.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/7222-env.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.1.1.2 locale constructors and destructors [lib.locale.cons]
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/8.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/8.cc
index 5d4fd272f99..f8e5ec43984 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/8.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/8.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.1.1.2 locale constructors and destructors [lib.locale.cons]
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 e5524dd04c9..97a07a1beeb 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.1.1.5 locale static members [lib.locale.statics]
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 13a210024bd..f92726b445a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.1.1.5 locale static members [lib.locale.statics]
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 79b9a7b1e12..ec64993cd5b 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.1.1.5 locale static members [lib.locale.statics]
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 5e3ecedee42..b887cb14f0a 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.1.1.5 locale static members [lib.locale.statics]
diff --git a/libstdc++-v3/testsuite/22_locale/locale/operations/1.cc b/libstdc++-v3/testsuite/22_locale/locale/operations/1.cc
index 003da9a35d4..7207c8e35c7 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/operations/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/operations/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.1.1.4 locale operators [lib.locale.operators]
diff --git a/libstdc++-v3/testsuite/22_locale/locale/operations/2.cc b/libstdc++-v3/testsuite/22_locale/locale/operations/2.cc
index aa5db2ac520..1606ffbc7ab 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/operations/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/operations/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.1.1.4 locale operators [lib.locale.operators]
diff --git a/libstdc++-v3/testsuite/22_locale/messages/1.cc b/libstdc++-v3/testsuite/22_locale/messages/1.cc
index c1281eda3ac..55b59ef46c6 100644
--- a/libstdc++-v3/testsuite/22_locale/messages/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/messages/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.7 The message retrieval category
diff --git a/libstdc++-v3/testsuite/22_locale/messages/2.cc b/libstdc++-v3/testsuite/22_locale/messages/2.cc
index 52f25e7bd84..42c37d9c22a 100644
--- a/libstdc++-v3/testsuite/22_locale/messages/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/messages/2.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.7 The message retrieval category
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 ae2941bbe8a..887ecec0634 100644
--- a/libstdc++-v3/testsuite/22_locale/messages/members/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/messages/members/char/1.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.7.1.1 messages members
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 1b2a677123a..b8205e3b61c 100644
--- a/libstdc++-v3/testsuite/22_locale/messages/members/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/messages/members/char/2.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.7.1.1 messages members
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 3742605bd83..e4377203b55 100644
--- a/libstdc++-v3/testsuite/22_locale/messages/members/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/messages/members/char/3.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.7.1.1 messages members
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 cbe03885d04..b72891ef4b5 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 de537302521..c859b16eab1 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
diff --git a/libstdc++-v3/testsuite/22_locale/messages_byname/1.cc b/libstdc++-v3/testsuite/22_locale/messages_byname/1.cc
index 5b9b5d7324c..51077ca548a 100644
--- a/libstdc++-v3/testsuite/22_locale/messages_byname/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/messages_byname/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.7 The message retrieval category
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 cbaded7ab9c..81742c86a24 100644
--- a/libstdc++-v3/testsuite/22_locale/messages_byname/named_equivalence.cc
+++ b/libstdc++-v3/testsuite/22_locale/messages_byname/named_equivalence.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.7.2 Template class messages_byname
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/1.cc b/libstdc++-v3/testsuite/22_locale/money_get/1.cc
index f3b7232f630..dd7d0d26be3 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1 Template class money_get
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/2.cc b/libstdc++-v3/testsuite/22_locale/money_get/2.cc
index 516f11bf169..3853a22456a 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/2.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1 Template class money_get
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/3.cc b/libstdc++-v3/testsuite/22_locale/money_get/3.cc
index d2278f28525..61e2a1f813b 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/3.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1 Template class money_get
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 f534837aa2c..b3161b80612 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 de161c8e773..b0e6c45d81f 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 ffb4e69861a..80d1c9ef19d 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 48af8c53988..c34cc562403 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 9527075fc28..d19901297a0 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 5cba310e9ed..79bad990254 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 2b9b92eddff..d76a7149439 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 95f7456c49f..5736974314f 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 4ff6fd0d9bc..9e4025dc63b 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 394898ba793..0823f6294bb 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 8ceaef2f14f..85327107081 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 5d9dea2be1e..68a8a81efee 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 31be9830aaf..c7740a66880 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 2bcf42aa4d3..5f778da63f9 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 b647e6435f0..d6873eec896 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 bfd19d75221..5f747c6d64e 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 e51d4464de5..b1d735b6211 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 434edfe12b7..3334ae95d2e 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 d3d5bfe25da..5f0cbdb6b68 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 f88b521c002..4f5f3eba629 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 a7b4aeeddeb..6340853fbf5 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// $22.2.6.3/3
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 9f23d6a2b50..3773665c81d 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 28bb4e7e2bb..4f058a9752f 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 ade3944bb1f..a7feecc73ce 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 5d7bf957f05..da8af8d99d8 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 82247b08b30..33034e04aba 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 2165597e7eb..c503fbe6a03 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 03b06c41aed..81286cf5965 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 9b0b595b1e2..092f09d394a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 e440d63c61d..bc6d5c06e73 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 27523b57f1d..3d2b665cfaa 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 e3c94ef136e..06abd4f3617 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 6d9b789f8d0..68d436d57fd 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 520df5bb380..1ac74c28e39 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 93c63e6ea29..bf3794ca2b5 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 d84ceb3ec6f..b4b08c08dec 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 a3faaf89484..19229adddbd 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 4241dc70299..ca34dad91bd 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 c0b473ccca7..b4fa5247abc 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 89b724c0307..70c3cec01cf 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 cebba6e3b80..1e3c444e98d 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 f7f3ae1d992..6166b6ea704 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 2b86b367542..b6e8cc89b58 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.1.1 money_get members
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 ce8ab370972..cc944e94c6c 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// $22.2.6.3/3
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 9f23d6a2b50..3773665c81d 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 28bb4e7e2bb..4f058a9752f 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/1.cc b/libstdc++-v3/testsuite/22_locale/money_put/1.cc
index ed6c58c5408..2e0bfa05c2b 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.2 Template class money_put
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/2.cc b/libstdc++-v3/testsuite/22_locale/money_put/2.cc
index 13f57a95637..28f9005b1e4 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/2.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.2 Template class money_put
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/3.cc b/libstdc++-v3/testsuite/22_locale/money_put/3.cc
index 700b07ebf19..535ca6e8644 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/3.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.2 Template class money_put
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 39397df5a15..0c46ccc5dc0 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.2.1 money_put members
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 62599354ce5..76af424a60f 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.2.1 money_put members
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 e8aeec37c48..584faea1692 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.2.1 money_put members
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 1b222b65abd..87634c5f0f3 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.2.1 money_put members
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 0790ac60f4a..fa14974f61c 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.2.1 money_put members
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 4554d72c8d5..b65692e73d8 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.2.1 money_put members
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 5177c76744a..8f1c80f3fbd 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.2.1 money_put members
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 cf3451f1c37..723f98c817b 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 2559c5bb689..220d34a904e 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 b09ef345820..d4d202823bb 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 6dd3da73d0a..9145a723255 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.2.1 money_put members
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 9af992a6474..4d864fabdbb 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.2.1 money_put members
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 0c90b45fed7..77a60967b94 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.2.1 money_put members
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 d6fc3c59b94..09ac83bb9dd 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.2.1 money_put members
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 06ed50e0c80..4f2c8b872d7 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.2.1 money_put members
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 bc65998e0b0..7deaf494994 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.2.1 money_put members
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 30dafd31162..43f0a7bd3fd 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.2.1 money_put members
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 2559c5bb689..220d34a904e 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 b09ef345820..d4d202823bb 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/1.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/1.cc
index d74b1d69b4d..29959451f84 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.3 Template class moneypunct
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/2.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/2.cc
index e00a427a2be..87fb4f487d4 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct/2.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.3 Template class moneypunct
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/3.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/3.cc
index db6c93c4541..2b8cdc310cb 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct/3.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.3 Template class moneypunct
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 7c8ca599f62..87275ea38c2 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.3.1 moneypunct members
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 c86c9a2fc22..6fb2a3f8eaa 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/2.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.3.1 moneypunct members
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 1ef3f20576c..22e64abab63 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 6434f7ebc76..1a19dbd6849 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 2d26611c646..f396ce482c6 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.3.1 moneypunct members
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 382268c3f90..4c79de05275 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.3.1 moneypunct members
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 1ef3f20576c..22e64abab63 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 6434f7ebc76..1a19dbd6849 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct_byname/1.cc b/libstdc++-v3/testsuite/22_locale/moneypunct_byname/1.cc
index e85bf230a8d..0751211e282 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct_byname/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct_byname/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.3 Template class moneypunct
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 fbb551b1e3f..924f0110466 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct_byname/named_equivalence.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct_byname/named_equivalence.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.6.4 Template class moneypunct_byname
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/1.cc b/libstdc++-v3/testsuite/22_locale/num_get/1.cc
index a9081bbf570..f1f1f85dd2b 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1 Template class num_get
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/2.cc b/libstdc++-v3/testsuite/22_locale/num_get/2.cc
index c41a13c44e7..ab2d7437ee5 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/2.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1 Template class num_get
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/3.cc b/libstdc++-v3/testsuite/22_locale/num_get/3.cc
index 4399d682ff9..92295c07120 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/3.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1 Template class num_get
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 e74af6ccb6b..8ff9852c616 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 259dea95e80..4252ee1daaf 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 b1adeb9a8d8..28ca2d0ebc6 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 93300d428d2..9d01ad737b4 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 216a4a10696..f1a10134770 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 90eb03110fa..7ef1f2cbf6d 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 91ec714fdec..2af3672e3f5 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 03512714da8..c71e5881bac 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 d1236ea9b62..98e13612222 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 47e63782997..827fd6c5b8e 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 51ce8e95e11..20765a938aa 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 f7c4cb044dc..d712892dc4c 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 c4d4cabb4c4..00ef2e1ed0c 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 bdb400cbef2..5f55f0ab6be 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 7e8e69dda89..6998622af0f 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 d3f24f972de..79ab12b34e3 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 6d3b43fa9a0..993591c4efb 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 2559c5bb689..220d34a904e 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 b09ef345820..d4d202823bb 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 8201c180ad8..4e54397db13 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 85fa5744dec..3860e08b3c8 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 b53bb584f60..af3192a6835 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 63c38530ab8..5a59e855a90 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 b0f694b75a7..41bf3f350a9 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 7be77c74145..460174a4494 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 54cd76829b7..be46d01b2f3 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 ca774da4778..7062084bdd4 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 96a7c419be5..782275d1c82 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 de7cf714544..8bd76d7e064 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 c5e634abe7f..915b092cdfd 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 9b956571d02..4ef53d597f2 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 1d5721dbecc..b9e39aac4f7 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 9add10592cc..6d3f32bef44 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 fdb9ee7ac36..768bf63e4f0 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 fbba3a5553a..9e1d825088b 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 9703a6143ff..127e5bd4fea 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.1.1 num_get members
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 2559c5bb689..220d34a904e 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 b09ef345820..d4d202823bb 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/1.cc b/libstdc++-v3/testsuite/22_locale/num_put/1.cc
index b520007f740..528c1306bd5 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2 Template class num_put
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/2.cc b/libstdc++-v3/testsuite/22_locale/num_put/2.cc
index 67aeefaffec..cec69bb54b0 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/2.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2 Template class num_put
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/3.cc b/libstdc++-v3/testsuite/22_locale/num_put/3.cc
index 799294e4aa2..6ecad4f4790 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/3.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2 Template class num_put
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 0bfa6b9b6d6..1ea37764835 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 97c5712e37d..9febc20a2f9 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 ecaeec96d97..71fae508ab1 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 a62ab1e7c8d..a6212e31502 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 fbc543cad54..b847d5445a1 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 419ce15b9ec..68e40c379e6 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 184955086d9..ff22f1d32fe 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 0cec582ccf6..249f3503973 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 2c9971a2038..689353fcadc 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 d759df53a64..4b359438174 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 4675fc42111..f97d6013944 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 8299be9d8ab..6eb33f3adfb 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 4ec8de1d958..7caf2b05449 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 c5016e603cc..8eb86f003bd 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 8639de70728..cb22e9c9d06 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 375cb42908d..a68f3e791a3 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 f9ba9f42097..4cc5eed1594 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 14f0853777d..9ff25d5ef86 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 2e9243c2487..a483b36990f 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 1319e569df6..8e4a86051de 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 d61a442e1ec..357fd582c17 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 f32351d58fa..8213e27a45e 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 ba286f4e317..24d920d23ae 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 b0430b5532a..9b4b28a716f 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 dad56fe1731..843cdf77b8d 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 69a69f1a68b..af9031d2bb8 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 36566f7e37b..469e57dc042 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 f324ca30676..c6d56252b93 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 d8cee64f68f..a66a54a384e 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 a1efe66ce29..758a2b7ecd6 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 5c326112adc..835bcb6e385 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.2.2.1 num_put members
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 375cb42908d..a68f3e791a3 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 f9ba9f42097..4cc5eed1594 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/1.cc b/libstdc++-v3/testsuite/22_locale/numpunct/1.cc
index 9c2b6925bcc..b4dc0d9ad76 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.3 The numeric punctuation facet
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/2.cc b/libstdc++-v3/testsuite/22_locale/numpunct/2.cc
index 0df50fa5e34..59aa3d9b1c2 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/2.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.3 The numeric punctuation facet
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 58bf2e7ec2e..bf3fc0f38b6 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.3.1.1 nunpunct members
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 2e8ef9a5394..590bc36a9c0 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/2.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.3.1.1 nunpunct members
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 691420aa54d..714b4f5e80c 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/3.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.3.2 Template class numpunct_byname
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 57a6de733e8..fe69bcc21bb 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <locale>
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 6be2ec04f88..321c58e8d9c 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <locale>
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 1ef3f20576c..22e64abab63 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 6434f7ebc76..1a19dbd6849 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 a4d88bc0e44..558dc0ca2cd 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/members/pod/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/pod/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <locale>
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 a6c6d3fcae0..da332d892f7 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/members/pod/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/pod/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <locale>
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 6d7711783f3..1e0f3f367ca 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.3.1.1 nunpunct members
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 af771a97de2..ea5d151da9a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.3.1.1 nunpunct members
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 fc96d05c54f..d7d849e466b 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <locale>
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 09661c9482d..72b5707be54 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <locale>
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 1ef3f20576c..22e64abab63 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 6434f7ebc76..1a19dbd6849 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct_byname/1.cc b/libstdc++-v3/testsuite/22_locale/numpunct_byname/1.cc
index 8167788cdd5..c41707873d6 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct_byname/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct_byname/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.3 The numeric punctuation facet
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 56ce1aa5e5b..eb03391e8ac 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct_byname/named_equivalence.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct_byname/named_equivalence.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.3.2 Template class numpunct_byname
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/1.cc
index d6de6422c3a..1a68ce7128a 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1 Template class time_get
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/2.cc
index 87e8533d316..19c145c5911 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/2.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1 Template class time_get
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 85ce3cc1657..6ac4b1508bd 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 469eadfe470..cdc7d4f8526 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e8f618fcf29..6c06030981a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 720fb8bb650..0df6c520068 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 469eadfe470..cdc7d4f8526 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 e8f618fcf29..6c06030981a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 eaa9495b3f2..73f533cf554 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 14906c26bbe..b5e1a244ea2 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 7a9f26d2d96..cae7e3f5410 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 d2693c62be8..c1b8fae91c9 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 3c786116bc3..fee8ced1543 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 cbe03885d04..b72891ef4b5 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 de537302521..c859b16eab1 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 d6d5c8a040f..61b079d4e0a 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 95df2c95dcf..33014545375 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 1a63a0d625b..2c84583b558 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 00e7ab8ef5b..a506dafc315 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 6b4facc99f0..c4bd129ecce 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 11f437bbfe0..5bea692f8f1 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 cbe03885d04..b72891ef4b5 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 de537302521..c859b16eab1 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 5de1464dc7a..678bee3039d 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 19b0b1cf274..727f6a89b06 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 970e4319706..d432bbf5c2f 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 f187307afab..e17a7916d35 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 cbe03885d04..b72891ef4b5 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 de537302521..c859b16eab1 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 0c97e6475ad..94c2f90a1b8 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 1550b62f367..08a93658f37 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 24007fa3621..26ccaa45962 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 dd1c393ac15..5c12693493e 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 cbe03885d04..b72891ef4b5 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 de537302521..c859b16eab1 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 77d50f7059a..9aa45997a86 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 11d7ed586d1..75391315606 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 d04ebdb7214..1599278b85b 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 bc7fd8be36e..e49a6206524 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 cbe03885d04..b72891ef4b5 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 de537302521..c859b16eab1 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 dd23ad60603..15e30339d21 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 a36b06c7047..498badba949 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 f9ebf1bd0bf..e0bb4442419 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 04206caad00..161fb193c3c 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 cbe03885d04..b72891ef4b5 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 de537302521..c859b16eab1 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 9141208754a..d4c260766ac 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 9e9eacb5cfc..23b50d63dcf 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 09a969a1f1d..24dcc51fb96 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 cbe03885d04..b72891ef4b5 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 de537302521..c859b16eab1 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 76555aeb017..81e0cbd3022 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 7c89005bacb..6857abb9799 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 83b8579f270..942c87c8ff0 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 cbe03885d04..b72891ef4b5 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 de537302521..c859b16eab1 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 98c009c776f..66e44ac5a9c 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 4efb3ac6500..11b177f879c 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 8facdfd8d62..b1b33f9742c 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 2daa65ca70c..230fc8fdbe9 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 876e57be83a..0fff5d58a58 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 8377b463f2d..85fd34d523a 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.1.1 time_get members
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 8facdfd8d62..b1b33f9742c 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 2daa65ca70c..230fc8fdbe9 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/1.cc b/libstdc++-v3/testsuite/22_locale/time_put/1.cc
index 0606521abe5..69f24aec5ea 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3 Template class time_put
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/2.cc b/libstdc++-v3/testsuite/22_locale/time_put/2.cc
index 84761bf2090..50383559531 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/2.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3 Template class time_put
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 2fe95341605..2d6096c3922 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 c637b829d61..9f2223d4cae 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 bc3bb862da9..ec1f26da5d2 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 c1d0167d340..80d5dbba24c 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 37f34bd6f92..bac3c910374 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 d389fbf4c8e..db91d110a7a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 205dbe2e242..3fd23797281 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 c70779258d4..8a2ba847679 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 348ca8ff564..6488b0e3a5d 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 91d74120f32..ffec0393cba 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 13d4baaef6c..b4c5747c7dc 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 7a5f64fc2dd..4699fdbdc2d 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 9e43b85fc8e..76f711067e1 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 761545296de..e89c790379b 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 9f1b26a73fa..b783205baca 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 71caf1d4985..326c144fe06 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 549945447e3..c4be6be6f6e 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 b0c366d4157..c68e8ff9551 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 ce2d0d54a93..8d7d96ea1df 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 6715cc53846..d803a0998ae 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 0bcae335af2..696b900fa48 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 c2b02f8a602..3f5527cb02b 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 46ce16ffd09..e98616215ab 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 eba540863c8..83900e14bd3 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 a98dd000765..bb98ecfe732 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 efe000ae64c..e09382c389e 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 47d7fa7e034..7f13c04e5c2 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 aa36a454e37..31c7b968898 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 b3cbdd83835..4e0da84d57a 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 ca6676acf63..a421835e472 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.5.3.1 time_put members
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 9f1b26a73fa..b783205baca 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
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 71caf1d4985..326c144fe06 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 22.2.4.1.1 collate members
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/18604.cc b/libstdc++-v3/testsuite/23_containers/bitset/18604.cc
index bc3287a4a0e..d3a37283d9f 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/18604.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/18604.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// { dg-options "-D_GLIBCXX_DEBUG" }
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/cons/1.cc b/libstdc++-v3/testsuite/23_containers/bitset/cons/1.cc
index 9c802d322ab..68007633b4f 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/cons/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/cons/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.3.5.1 bitset constructors
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/cons/16020.cc b/libstdc++-v3/testsuite/23_containers/bitset/cons/16020.cc
index dbf1797572c..f70a4b8730d 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/cons/16020.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/cons/16020.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <debug/bitset>
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/cons/6282.cc b/libstdc++-v3/testsuite/23_containers/bitset/cons/6282.cc
index 929ed4bda2c..56c7422220a 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/cons/6282.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/cons/6282.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.3.5.1 bitset constructors
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/count/6124.cc b/libstdc++-v3/testsuite/23_containers/bitset/count/6124.cc
index df01a9f8b7d..5519326895e 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/count/6124.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/count/6124.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.3.5.2 bitset members
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/ext/15361.cc b/libstdc++-v3/testsuite/23_containers/bitset/ext/15361.cc
index e42d6498e4e..caf85a6c05c 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/ext/15361.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/ext/15361.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <bitset>
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/input/1.cc b/libstdc++-v3/testsuite/23_containers/bitset/input/1.cc
index a9387b65ade..b8882b3124a 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/input/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/input/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.3.5.3 bitset operators
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/bitset/invalidation/1.cc
index 59654f06ed4..d5a36748dad 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/invalidation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/invalidation/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <debug/bitset>
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/operations/1.cc b/libstdc++-v3/testsuite/23_containers/bitset/operations/1.cc
index ea3da885eb6..b8f923b9a2d 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/operations/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/operations/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <string>
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/operations/13838.cc b/libstdc++-v3/testsuite/23_containers/bitset/operations/13838.cc
index e9b1ac1f42e..4df035e52b7 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/operations/13838.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/operations/13838.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <debug/bitset>
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/operations/2.cc b/libstdc++-v3/testsuite/23_containers/bitset/operations/2.cc
index 14910637482..e7d66c684ac 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/operations/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/operations/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <string>
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/test/1.cc b/libstdc++-v3/testsuite/23_containers/bitset/test/1.cc
index 6e945d69768..780aba29716 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/test/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/test/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.3.5.2 bitset members
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 8a755124680..2fce7fac0ea 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/to_string/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/to_string/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.3.5.2 bitset members
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 3536b9dd7d3..9f78545c59b 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/to_ulong/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/to_ulong/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.3.5.2 bitset members
diff --git a/libstdc++-v3/testsuite/23_containers/deque/1.cc b/libstdc++-v3/testsuite/23_containers/deque/1.cc
index 9a52274e3f5..26882be0dc8 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/deque/14340.cc b/libstdc++-v3/testsuite/23_containers/deque/14340.cc
index 1e1c302856e..b560523b320 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/14340.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/14340.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/deque/18604.cc b/libstdc++-v3/testsuite/23_containers/deque/18604.cc
index f9ff1f69890..fef12e40238 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/18604.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/18604.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// { dg-options "-D_GLIBCXX_DEBUG" }
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 ecd797993dc..eb111c8fb2b 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/check_construct_destroy.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/check_construct_destroy.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/deque/cons/1.cc b/libstdc++-v3/testsuite/23_containers/deque/cons/1.cc
index 3e3458672a2..8f9776f8117 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/cons/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/cons/1.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.1.1 deque constructors, copy, and assignment
diff --git a/libstdc++-v3/testsuite/23_containers/deque/cons/2.cc b/libstdc++-v3/testsuite/23_containers/deque/cons/2.cc
index 81301a560a6..cafdbb203ec 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/cons/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/cons/2.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.1.1 deque constructors, copy, and assignment
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 f40b2053bce..a523098d583 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/cons/clear_allocator.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/cons/clear_allocator.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <deque>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/deque/explicit_instantiation/1.cc
index e6e758d0c74..c6aef037e18 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/explicit_instantiation/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/deque/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/deque/explicit_instantiation/2.cc
index 7084ff746a0..6c1b9adb786 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/explicit_instantiation/2.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/deque/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/23_containers/deque/explicit_instantiation/3.cc
index 51b4551c4da..ca6cb6ad7f4 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/explicit_instantiation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/explicit_instantiation/3.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/deque/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/deque/invalidation/1.cc
index 6bfd074523a..963673a92e7 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/invalidation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/invalidation/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <debug/deque>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/deque/invalidation/2.cc
index ea401a9f725..39f4ac77a6c 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/invalidation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/invalidation/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <debug/deque>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/invalidation/3.cc b/libstdc++-v3/testsuite/23_containers/deque/invalidation/3.cc
index e6978e02fd2..96759dafcaa 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/invalidation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/invalidation/3.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <debug/deque>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/invalidation/4.cc b/libstdc++-v3/testsuite/23_containers/deque/invalidation/4.cc
index acbcd3ddec2..40ee6a2b949 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/invalidation/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/invalidation/4.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <debug/deque>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/modifiers/swap.cc b/libstdc++-v3/testsuite/23_containers/deque/modifiers/swap.cc
index c835b303635..2834ae56d82 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/modifiers/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/modifiers/swap.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <deque>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/operators/1.cc b/libstdc++-v3/testsuite/23_containers/deque/operators/1.cc
index 335cd9e3c84..f107aabfd9d 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/operators/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/operators/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.1 deque operators
diff --git a/libstdc++-v3/testsuite/23_containers/list/1.cc b/libstdc++-v3/testsuite/23_containers/list/1.cc
index 45aa95ead10..57b950b432e 100644
--- a/libstdc++-v3/testsuite/23_containers/list/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/1.cc
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/list/14340.cc b/libstdc++-v3/testsuite/23_containers/list/14340.cc
index 3d2b369ea88..943d6fa8604 100644
--- a/libstdc++-v3/testsuite/23_containers/list/14340.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/14340.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/list/18604.cc b/libstdc++-v3/testsuite/23_containers/list/18604.cc
index 66519e5a92d..8e3858b49bb 100644
--- a/libstdc++-v3/testsuite/23_containers/list/18604.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/18604.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// { dg-options "-D_GLIBCXX_DEBUG" }
diff --git a/libstdc++-v3/testsuite/23_containers/list/capacity/1.cc b/libstdc++-v3/testsuite/23_containers/list/capacity/1.cc
index fd08e34e062..af859709353 100644
--- a/libstdc++-v3/testsuite/23_containers/list/capacity/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/capacity/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.2.2 list capacity [lib.list.capacity]
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 023724cc11f..ed6832ce0ff 100644
--- a/libstdc++-v3/testsuite/23_containers/list/check_construct_destroy.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/check_construct_destroy.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/1.cc b/libstdc++-v3/testsuite/23_containers/list/cons/1.cc
index b53a6da6e13..d9b769c2b0e 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.2.1 list constructors, copy, and assignment
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/2.cc b/libstdc++-v3/testsuite/23_containers/list/cons/2.cc
index a02102bffa7..34a73f4bbfd 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/2.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.2.1 list constructors, copy, and assignment
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/3.cc b/libstdc++-v3/testsuite/23_containers/list/cons/3.cc
index 3b90961aa0c..913e3ce9bba 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/3.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.2.1 list constructors, copy, and assignment
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/4.cc b/libstdc++-v3/testsuite/23_containers/list/cons/4.cc
index 76b147d7227..00d5ee48707 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/4.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.2.1 list constructors, copy, and assignment
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/5.cc b/libstdc++-v3/testsuite/23_containers/list/cons/5.cc
index c44ed9fdd91..cdaa401df91 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/5.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.2.1 list constructors, copy, and assignment
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/6.cc b/libstdc++-v3/testsuite/23_containers/list/cons/6.cc
index a44f1278372..493bb6e8fb6 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/6.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/6.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.2.1 list constructors, copy, and assignment
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/7.cc b/libstdc++-v3/testsuite/23_containers/list/cons/7.cc
index 49d74dfb76e..669764cce4e 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/7.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/7.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.2.1 list constructors, copy, and assignment
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/8.cc b/libstdc++-v3/testsuite/23_containers/list/cons/8.cc
index 430dc9cd2e4..97ac576ded8 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/8.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/8.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.2.1 list constructors, copy, and assignment
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/9.cc b/libstdc++-v3/testsuite/23_containers/list/cons/9.cc
index f83363021fe..bf49ddecfbb 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/9.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/9.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.2.1 list constructors, copy, and assignment
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 cdae22b1e30..0d951570551 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/clear_allocator.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/clear_allocator.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <list>
diff --git a/libstdc++-v3/testsuite/23_containers/list/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/list/explicit_instantiation/1.cc
index 2c9db8d3f86..1bbc639d6e0 100644
--- a/libstdc++-v3/testsuite/23_containers/list/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/explicit_instantiation/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/list/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/list/explicit_instantiation/2.cc
index 66d3934f427..8b27d10251b 100644
--- a/libstdc++-v3/testsuite/23_containers/list/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/explicit_instantiation/2.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/list/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/23_containers/list/explicit_instantiation/3.cc
index 19f719dfff4..cdbec31dec3 100644
--- a/libstdc++-v3/testsuite/23_containers/list/explicit_instantiation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/explicit_instantiation/3.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/list/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/list/invalidation/1.cc
index 4812a56f105..940d9aadb6b 100644
--- a/libstdc++-v3/testsuite/23_containers/list/invalidation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/invalidation/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <debug/list>
diff --git a/libstdc++-v3/testsuite/23_containers/list/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/list/invalidation/2.cc
index a793997edae..242e18c7208 100644
--- a/libstdc++-v3/testsuite/23_containers/list/invalidation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/invalidation/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <debug/list>
diff --git a/libstdc++-v3/testsuite/23_containers/list/invalidation/3.cc b/libstdc++-v3/testsuite/23_containers/list/invalidation/3.cc
index 4691c81fbd5..b19e2c62608 100644
--- a/libstdc++-v3/testsuite/23_containers/list/invalidation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/invalidation/3.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <debug/list>
diff --git a/libstdc++-v3/testsuite/23_containers/list/invalidation/4.cc b/libstdc++-v3/testsuite/23_containers/list/invalidation/4.cc
index a831b4893de..4d5465ce27b 100644
--- a/libstdc++-v3/testsuite/23_containers/list/invalidation/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/invalidation/4.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <debug/list>
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc
index ba00fdf95a5..2cddf3213b2 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.2.3 list modifiers [lib.list.modifiers]
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc
index 6aca9d9460e..9c82664fa16 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.2.3 list modifiers [lib.list.modifiers]
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc
index 720310f5501..37c8740133e 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.2.3 list modifiers [lib.list.modifiers]
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/swap.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/swap.cc
index a51d1263fb4..a277ac5e43f 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/swap.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <list>
diff --git a/libstdc++-v3/testsuite/23_containers/list/operators/1.cc b/libstdc++-v3/testsuite/23_containers/list/operators/1.cc
index 7848fa027c7..1bc91914f44 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operators/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/operators/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.2.4 list operations [lib.list.ops]
diff --git a/libstdc++-v3/testsuite/23_containers/list/operators/2.cc b/libstdc++-v3/testsuite/23_containers/list/operators/2.cc
index 90af8c52299..dc41e12c511 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operators/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/operators/2.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.2.4 list operations [lib.list.ops]
diff --git a/libstdc++-v3/testsuite/23_containers/list/operators/3.cc b/libstdc++-v3/testsuite/23_containers/list/operators/3.cc
index 37e14b7140d..9e0d3f9b561 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operators/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/operators/3.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.2.4 list operations [lib.list.ops]
diff --git a/libstdc++-v3/testsuite/23_containers/list/operators/4.cc b/libstdc++-v3/testsuite/23_containers/list/operators/4.cc
index caf13b50bb2..2c355145cbe 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operators/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/operators/4.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.2.4 list operations [lib.list.ops]
diff --git a/libstdc++-v3/testsuite/23_containers/map/1.cc b/libstdc++-v3/testsuite/23_containers/map/1.cc
index 14cfea142f7..3d20c1fdcd2 100644
--- a/libstdc++-v3/testsuite/23_containers/map/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/map/14340.cc b/libstdc++-v3/testsuite/23_containers/map/14340.cc
index 8f01440f244..10fd5d4f5ab 100644
--- a/libstdc++-v3/testsuite/23_containers/map/14340.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/14340.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/map/18604.cc b/libstdc++-v3/testsuite/23_containers/map/18604.cc
index fb1d3bdd23b..9a3a090054c 100644
--- a/libstdc++-v3/testsuite/23_containers/map/18604.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/18604.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// { dg-options "-D_GLIBCXX_DEBUG" }
diff --git a/libstdc++-v3/testsuite/23_containers/map/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/map/explicit_instantiation/1.cc
index 4ceb2501569..b898b4b77e8 100644
--- a/libstdc++-v3/testsuite/23_containers/map/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/explicit_instantiation/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/map/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/map/explicit_instantiation/2.cc
index 8c3c744f080..433349434c1 100644
--- a/libstdc++-v3/testsuite/23_containers/map/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/explicit_instantiation/2.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/map/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/23_containers/map/explicit_instantiation/3.cc
index 8ce3b6feda3..0a8866d64b2 100644
--- a/libstdc++-v3/testsuite/23_containers/map/explicit_instantiation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/explicit_instantiation/3.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/map/insert/1.cc b/libstdc++-v3/testsuite/23_containers/map/insert/1.cc
index 33bee2f679b..7bf7a6cb96a 100644
--- a/libstdc++-v3/testsuite/23_containers/map/insert/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/insert/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.3.1.2, table 69 -- map::insert(p,t)
diff --git a/libstdc++-v3/testsuite/23_containers/map/insert/16813.cc b/libstdc++-v3/testsuite/23_containers/map/insert/16813.cc
index cf22578b65b..c2bf4f0fd43 100644
--- a/libstdc++-v3/testsuite/23_containers/map/insert/16813.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/insert/16813.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <debug/map>
diff --git a/libstdc++-v3/testsuite/23_containers/map/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/map/invalidation/1.cc
index 2e9c24f8a5e..9965c850d31 100644
--- a/libstdc++-v3/testsuite/23_containers/map/invalidation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/invalidation/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <debug/map>
diff --git a/libstdc++-v3/testsuite/23_containers/map/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/map/invalidation/2.cc
index eac7aeaa37f..fcb4601d1ce 100644
--- a/libstdc++-v3/testsuite/23_containers/map/invalidation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/invalidation/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <debug/map>
diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/swap.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/swap.cc
index 889ac69aa55..85aa95cf11d 100644
--- a/libstdc++-v3/testsuite/23_containers/map/modifiers/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/swap.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <map>
diff --git a/libstdc++-v3/testsuite/23_containers/map/operators/1.cc b/libstdc++-v3/testsuite/23_containers/map/operators/1.cc
index 2da51e86805..77c086908b0 100644
--- a/libstdc++-v3/testsuite/23_containers/map/operators/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/operators/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.3.4 template class multiset
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 9211201867c..dad06f3435c 100644
--- a/libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.3.4 template class multiset negative tests
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/1.cc b/libstdc++-v3/testsuite/23_containers/multimap/1.cc
index 2023cca19bb..2b04d68287b 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/14340.cc b/libstdc++-v3/testsuite/23_containers/multimap/14340.cc
index f119796b039..033dc70d588 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/14340.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/14340.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/multimap/explicit_instantiation/1.cc
index 4a740b250f6..05db935721b 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/explicit_instantiation/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/multimap/explicit_instantiation/2.cc
index 46181ef3e25..86527fd1fb8 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/explicit_instantiation/2.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/23_containers/multimap/explicit_instantiation/3.cc
index 1c434b8501f..cdb7e96e00a 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/explicit_instantiation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/explicit_instantiation/3.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/multimap/invalidation/1.cc
index 69bb529a1ef..ca6d2536e22 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/invalidation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/invalidation/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <debug/map>
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/multimap/invalidation/2.cc
index 1de9d278a77..11f998f384d 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/invalidation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/invalidation/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <debug/map>
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap.cc b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap.cc
index 5a17d76a6e0..76cbe465cc3 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <map>
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/1.cc b/libstdc++-v3/testsuite/23_containers/multiset/1.cc
index e72e30c346e..2df195f4fd8 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/14340.cc b/libstdc++-v3/testsuite/23_containers/multiset/14340.cc
index f02613047c0..bd63c32f918 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/14340.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/14340.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/multiset/explicit_instantiation/1.cc
index fb6b5f1db19..3ed6701ac6b 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/explicit_instantiation/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/multiset/explicit_instantiation/2.cc
index 0f5f3080aa4..c1e69b76832 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/explicit_instantiation/2.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/23_containers/multiset/explicit_instantiation/3.cc
index 2b36bb92646..94780977369 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/explicit_instantiation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/explicit_instantiation/3.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/insert/1.cc b/libstdc++-v3/testsuite/23_containers/multiset/insert/1.cc
index 38de31389ea..c1a5de3dc74 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/insert/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/insert/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.3.4 template class multiset
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/insert/2.cc b/libstdc++-v3/testsuite/23_containers/multiset/insert/2.cc
index 8acf859c07d..0f654cb0500 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/insert/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/insert/2.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/multiset/invalidation/1.cc
index d860183e0da..e9082d557d8 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/invalidation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/invalidation/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <debug/set>
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/multiset/invalidation/2.cc
index 1a2ec3612b4..cb289b337c9 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/invalidation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/invalidation/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <debug/set>
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap.cc b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap.cc
index 5c9315415ec..23851990016 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <set>
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 64c68c5e25f..d4264c743fa 100644
--- a/libstdc++-v3/testsuite/23_containers/priority_queue/members/7161.cc
+++ b/libstdc++-v3/testsuite/23_containers/priority_queue/members/7161.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.3 container adaptros
diff --git a/libstdc++-v3/testsuite/23_containers/queue/members/7157.cc b/libstdc++-v3/testsuite/23_containers/queue/members/7157.cc
index 523d50a66da..9988073ebff 100644
--- a/libstdc++-v3/testsuite/23_containers/queue/members/7157.cc
+++ b/libstdc++-v3/testsuite/23_containers/queue/members/7157.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.3 container adaptros
diff --git a/libstdc++-v3/testsuite/23_containers/set/1.cc b/libstdc++-v3/testsuite/23_containers/set/1.cc
index 0ab59671408..9a9a78168d4 100644
--- a/libstdc++-v3/testsuite/23_containers/set/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/set/14340.cc b/libstdc++-v3/testsuite/23_containers/set/14340.cc
index d8f403ee247..89136c16856 100644
--- a/libstdc++-v3/testsuite/23_containers/set/14340.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/14340.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/set/18604.cc b/libstdc++-v3/testsuite/23_containers/set/18604.cc
index 57a96271bc1..bde074ab3c1 100644
--- a/libstdc++-v3/testsuite/23_containers/set/18604.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/18604.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// { dg-options "-D_GLIBCXX_DEBUG" }
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 0f6d866a533..db3f6c8d8bc 100644
--- a/libstdc++-v3/testsuite/23_containers/set/check_construct_destroy.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/check_construct_destroy.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/set/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/set/explicit_instantiation/1.cc
index 02e33be0456..7eb7248e150 100644
--- a/libstdc++-v3/testsuite/23_containers/set/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/explicit_instantiation/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/set/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/set/explicit_instantiation/2.cc
index 418c80e5543..44bc5debb51 100644
--- a/libstdc++-v3/testsuite/23_containers/set/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/explicit_instantiation/2.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/set/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/23_containers/set/explicit_instantiation/3.cc
index c2323226916..1f2c69bb992 100644
--- a/libstdc++-v3/testsuite/23_containers/set/explicit_instantiation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/explicit_instantiation/3.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/set/insert/1.cc b/libstdc++-v3/testsuite/23_containers/set/insert/1.cc
index 0bd42fe02ab..22fdf0debbb 100644
--- a/libstdc++-v3/testsuite/23_containers/set/insert/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/insert/1.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/set/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/set/invalidation/1.cc
index f279c28101f..bbf17be9aac 100644
--- a/libstdc++-v3/testsuite/23_containers/set/invalidation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/invalidation/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <debug/set>
diff --git a/libstdc++-v3/testsuite/23_containers/set/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/set/invalidation/2.cc
index 96be957a5cb..cfe2f586aa7 100644
--- a/libstdc++-v3/testsuite/23_containers/set/invalidation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/invalidation/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <debug/set>
diff --git a/libstdc++-v3/testsuite/23_containers/set/modifiers/16728.cc b/libstdc++-v3/testsuite/23_containers/set/modifiers/16728.cc
index 79486191766..1571edebb48 100644
--- a/libstdc++-v3/testsuite/23_containers/set/modifiers/16728.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/modifiers/16728.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/set/modifiers/17948.cc b/libstdc++-v3/testsuite/23_containers/set/modifiers/17948.cc
index a65c1a9d002..d7f29354b16 100644
--- a/libstdc++-v3/testsuite/23_containers/set/modifiers/17948.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/modifiers/17948.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <set>
diff --git a/libstdc++-v3/testsuite/23_containers/set/modifiers/swap.cc b/libstdc++-v3/testsuite/23_containers/set/modifiers/swap.cc
index 6cde4f1ff7c..7efa8a6bf60 100644
--- a/libstdc++-v3/testsuite/23_containers/set/modifiers/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/modifiers/swap.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <set>
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 c1e420e0e04..c88b977cc52 100644
--- a/libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.3.4 template class multiset negative tests
diff --git a/libstdc++-v3/testsuite/23_containers/stack/members/7158.cc b/libstdc++-v3/testsuite/23_containers/stack/members/7158.cc
index a3d173a7f84..629bd4146f3 100644
--- a/libstdc++-v3/testsuite/23_containers/stack/members/7158.cc
+++ b/libstdc++-v3/testsuite/23_containers/stack/members/7158.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.3 container adaptros
diff --git a/libstdc++-v3/testsuite/23_containers/vector/1.cc b/libstdc++-v3/testsuite/23_containers/vector/1.cc
index 3f62bb53479..074912db7e5 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/vector/14340.cc b/libstdc++-v3/testsuite/23_containers/vector/14340.cc
index c81408633f5..b0bc31cbc1f 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/14340.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/14340.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/vector/18604.cc b/libstdc++-v3/testsuite/23_containers/vector/18604.cc
index d22ee6f7e43..18e9ba0522d 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/18604.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/18604.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// { dg-options "-D_GLIBCXX_DEBUG" }
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/1.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/1.cc
index 8d556420357..8e702dcfd0e 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.5 class vector<bool>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/21244.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/21244.cc
index d546d306146..5f2f18b7629 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/21244.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/21244.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <vector>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/6886.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/6886.cc
index 72a043d0e71..69bf42530f4 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/6886.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/6886.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.5 class vector<bool>
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 ff177162674..43601910b4f 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/clear_allocator.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/clear_allocator.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <vector>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/1.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/1.cc
index 70e1482fb59..8166a3fc8f2 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/capacity/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/1.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.4.2 vector capacity
diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/2.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/2.cc
index 293ca5945bf..f61ba572ccf 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/capacity/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/2.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.4.2 vector capacity
diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/8230.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/8230.cc
index 8dd88ec530e..322a1314ddc 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/capacity/8230.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/8230.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.4.2 vector capacity
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 6c3123567f6..7e6c24c8b22 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/check_construct_destroy.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/check_construct_destroy.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/1.cc b/libstdc++-v3/testsuite/23_containers/vector/cons/1.cc
index fe618e6253b..11ddf5bd8c0 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/cons/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/cons/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.4.1 vector constructors, copy, and assignment
diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/2.cc b/libstdc++-v3/testsuite/23_containers/vector/cons/2.cc
index 629195ee93e..e681bde2ffd 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/cons/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/cons/2.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.4.1 vector constructors, copy, and assignment
diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/3.cc b/libstdc++-v3/testsuite/23_containers/vector/cons/3.cc
index a2dcdee7366..88d16e838e7 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/cons/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/cons/3.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.4.1 vector constructors, copy, and assignment
diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/4.cc b/libstdc++-v3/testsuite/23_containers/vector/cons/4.cc
index 12564b9ef53..66d21503f0a 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/cons/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/cons/4.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.4.1 vector constructors, copy, and assignment
diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/6513.cc b/libstdc++-v3/testsuite/23_containers/vector/cons/6513.cc
index 2748a4e54cc..195a80f1bef 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/cons/6513.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/cons/6513.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.4.1 vector constructors, copy, and assignment
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 e436f2235f8..232fd34fb74 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/cons/clear_allocator.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/cons/clear_allocator.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <vector>
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 36397640765..1b011294bcf 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/element_access/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/element_access/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.4 vector
diff --git a/libstdc++-v3/testsuite/23_containers/vector/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/vector/explicit_instantiation/1.cc
index 0668bbd12ab..58de322b151 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/explicit_instantiation/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/vector/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/vector/explicit_instantiation/2.cc
index 7020d42ebb0..0a48971380e 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/explicit_instantiation/2.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/vector/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/23_containers/vector/explicit_instantiation/3.cc
index 2cd0b23fcb6..263a7c875fc 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/explicit_instantiation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/explicit_instantiation/3.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/vector/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/vector/invalidation/1.cc
index 634dba4aa12..a38e62860bc 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/invalidation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/invalidation/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// We need to be pedantic about reallocations for this testcase to be correct.
diff --git a/libstdc++-v3/testsuite/23_containers/vector/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/vector/invalidation/2.cc
index d8ba4d639d0..674c21cb062 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/invalidation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/invalidation/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// We need to be pedantic about reallocations for this testcase to be correct.
diff --git a/libstdc++-v3/testsuite/23_containers/vector/invalidation/3.cc b/libstdc++-v3/testsuite/23_containers/vector/invalidation/3.cc
index ac7f9ec99ce..05093835c9d 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/invalidation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/invalidation/3.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// We need to be pedantic about reallocations for this testcase to be correct.
diff --git a/libstdc++-v3/testsuite/23_containers/vector/invalidation/4.cc b/libstdc++-v3/testsuite/23_containers/vector/invalidation/4.cc
index 1189f3cc3e5..9010f9e408d 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/invalidation/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/invalidation/4.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// We need to be pedantic about reallocations for this testcase to be correct.
diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/1.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/1.cc
index e9e61cbfb76..09c22589e47 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.4.3 vector modifiers
diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/2.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/2.cc
index 9cb276b394c..df3a441450b 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.4.3 vector modifiers
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 11c9e8dee33..f758a39161d 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/swap.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/swap.cc
index decaab0026f..8489945354a 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/swap.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <vector>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/resize/1.cc b/libstdc++-v3/testsuite/23_containers/vector/resize/1.cc
index d3deb0d9cf2..c6c813cb91c 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/resize/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/resize/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 23.2.4.2 vector capacity
@@ -25,6 +25,9 @@
// XXX for very large allocations. However -lmalloc seems to work.
// See http://gcc.gnu.org/ml/libstdc++/2002-12/msg00131.html
// { dg-options "-lmalloc" { target mips*-*-irix6* } }
+// This fails on Darwin 8 because malloc doesn't return NULL even
+// if an allocation fails (filed as Radar 3884894).
+// { dg-do run { xfail *-*-darwin8* } }
#include <vector>
#include <stdexcept>
diff --git a/libstdc++-v3/testsuite/24_iterators/back_insert_iterator.cc b/libstdc++-v3/testsuite/24_iterators/back_insert_iterator.cc
index f7a26e74c2c..9105a5591d5 100644
--- a/libstdc++-v3/testsuite/24_iterators/back_insert_iterator.cc
+++ b/libstdc++-v3/testsuite/24_iterators/back_insert_iterator.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 24.4.2.1 Template class back_insert_iterator
diff --git a/libstdc++-v3/testsuite/24_iterators/front_insert_iterator.cc b/libstdc++-v3/testsuite/24_iterators/front_insert_iterator.cc
index 644f9c8b444..bdd024c1f28 100644
--- a/libstdc++-v3/testsuite/24_iterators/front_insert_iterator.cc
+++ b/libstdc++-v3/testsuite/24_iterators/front_insert_iterator.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 24.4.2.3 Template class front_insert_iterator
diff --git a/libstdc++-v3/testsuite/24_iterators/insert_iterator.cc b/libstdc++-v3/testsuite/24_iterators/insert_iterator.cc
index f76e08e9771..951d32987d8 100644
--- a/libstdc++-v3/testsuite/24_iterators/insert_iterator.cc
+++ b/libstdc++-v3/testsuite/24_iterators/insert_iterator.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 24.4.2.5 Template class insert_iterator
diff --git a/libstdc++-v3/testsuite/24_iterators/istream_iterator.cc b/libstdc++-v3/testsuite/24_iterators/istream_iterator.cc
index 3f097d512bf..db57f665d13 100644
--- a/libstdc++-v3/testsuite/24_iterators/istream_iterator.cc
+++ b/libstdc++-v3/testsuite/24_iterators/istream_iterator.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 24.5.1 Template class istream_iterator
diff --git a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/1.cc b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/1.cc
index 8c836e50e15..3d3fec42409 100644
--- a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/1.cc
+++ b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 24.5.3 template class istreambuf_iterator
diff --git a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/2.cc b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/2.cc
index 61c88ea65ab..23de0f865f3 100644
--- a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/2.cc
+++ b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 24.5.3 template class istreambuf_iterator
diff --git a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/2627.cc b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/2627.cc
index ad6d0393b6c..2c0cc60b124 100644
--- a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/2627.cc
+++ b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/2627.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 24.5.3 template class istreambuf_iterator
diff --git a/libstdc++-v3/testsuite/24_iterators/iterator.cc b/libstdc++-v3/testsuite/24_iterators/iterator.cc
index 8573d41abfa..fb61d8004db 100644
--- a/libstdc++-v3/testsuite/24_iterators/iterator.cc
+++ b/libstdc++-v3/testsuite/24_iterators/iterator.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
// USA
diff --git a/libstdc++-v3/testsuite/24_iterators/ostream_iterator.cc b/libstdc++-v3/testsuite/24_iterators/ostream_iterator.cc
index 54668572503..6e291f167ea 100644
--- a/libstdc++-v3/testsuite/24_iterators/ostream_iterator.cc
+++ b/libstdc++-v3/testsuite/24_iterators/ostream_iterator.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 24.5.4 Template class ostream_iterator
diff --git a/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/1.cc b/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/1.cc
index d654d600158..e6241343681 100644
--- a/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/1.cc
+++ b/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 24.5.4 template class ostreambuf_iterator
diff --git a/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/2.cc b/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/2.cc
index f294174e918..5944aa62cdd 100644
--- a/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/2.cc
+++ b/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 24.5.4 template class ostreambuf_iterator
diff --git a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/1.cc b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/1.cc
index d6b088ea3aa..70c4e41a655 100644
--- a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/1.cc
+++ b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 24.4.1.2 Reverse iterators
diff --git a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/2.cc b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/2.cc
index f227bcbcc98..225390cd82c 100644
--- a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/2.cc
+++ b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 24.4.1.2 Reverse iterators
diff --git a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/3.cc b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/3.cc
index 138d41cd5bc..8c2e15896d1 100644
--- a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/3.cc
+++ b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/3.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 24.4.1.2 Reverse iterators
diff --git a/libstdc++-v3/testsuite/25_algorithms/adjacent_find/1.cc b/libstdc++-v3/testsuite/25_algorithms/adjacent_find/1.cc
index fcce4b56596..ba3dbe43518 100644
--- a/libstdc++-v3/testsuite/25_algorithms/adjacent_find/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/adjacent_find/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.1.5 [lib.alg.adjacent_find]
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 65f725df179..93fd8751390 100644
--- a/libstdc++-v3/testsuite/25_algorithms/adjacent_find/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/adjacent_find/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.1.5 [lib.alg.adjacent_find]
diff --git a/libstdc++-v3/testsuite/25_algorithms/binary_search.cc b/libstdc++-v3/testsuite/25_algorithms/binary_search.cc
index 37019f84ede..5854f195065 100644
--- a/libstdc++-v3/testsuite/25_algorithms/binary_search.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/binary_search.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.3 [lib.alg.binary.search] Binary search algorithms.
diff --git a/libstdc++-v3/testsuite/25_algorithms/binary_search/1.cc b/libstdc++-v3/testsuite/25_algorithms/binary_search/1.cc
index 5ee44419b8b..3d69f6852a5 100644
--- a/libstdc++-v3/testsuite/25_algorithms/binary_search/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/binary_search/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.3.4 [lib.binary.search]
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 853a6d2ee39..26a6fb1fa7f 100644
--- a/libstdc++-v3/testsuite/25_algorithms/binary_search/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/binary_search/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.3.4 [lib.binary.search]
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/1.cc b/libstdc++-v3/testsuite/25_algorithms/copy/1.cc
index ed56c97fd49..80f387af6f5 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.1 [lib.alg.copy] Copy.
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/2.cc b/libstdc++-v3/testsuite/25_algorithms/copy/2.cc
index bc9147d5289..38e9532642a 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/2.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.1 [lib.alg.copy] Copy.
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/3.cc b/libstdc++-v3/testsuite/25_algorithms/copy/3.cc
index f6ad8b4cde8..08baa5655b4 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/3.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/3.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.1 [lib.alg.copy] Copy.
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/4.cc b/libstdc++-v3/testsuite/25_algorithms/copy/4.cc
index cee7cc9d621..dc4ceb49368 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/4.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/4.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.1 [lib.alg.copy] Copy.
diff --git a/libstdc++-v3/testsuite/25_algorithms/count/1.cc b/libstdc++-v3/testsuite/25_algorithms/count/1.cc
index dec293cfc3c..705a310c2d7 100644
--- a/libstdc++-v3/testsuite/25_algorithms/count/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/count/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.1.6 count
diff --git a/libstdc++-v3/testsuite/25_algorithms/count/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/count/check_type.cc
index 389c8a08459..872b2e98778 100644
--- a/libstdc++-v3/testsuite/25_algorithms/count/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/count/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.1.2 find_if
diff --git a/libstdc++-v3/testsuite/25_algorithms/count_if/1.cc b/libstdc++-v3/testsuite/25_algorithms/count_if/1.cc
index d5e626f4754..3a98df6072a 100644
--- a/libstdc++-v3/testsuite/25_algorithms/count_if/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/count_if/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.1.6 count_if
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 8530985b935..6a8a36ed950 100644
--- a/libstdc++-v3/testsuite/25_algorithms/count_if/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/count_if/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.1.2 find_if
diff --git a/libstdc++-v3/testsuite/25_algorithms/equal/1.cc b/libstdc++-v3/testsuite/25_algorithms/equal/1.cc
index 9a17c0276ae..00d67277a1a 100644
--- a/libstdc++-v3/testsuite/25_algorithms/equal/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/equal/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <algorithm>
diff --git a/libstdc++-v3/testsuite/25_algorithms/equal/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/equal/check_type.cc
index 434d722e9a6..46b9ca92f1b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/equal/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/equal/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.1.8 [lib.alg.equal]
diff --git a/libstdc++-v3/testsuite/25_algorithms/equal/equal.cc b/libstdc++-v3/testsuite/25_algorithms/equal/equal.cc
index abb0446be21..285baa6e211 100644
--- a/libstdc++-v3/testsuite/25_algorithms/equal/equal.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/equal/equal.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <vector>
diff --git a/libstdc++-v3/testsuite/25_algorithms/equal_range/1.cc b/libstdc++-v3/testsuite/25_algorithms/equal_range/1.cc
index 9a843e7e421..74c79c61b16 100644
--- a/libstdc++-v3/testsuite/25_algorithms/equal_range/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/equal_range/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.3.3 [lib.equal.range]
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 6a299c7081b..17f32220636 100644
--- a/libstdc++-v3/testsuite/25_algorithms/equal_range/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/equal_range/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.3.3 [lib.equal.range]
diff --git a/libstdc++-v3/testsuite/25_algorithms/fill/1.cc b/libstdc++-v3/testsuite/25_algorithms/fill/1.cc
index 64c071c384b..e036b517436 100644
--- a/libstdc++-v3/testsuite/25_algorithms/fill/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/fill/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.5 [lib.alg.fill] Fill
diff --git a/libstdc++-v3/testsuite/25_algorithms/fill/2.cc b/libstdc++-v3/testsuite/25_algorithms/fill/2.cc
index 18ae2ee39c6..94e9bd8a6b8 100644
--- a/libstdc++-v3/testsuite/25_algorithms/fill/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/fill/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.5 [lib.alg.fill] Fill
diff --git a/libstdc++-v3/testsuite/25_algorithms/find/1.cc b/libstdc++-v3/testsuite/25_algorithms/find/1.cc
index 19eb177c770..35e03bf527c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.1.2 find
diff --git a/libstdc++-v3/testsuite/25_algorithms/find/17441.cc b/libstdc++-v3/testsuite/25_algorithms/find/17441.cc
index b184bfa2bfe..95a6db0864f 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find/17441.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find/17441.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.1 algorithms, find()
diff --git a/libstdc++-v3/testsuite/25_algorithms/find/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/find/check_type.cc
index 40bfee8ddca..f05e5ff599d 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.1.2 find
diff --git a/libstdc++-v3/testsuite/25_algorithms/find_end/1.cc b/libstdc++-v3/testsuite/25_algorithms/find_end/1.cc
index 9120e188f77..d2fd29fb5f8 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_end/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_end/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.1.3 [lib.alg.find.end]
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 1d998a7fa3a..5a70e5640b4 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_end/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_end/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.1.3 [lib.alg.find.end]
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 db441bd1a30..24d909ba5f0 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_first_of/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_first_of/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.1.4 [lib.alg.find.first.of]
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 9a075c91120..f8b2f0d388b 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.1.4 [lib.alg.find.first.of]
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 fabfbf9ca45..06ea0d7ffe1 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// { dg-do compile }
diff --git a/libstdc++-v3/testsuite/25_algorithms/find_if/1.cc b/libstdc++-v3/testsuite/25_algorithms/find_if/1.cc
index c1d9255ea42..a14cb694ca7 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_if/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_if/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.1.2 find_if
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 8d56be96a9b..93759e228c2 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_if/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_if/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.1.2 find_if
diff --git a/libstdc++-v3/testsuite/25_algorithms/heap/heap.cc b/libstdc++-v3/testsuite/25_algorithms/heap/heap.cc
index 6d564f2f9ee..6fbd3ed4c06 100644
--- a/libstdc++-v3/testsuite/25_algorithms/heap/heap.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/heap/heap.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.6 Heap operations [lib.alg.heap.operations]
diff --git a/libstdc++-v3/testsuite/25_algorithms/includes/1.cc b/libstdc++-v3/testsuite/25_algorithms/includes/1.cc
index 88d1d2b9cf4..d07f5cd9765 100644
--- a/libstdc++-v3/testsuite/25_algorithms/includes/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/includes/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.5.1 [lib.includes]
diff --git a/libstdc++-v3/testsuite/25_algorithms/includes/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/includes/check_type.cc
index 4b1198e787f..243ee03d36c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/includes/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/includes/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.5.1 [lib.includes]
diff --git a/libstdc++-v3/testsuite/25_algorithms/inplace_merge/1.cc b/libstdc++-v3/testsuite/25_algorithms/inplace_merge/1.cc
index f53c47e3e74..caa8dfa8707 100644
--- a/libstdc++-v3/testsuite/25_algorithms/inplace_merge/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/inplace_merge/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.4 [lib.alg.merge]
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 f8cacfa7696..9c1cd3e2ece 100644
--- a/libstdc++-v3/testsuite/25_algorithms/inplace_merge/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/inplace_merge/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.4 [lib.alg.merge]
diff --git a/libstdc++-v3/testsuite/25_algorithms/iter_swap/20577.cc b/libstdc++-v3/testsuite/25_algorithms/iter_swap/20577.cc
index 3b4c8259352..e21f512d784 100644
--- a/libstdc++-v3/testsuite/25_algorithms/iter_swap/20577.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/iter_swap/20577.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <algorithm>
diff --git a/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/1.cc b/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/1.cc
index 8d38dadb8e6..1422c7f52e3 100644
--- a/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.8 [lib.alg.lex.comparison]
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 20b594cc06a..7bb9bf39381 100644
--- a/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.8 [lib.alg.lex.comparison]
diff --git a/libstdc++-v3/testsuite/25_algorithms/lower_bound/1.cc b/libstdc++-v3/testsuite/25_algorithms/lower_bound/1.cc
index baa00c1cd6c..64d2e06bc54 100644
--- a/libstdc++-v3/testsuite/25_algorithms/lower_bound/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/lower_bound/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.3.1 [lib.lower.bound]
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 1ba48d33f81..f0011788d88 100644
--- a/libstdc++-v3/testsuite/25_algorithms/lower_bound/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/lower_bound/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.3.1 [lib.lower.bound]
diff --git a/libstdc++-v3/testsuite/25_algorithms/lower_bound/lower_bound.cc b/libstdc++-v3/testsuite/25_algorithms/lower_bound/lower_bound.cc
index 6afb28fffbc..b132cddfe76 100644
--- a/libstdc++-v3/testsuite/25_algorithms/lower_bound/lower_bound.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/lower_bound/lower_bound.cc
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <algorithm>
diff --git a/libstdc++-v3/testsuite/25_algorithms/max_element/1.cc b/libstdc++-v3/testsuite/25_algorithms/max_element/1.cc
index 02d870baadb..bd74af575fb 100644
--- a/libstdc++-v3/testsuite/25_algorithms/max_element/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/max_element/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.7 [lib.alg.min.max]
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 f6bae763cc4..6738c7bac9d 100644
--- a/libstdc++-v3/testsuite/25_algorithms/max_element/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/max_element/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.7 [lib.alg.min.max]
diff --git a/libstdc++-v3/testsuite/25_algorithms/merge/1.cc b/libstdc++-v3/testsuite/25_algorithms/merge/1.cc
index c0ccd78a97b..c7e17c69b76 100644
--- a/libstdc++-v3/testsuite/25_algorithms/merge/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/merge/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.4 [lib.alg.merge]
diff --git a/libstdc++-v3/testsuite/25_algorithms/merge/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/merge/check_type.cc
index 27681d82dc9..d7d57e1d076 100644
--- a/libstdc++-v3/testsuite/25_algorithms/merge/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/merge/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.4 [lib.alg.merge]
diff --git a/libstdc++-v3/testsuite/25_algorithms/min_element/1.cc b/libstdc++-v3/testsuite/25_algorithms/min_element/1.cc
index ba9a4a26e77..6de4acb54d9 100644
--- a/libstdc++-v3/testsuite/25_algorithms/min_element/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/min_element/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.7 [lib.alg.min.max]
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 e4ff8d341b5..2b0c1c76188 100644
--- a/libstdc++-v3/testsuite/25_algorithms/min_element/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/min_element/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.7 [lib.alg.min.max]
diff --git a/libstdc++-v3/testsuite/25_algorithms/min_max.cc b/libstdc++-v3/testsuite/25_algorithms/min_max.cc
index 4a3b35a69f9..8c9bbaa9dcc 100644
--- a/libstdc++-v3/testsuite/25_algorithms/min_max.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/min_max.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <algorithm>
diff --git a/libstdc++-v3/testsuite/25_algorithms/mismatch/1.cc b/libstdc++-v3/testsuite/25_algorithms/mismatch/1.cc
index a75405999a3..2cf96202e8c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/mismatch/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/mismatch/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.1.7 [lib.mismatch]
diff --git a/libstdc++-v3/testsuite/25_algorithms/mismatch/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/mismatch/check_type.cc
index 45f46296768..0a356dbad69 100644
--- a/libstdc++-v3/testsuite/25_algorithms/mismatch/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/mismatch/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.1.7 [lib.mismatch]
diff --git a/libstdc++-v3/testsuite/25_algorithms/next_permutation/1.cc b/libstdc++-v3/testsuite/25_algorithms/next_permutation/1.cc
index 4c0496c9d36..9ca5b0057e8 100644
--- a/libstdc++-v3/testsuite/25_algorithms/next_permutation/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/next_permutation/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.9 [lib.alg.permutation.generators]
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 15aff15e08b..4ee77bede0d 100644
--- a/libstdc++-v3/testsuite/25_algorithms/next_permutation/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/next_permutation/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.9 [lib.alg.permutation.generators]
diff --git a/libstdc++-v3/testsuite/25_algorithms/nth_element/1.cc b/libstdc++-v3/testsuite/25_algorithms/nth_element/1.cc
index 469e64bedf5..80b4776d23b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/nth_element/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/nth_element/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.2 [lib.alg.nth.element]
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 3fd1ebadb2a..84ce34a9611 100644
--- a/libstdc++-v3/testsuite/25_algorithms/nth_element/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/nth_element/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.2 [lib.alg.nth.element]
diff --git a/libstdc++-v3/testsuite/25_algorithms/partial_sort/1.cc b/libstdc++-v3/testsuite/25_algorithms/partial_sort/1.cc
index 35c64ca0665..c2bb91d46b1 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partial_sort/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partial_sort/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.1.3 [lib.partial.sort]
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 1a6a2e0fec8..d862e83960b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partial_sort/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partial_sort/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.1.3 [lib.partial.sort]
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 0b7263d3e30..9aa0f78612b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.1.4 [lib.partial.sort.copy]
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 140f15bcc4d..65839d97c98 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.1.4 [lib.partial.sort.copy]
diff --git a/libstdc++-v3/testsuite/25_algorithms/partition/partition.cc b/libstdc++-v3/testsuite/25_algorithms/partition/partition.cc
index b05c203bd32..66edb6f4748 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partition/partition.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partition/partition.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.12 [lib.alg.partitions] Partitions.
diff --git a/libstdc++-v3/testsuite/25_algorithms/prev_permutation/1.cc b/libstdc++-v3/testsuite/25_algorithms/prev_permutation/1.cc
index 530e032d7fc..31eff348692 100644
--- a/libstdc++-v3/testsuite/25_algorithms/prev_permutation/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/prev_permutation/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.9 [lib.alg.permutation.generators]
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 f0fafc60cff..795bd9ebd48 100644
--- a/libstdc++-v3/testsuite/25_algorithms/prev_permutation/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/prev_permutation/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.9 [lib.alg.permutation.generators]
diff --git a/libstdc++-v3/testsuite/25_algorithms/remove/1.cc b/libstdc++-v3/testsuite/25_algorithms/remove/1.cc
index 95ac53c1ba5..b32a737e0d5 100644
--- a/libstdc++-v3/testsuite/25_algorithms/remove/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/remove/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.4 remove
diff --git a/libstdc++-v3/testsuite/25_algorithms/remove/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/remove/check_type.cc
index 46a44de1cb9..0e3010864bd 100644
--- a/libstdc++-v3/testsuite/25_algorithms/remove/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/remove/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.7 Remove
diff --git a/libstdc++-v3/testsuite/25_algorithms/remove_if/1.cc b/libstdc++-v3/testsuite/25_algorithms/remove_if/1.cc
index b72e02491aa..e5e59e56f04 100644
--- a/libstdc++-v3/testsuite/25_algorithms/remove_if/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/remove_if/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.4 remove
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 dbcde808bfb..181f9697cba 100644
--- a/libstdc++-v3/testsuite/25_algorithms/remove_if/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/remove_if/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.7 Remove_if
diff --git a/libstdc++-v3/testsuite/25_algorithms/replace/1.cc b/libstdc++-v3/testsuite/25_algorithms/replace/1.cc
index 4878855dccd..4de3e61d53c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.4 replace
diff --git a/libstdc++-v3/testsuite/25_algorithms/replace/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/replace/check_type.cc
index 083342192ab..2e5faff36ee 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.4 Replace
diff --git a/libstdc++-v3/testsuite/25_algorithms/replace_copy/1.cc b/libstdc++-v3/testsuite/25_algorithms/replace_copy/1.cc
index ebaea0cb666..3b57211da25 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace_copy/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace_copy/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.4 replace_copy
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 1a19a16e4ac..fbaa5ec4d54 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace_copy/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace_copy/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.4 replace_copy
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 2c9c32d67dd..45bd684decc 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace_copy_if/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace_copy_if/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.4 replace_copy_if
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 55b90402242..6191abb0ee3 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.4 replace_copy_if
diff --git a/libstdc++-v3/testsuite/25_algorithms/replace_if/1.cc b/libstdc++-v3/testsuite/25_algorithms/replace_if/1.cc
index 98cf1f3dde1..7066528b1de 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace_if/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace_if/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.4 replace_if
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 b8adaec9fcc..6c28cdc7f1c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace_if/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace_if/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.4 replace_if
diff --git a/libstdc++-v3/testsuite/25_algorithms/rotate/1.cc b/libstdc++-v3/testsuite/25_algorithms/rotate/1.cc
index be41d57bc99..307543e1288 100644
--- a/libstdc++-v3/testsuite/25_algorithms/rotate/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/rotate/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.10 rotate
diff --git a/libstdc++-v3/testsuite/25_algorithms/rotate/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/rotate/check_type.cc
index 31b7123954c..907992a47cd 100644
--- a/libstdc++-v3/testsuite/25_algorithms/rotate/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/rotate/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.10 Rotate
diff --git a/libstdc++-v3/testsuite/25_algorithms/rotate/rotate.cc b/libstdc++-v3/testsuite/25_algorithms/rotate/rotate.cc
index 00768a230c8..78efbb8e4b9 100644
--- a/libstdc++-v3/testsuite/25_algorithms/rotate/rotate.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/rotate/rotate.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.?? algorithms, rotate()
diff --git a/libstdc++-v3/testsuite/25_algorithms/search/1.cc b/libstdc++-v3/testsuite/25_algorithms/search/1.cc
index 5a0ed51cb68..ec0763d6f06 100644
--- a/libstdc++-v3/testsuite/25_algorithms/search/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/search/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.1.5 [lib.alg.search]
diff --git a/libstdc++-v3/testsuite/25_algorithms/search/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/search/check_type.cc
index 9e3a587f2b7..4aaa87bea50 100644
--- a/libstdc++-v3/testsuite/25_algorithms/search/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/search/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.1.9 [lib.alg.search]
diff --git a/libstdc++-v3/testsuite/25_algorithms/search_n/11400.cc b/libstdc++-v3/testsuite/25_algorithms/search_n/11400.cc
index a7003768ee2..a41acb7f9b4 100644
--- a/libstdc++-v3/testsuite/25_algorithms/search_n/11400.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/search_n/11400.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.1.9 [lib.alg.search]
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 dd4073ff308..a953ad16517 100644
--- a/libstdc++-v3/testsuite/25_algorithms/search_n/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/search_n/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.1.9 search_n
diff --git a/libstdc++-v3/testsuite/25_algorithms/search_n/iterator.cc b/libstdc++-v3/testsuite/25_algorithms/search_n/iterator.cc
index fea009d2775..7aeaac34b0b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/search_n/iterator.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/search_n/iterator.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25 algorithms, search_n
diff --git a/libstdc++-v3/testsuite/25_algorithms/set_difference/1.cc b/libstdc++-v3/testsuite/25_algorithms/set_difference/1.cc
index 9d0fbe62639..0c8c4fb54b8 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_difference/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_difference/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.5.3 [lib.set.difference]
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 43d54ad5ae3..ca9f079e549 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_difference/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_difference/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.5.4 [lib.set.difference]
diff --git a/libstdc++-v3/testsuite/25_algorithms/set_intersection/1.cc b/libstdc++-v3/testsuite/25_algorithms/set_intersection/1.cc
index d0a648e9a53..0af1db25cb2 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_intersection/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_intersection/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.5.3 [lib.set.intersection]
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 a1ef6f9486e..22bab70e498 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_intersection/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_intersection/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.5.3 [lib.set.intersection]
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 932eb4f41cf..48691dcfa79 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.5.5 [lib.set.symmetric.difference]
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 c9c63a7f2d0..983f9c7ea25 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.5.5 [lib.set.symmetric.difference]
diff --git a/libstdc++-v3/testsuite/25_algorithms/set_union/1.cc b/libstdc++-v3/testsuite/25_algorithms/set_union/1.cc
index 03bfcaca8b2..63deb4d93c0 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_union/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_union/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.5.2 [lib.set.union]
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 286de97fec4..2c8f3759422 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_union/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_union/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.5.2 [lib.set.union]
diff --git a/libstdc++-v3/testsuite/25_algorithms/sort.cc b/libstdc++-v3/testsuite/25_algorithms/sort.cc
index f1fa87cd42b..6ca01ef7415 100644
--- a/libstdc++-v3/testsuite/25_algorithms/sort.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/sort.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.1 algorithms, sort()
diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_sort/1.cc b/libstdc++-v3/testsuite/25_algorithms/stable_sort/1.cc
index 659c2782a39..0ed98e4a9ef 100644
--- a/libstdc++-v3/testsuite/25_algorithms/stable_sort/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/stable_sort/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.1.2 [lib.stable.sort]
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 8e7c51d18d7..f80d74b5641 100644
--- a/libstdc++-v3/testsuite/25_algorithms/stable_sort/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/stable_sort/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.1.1 [lib.stable.sort]
diff --git a/libstdc++-v3/testsuite/25_algorithms/swap_ranges/1.cc b/libstdc++-v3/testsuite/25_algorithms/swap_ranges/1.cc
index e4a23e28afd..47b8d189323 100644
--- a/libstdc++-v3/testsuite/25_algorithms/swap_ranges/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/swap_ranges/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.2 swap_ranges
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 a19d92c6518..a14109d5047 100644
--- a/libstdc++-v3/testsuite/25_algorithms/swap_ranges/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/swap_ranges/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.4 Swap Ranges
diff --git a/libstdc++-v3/testsuite/25_algorithms/unique/1.cc b/libstdc++-v3/testsuite/25_algorithms/unique/1.cc
index 1c503cb756a..550a964909c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/unique/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/unique/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.8 [lib.alg.unique] Unique
diff --git a/libstdc++-v3/testsuite/25_algorithms/unique/11480.cc b/libstdc++-v3/testsuite/25_algorithms/unique/11480.cc
index 6ac9f685790..1ac2cc651b5 100644
--- a/libstdc++-v3/testsuite/25_algorithms/unique/11480.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/unique/11480.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <algorithm>
diff --git a/libstdc++-v3/testsuite/25_algorithms/unique/2.cc b/libstdc++-v3/testsuite/25_algorithms/unique/2.cc
index 10039d675f5..bc6d3416ed7 100644
--- a/libstdc++-v3/testsuite/25_algorithms/unique/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/unique/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.2.8 [lib.alg.unique] Unique
diff --git a/libstdc++-v3/testsuite/25_algorithms/unique_copy/1.cc b/libstdc++-v3/testsuite/25_algorithms/unique_copy/1.cc
index 4f96c3a64c0..29c4e26c478 100644
--- a/libstdc++-v3/testsuite/25_algorithms/unique_copy/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/unique_copy/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.5.8 [lib.alg.unique]
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 1c6731e9df9..5433b77d118 100644
--- a/libstdc++-v3/testsuite/25_algorithms/unique_copy/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/unique_copy/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.5.8 [lib.alg.unique_copy]
diff --git a/libstdc++-v3/testsuite/25_algorithms/upper_bound/1.cc b/libstdc++-v3/testsuite/25_algorithms/upper_bound/1.cc
index 8b518ef0098..fcbd975ce14 100644
--- a/libstdc++-v3/testsuite/25_algorithms/upper_bound/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/upper_bound/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.3.2 [lib.upper.bound]
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 f0c0774add0..e3c8523ee4f 100644
--- a/libstdc++-v3/testsuite/25_algorithms/upper_bound/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/upper_bound/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 25.3.3.2 [lib.upper.bound]
diff --git a/libstdc++-v3/testsuite/26_numerics/cmath/19322.cc b/libstdc++-v3/testsuite/26_numerics/cmath/19322.cc
index ca6fdaadb17..f763b21bdf8 100644
--- a/libstdc++-v3/testsuite/26_numerics/cmath/19322.cc
+++ b/libstdc++-v3/testsuite/26_numerics/cmath/19322.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c++.cc b/libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c++.cc
index 28dd9407c6b..fbbfbfd4ef0 100644
--- a/libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c++.cc
+++ b/libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c++.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c.cc b/libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c.cc
index 93440275af2..ff97f1f0f00 100644
--- a/libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c.cc
+++ b/libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,8 +27,8 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
-// { dg-do compile { xfail *-*-linux-gnu } }
-// { dg-excess-errors "" { target *-*-linux-gnu } }
+// { dg-do compile { xfail *-*-linux-gnu *-*-darwin* } }
+// { dg-excess-errors "" { target *-*-linux-gnu *-*-darwin* } }
#include <math.h>
diff --git a/libstdc++-v3/testsuite/26_numerics/cmath/c_math.cc b/libstdc++-v3/testsuite/26_numerics/cmath/c_math.cc
index 60cb5d05a01..fd0f7c94cf1 100644
--- a/libstdc++-v3/testsuite/26_numerics/cmath/c_math.cc
+++ b/libstdc++-v3/testsuite/26_numerics/cmath/c_math.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <cmath>
diff --git a/libstdc++-v3/testsuite/26_numerics/cmath/c_math_dynamic.cc b/libstdc++-v3/testsuite/26_numerics/cmath/c_math_dynamic.cc
index 86a6f930f72..b8f2f921215 100644
--- a/libstdc++-v3/testsuite/26_numerics/cmath/c_math_dynamic.cc
+++ b/libstdc++-v3/testsuite/26_numerics/cmath/c_math_dynamic.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/26_numerics/cmath/fabs_inline.cc b/libstdc++-v3/testsuite/26_numerics/cmath/fabs_inline.cc
index 5dffb7d12c1..742a3a9b221 100644
--- a/libstdc++-v3/testsuite/26_numerics/cmath/fabs_inline.cc
+++ b/libstdc++-v3/testsuite/26_numerics/cmath/fabs_inline.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Test to see whether the host provides its own (inline) view of fabs.
diff --git a/libstdc++-v3/testsuite/26_numerics/cmath/powi.cc b/libstdc++-v3/testsuite/26_numerics/cmath/powi.cc
index 588448c3f13..8a56f2fddab 100644
--- a/libstdc++-v3/testsuite/26_numerics/cmath/powi.cc
+++ b/libstdc++-v3/testsuite/26_numerics/cmath/powi.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 26.5 C Library
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/13450.cc b/libstdc++-v3/testsuite/26_numerics/complex/13450.cc
index 774dcea06bc..f5640dec879 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/13450.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/13450.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 26.2.8 complex transcendentals
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/buggy_complex.cc b/libstdc++-v3/testsuite/26_numerics/complex/buggy_complex.cc
index 37930fc5b0b..4c8ef434d33 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/buggy_complex.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/buggy_complex.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/complex_inserters_extractors.cc b/libstdc++-v3/testsuite/26_numerics/complex/complex_inserters_extractors.cc
index b7059f7e864..c9333f561af 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/complex_inserters_extractors.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/complex_inserters_extractors.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/complex_value.cc b/libstdc++-v3/testsuite/26_numerics/complex/complex_value.cc
index 17b9c0bfae3..3f683d8fbff 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/complex_value.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/complex_value.cc
@@ -18,7 +18,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <complex>
diff --git a/libstdc++-v3/testsuite/26_numerics/cstdlib/13943.cc b/libstdc++-v3/testsuite/26_numerics/cstdlib/13943.cc
index 920ddcc43b3..08ab36e4e63 100644
--- a/libstdc++-v3/testsuite/26_numerics/cstdlib/13943.cc
+++ b/libstdc++-v3/testsuite/26_numerics/cstdlib/13943.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/26_numerics/numeric/sum_diff.cc b/libstdc++-v3/testsuite/26_numerics/numeric/sum_diff.cc
index 64690be500b..e5af462da01 100644
--- a/libstdc++-v3/testsuite/26_numerics/numeric/sum_diff.cc
+++ b/libstdc++-v3/testsuite/26_numerics/numeric/sum_diff.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 26.4.3 [lib.partial.sum]
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/slice.cc b/libstdc++-v3/testsuite/26_numerics/valarray/slice.cc
index a7278edfc90..d7ad877d9d7 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/slice.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/slice.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Test slice class invariants
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/slice_array_assignment.cc b/libstdc++-v3/testsuite/26_numerics/valarray/slice_array_assignment.cc
index 2d5af920735..34888be44e9 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/slice_array_assignment.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/slice_array_assignment.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/valarray.cc b/libstdc++-v3/testsuite/26_numerics/valarray/valarray.cc
index 37c9e0286e4..3c206e354f5 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/valarray.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/valarray.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/valarray_const_bracket.cc b/libstdc++-v3/testsuite/26_numerics/valarray/valarray_const_bracket.cc
index 53819f43ad1..512cbafd3ce 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/valarray_const_bracket.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/valarray_const_bracket.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/valarray_name_lookup.cc b/libstdc++-v3/testsuite/26_numerics/valarray/valarray_name_lookup.cc
index a0bd21e791e..735f65f5df7 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/valarray_name_lookup.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/valarray_name_lookup.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/valarray_operators.cc b/libstdc++-v3/testsuite/26_numerics/valarray/valarray_operators.cc
index 16479a51241..70ad0b0e788 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/valarray_operators.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/valarray_operators.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <valarray>
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/valarray_subset_assignment.cc b/libstdc++-v3/testsuite/26_numerics/valarray/valarray_subset_assignment.cc
index 9298bfb046f..d5f0fa27a87 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/valarray_subset_assignment.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/valarray_subset_assignment.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/1.cc
index f0267286ae9..baa349e007c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/2.cc
index 06dfd3ff3df..17c54294b53 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/2.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/3.cc
index 6523af7bb10..f9f65da4a3a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/3.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/4.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/4.cc
index 3bde4817e27..cef8732b979 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/4.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
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 e94b17ff141..93f5b113f4d 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.3 filebuf member functions
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 5d87cabc1ea..65b28c9eb5b 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.3 filebuf member functions
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 cc68efb6f3c..ea7a3d06292 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.3 filebuf member functions
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 2e166822483..d54139967c3 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.3 filebuf member functions
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 0e3629a0be5..b3e8c729ed5 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.3 filebuf member functions
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 c0efd7f2743..2e07d882e9a 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.3 filebuf member functions
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 0657ed8218c..3af0a735c90 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.3 filebuf member functions
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 6fc4bc50208..81943909fe7 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 6222874f9cf..678a75a377e 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.3 filebuf member functions
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 a7d0c5ced06..cfbfc44adce 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.3 filebuf member functions
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 cfac4a7a384..129a3754f30 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.3 filebuf member functions
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 6be75113327..21d7ae66aac 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.3 filebuf member functions
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 c0588a32fb5..2693561c4d3 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.3 filebuf member functions
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 edabea9338a..eeade8f8767 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.3 filebuf member functions
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 8c7e2c2406c..19dd9163ace 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.3 filebuf member functions
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 f6acb493b6d..96dd0248317 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.3 filebuf member functions
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 599309845cd..b6db58a6aff 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.2 basic_filebuf constructors [lib.filebuf.cons]
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 083a81c0deb..0506f154fef 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.2 basic_filebuf constructors [lib.filebuf.cons]
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 503073ea900..d14140cb090 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
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <fstream>
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 23f14faaeac..44c51b978e1 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/12206.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/12206.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 7893e93ce1a..38a965c4ae1 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <fstream>
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 4fa75f5d67a..abf9c36c2f2 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 6a3c97db072..9bc10e2062c 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 87930e63337..53998859a8c 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 24d96d384fa..0bac2c3ca78 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 d08de2a2672..111f819f6e6 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
@@ -19,7 +19,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 0529f01e098..0d993e80e1e 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 9aec985d1fe..f2957f3ec89 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 868ea59cea9..b82dcc2d883 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 6b4ce3da300..f67daeafc2f 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 621799e513f..cf503fdefea 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <fstream>
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 5b7db8bc9b7..1ec9b85c140 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 95f9871f396..2e8fba7e7cd 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 b519996ff5a..6278fef3a71 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 976dc62abb3..385888a3cdb 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
@@ -19,7 +19,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 b37d9eadd3c..a2df6891334 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 73d3b775254..586cdfe5d1f 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
@@ -19,7 +19,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <fstream>
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 5ed74c786be..81510bdd501 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 5825f63fb23..a4492d87e38 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 a65309bc9d8..00a895ba0bb 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 6f6879b127c..3af1d8bd5e4 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 5dc68c62b9a..d923032f4aa 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.5.2.2.3 Get area
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 b4569bbb22d..1f974c0bcd0 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.3 filebuf member functions
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 4ddd2efb028..ac532dd13a2 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.3 filebuf member functions
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 dffdc748dbc..450e7293327 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.3 filebuf member functions
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 b50208db363..bc5eb9be63a 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.3 filebuf member functions
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 db8f2d7bc57..07e584a49a3 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.3 filebuf member functions
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 8035a7b3009..ddcc8a0aa56 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.3 filebuf member functions
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 d66fb1442a8..94a01f00395 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 7e01b44c1e7..2593451c99d 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 661bd1d3084..4cec2267d76 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 f9c69f84e86..e278ce0a3a4 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 6684d5dea5b..eead4a4bba7 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 dc163bae1a0..03709c12695 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 866c95529e1..add450d3b0d 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 8133045afe5..87951db6f7e 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 31ea0186b34..db5f444d477 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 398bc2a956b..9324040df05 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 7aee9d432fa..add63be1fb6 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 b3d4c20cf12..abc22e6534e 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 b76dc3bf4f9..93256f640b9 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 6bf97519301..f37ff707fda 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 14cc40f0152..13bf0ed53e8 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 7236e939a35..20f89db25c8 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 107af85e16f..a4dd63addd2 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 f57578d29f9..40c9d3aacc5 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 a2804584a0b..0ca3b677543 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 37048f2dc82..f92b947e0c1 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 e4468b23b90..cfaa16ccbee 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 14f0870517f..d9ec65bfc9d 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
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 7fef808f494..3bb00013d59 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 748d3a5c84c..d64a83350a2 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 5dba37cdda4..67df965ce82 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 5f31b58c3d3..f3e435b5f7e 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 bef5cf7329b..b55aee5490c 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 b6a8c0cb67d..13d29eb8eca 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 1cd29316acd..149adfda4b8 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 dccebbc77f9..18c79d6ddeb 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
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 430183162fc..59ee79d689f 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 a6340233201..03d4b3a0c33 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 006078ad977..459e12f87c8 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 b56a5e9a990..f74a6eec9f4 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 69752b2cb46..141c97090e0 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 96ac5821a71..ab47d5b4d77 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 f636bbbeffd..76bafa713c9 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 2f78957444e..bba9412a730 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 3d28f6f5dae..92e8d1d962f 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 Overridden virtual functions
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 e78abf1ad7d..20342f42edf 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 Overridden virtual functions
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 fda7be2f45c..79524c6cb79 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 Overridden virtual functions
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 43148307f80..9801f176f13 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 9684fe30cea..b3ab8a23c98 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
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 bf70ecd5f3c..ef95bb53660 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 748ae3a086c..0d849d39bba 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 6db1648cab8..f05d41d573f 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 b6af7fbe7ff..ac8e5467b23 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 6be7b287f84..c405142e860 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 343e325e70b..49ad0deaf9e 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 e48b6704bbb..1dd6a2ff505 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 85b80a1329e..da613a13bfe 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
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 ffb22f934db..14381f9d590 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 98ee1d37f2a..bd3a55054c2 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 89ed992a9e7..461944a31a0 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 bf7756b7a1c..bac71052f5f 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 588a1b27ccb..562868e790d 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 c684786fe00..7cd6a382b52 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 2c31c8a248a..dab22e49e78 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 42b10230bf1..22bd9896d7c 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 e168c945952..de2cb39a7df 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 0bf84cbfdd5..a491e8cd098 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 4bead04ca9b..d6de74099c7 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 73fb8b55ff6..04317577784 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 df145735df2..fcdad6217c2 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 e18030a5ace..9b131720e31 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 Overridden virtual functions
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 2bf1b831b00..df8805513a8 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 Overridden virtual functions
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 ecd8433f3fb..d6d9ea8e4aa 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 Overridden virtual functions
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 41848b76650..680fdffe35f 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 718589e8cdf..c9d62e6aa2a 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 220a48c79ea..209a479e95b 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 eaa3cb6976b..94b0b259fef 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 70d36c8482b..f2e5d6efa16 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 be4c1bc64ad..92d6c27f4d5 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 37ae534eecc..0371b6c2294 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 e0113c9594f..eb028f5c2f9 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 5013b87fcf9..ecd845ed763 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 c50a5ed4a12..22205381f3f 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 524935a1c84..33e673338b3 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 11702dc0336..61dfd115c3f 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 9b7a942b206..e89f2548596 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 0395682dec3..19403762934 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 a663de2409c..53442a46afb 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 bb08c18636d..536b0489afa 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 1e4bb4ea091..1f9fe52e616 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 0357a0ba4fa..6ff1309e463 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 23d9bdc8ecc..59ec669915d 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// The ARM simulator does not provide support for "fstat", which
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 6f371fee150..12f921adba9 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// The ARM simulator does not provide support for "fstat", which
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 9865b7745e7..52770f42df2 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 d7752fa5012..61f93cdd000 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// The ARM simulator does not provide support for "fstat", which
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 ca2b9f0cdb8..b78f41f08f0 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// The ARM simulator does not provide support for "fstat", which
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 e94de1c9378..de75c6570ca 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 517d35e64ee..aec6bda7d70 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 f5126e41df2..d9b91088654 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 1e62cf2389e..2648024a699 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 1d22aa5c693..6c05b4d6532 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 93764d9d7ec..86fc89caf5b 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 6d26eac49cf..06f137cefc3 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 e30a2c6416e..7064f55ad7e 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 151b6367b14..2abd714bcfb 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 9627d2ac665..5acdf55d9ee 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 35665f55e3b..eb6d64e167c 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 27c50b22a98..5725c93d87d 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 1f20f19901d..2d89077c1dc 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 52900e84eb3..8724f62d3d2 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 0174a928e89..3b0f8193a34 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 ce6de8ec076..31ecfbd5e26 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 5ad5aeea235..a8465ed4061 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 e331e69b07d..9c41d56f6d6 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 94b4c624ae5..1f4c311cd4e 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 6219b34062e..cf35c744c8a 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 d794458c3d3..b6f80b81173 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 70ef74bf1c0..9188817d34c 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 069982adae9..25e3f6ed0f2 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 d0a24ddb60d..e912c85260f 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 85941c81b2d..f3f111c0a99 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 c5a860db60d..31c1060ac74 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 84eb9f81cc1..8781c50af1c 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 3753a4be262..4a0a8a8cede 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 b6cf1e7db90..8ef2c0e8c75 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 a2a2322dd86..67060aa29b7 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 fce28d32ce3..0dfe0ed285f 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 9a4fa156b42..375585270e7 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 4fd774ee4a1..e4bdbdf7f4c 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <fstream>
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 7335ca79992..88695745ce1 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 873efa1c27f..75ec18c9ff9 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 fb45945119b..9d4382a39c6 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 8c8737d601e..fafda69cad7 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 d0bbb5b21db..ed54713312b 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 72f90ed08a4..a44d10ffba0 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 73718d9fa45..4d7961ee2ce 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sync/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sync/char/1.cc
index 202cc38d60a..6b547e46a01 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sync/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sync/char/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 a3071b787bd..0b4230eec51 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 91ef1ffe56d..a603ca2867f 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc
index 8ff00ce9634..1c71bdbb770 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 8dd24343f2e..047cdce2ca1 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/10096.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/10096.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 60d5d38d78d..818279b468d 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 1113f84435f..33c72306990 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
@@ -18,7 +18,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 da498f2112c..c104943632d 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 768cba16172..c5cea979ced 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 cccc4025943..bd4615519fb 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 cb7168a26dd..152174daf67 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 d687f2a421d..4216e6ce11b 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 ba3d33a1e2e..f4ca56a5881 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 ed9a61ece4d..c30ce0abeb6 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 91d92e4d127..0d2fcd6ecb6 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 c5e617d7bdf..c4217209ce2 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 bfba687bc5b..38bfd9f87f5 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 61f8749af75..58562f9eb69 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 2f8b562a0aa..f6346437f43 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 a070c59ad42..b1bfa8e8a4a 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
@@ -18,7 +18,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 82d531080a8..61c367e3b79 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 3059724b44e..d9bea240ae3 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 05bebd1522e..737e3d0a226 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/27_io/basic_fstream/1.cc b/libstdc++-v3/testsuite/27_io/basic_fstream/1.cc
index 28713fbdd28..6c294f21ab0 100644
--- a/libstdc++-v3/testsuite/27_io/basic_fstream/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_fstream/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_fstream/2.cc b/libstdc++-v3/testsuite/27_io/basic_fstream/2.cc
index b4710c8f885..66e40c81986 100644
--- a/libstdc++-v3/testsuite/27_io/basic_fstream/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_fstream/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_fstream/3.cc b/libstdc++-v3/testsuite/27_io/basic_fstream/3.cc
index 484c611cdda..2de3b8524ca 100644
--- a/libstdc++-v3/testsuite/27_io/basic_fstream/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_fstream/3.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
diff --git a/libstdc++-v3/testsuite/27_io/basic_fstream/4.cc b/libstdc++-v3/testsuite/27_io/basic_fstream/4.cc
index 58f6f99ba33..be994f23be1 100644
--- a/libstdc++-v3/testsuite/27_io/basic_fstream/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_fstream/4.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
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 b5606c0169f..4f24f8aaac4 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.13 member functions (fstream_members)
diff --git a/libstdc++-v3/testsuite/27_io/basic_ifstream/1.cc b/libstdc++-v3/testsuite/27_io/basic_ifstream/1.cc
index 176333cc9f1..2a6482a8ff1 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ifstream/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ifstream/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_ifstream/2.cc b/libstdc++-v3/testsuite/27_io/basic_ifstream/2.cc
index 224abcf6608..191ef1f4475 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ifstream/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ifstream/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_ifstream/3.cc b/libstdc++-v3/testsuite/27_io/basic_ifstream/3.cc
index 6649be318ec..b0a5a4d43a0 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ifstream/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ifstream/3.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
diff --git a/libstdc++-v3/testsuite/27_io/basic_ifstream/4.cc b/libstdc++-v3/testsuite/27_io/basic_ifstream/4.cc
index 3cc66cf7f19..626da50d523 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ifstream/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ifstream/4.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
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 43ef6ccf91c..c925a9802aa 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.7 ifstream member functions
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 cbc4c7ac109..d2870151791 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.7 ifstream member functions
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 c07bea1cd3e..bcd56705af5 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.7 ifstream member functions
diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/1.cc b/libstdc++-v3/testsuite/27_io/basic_ios/1.cc
index 1b8de870501..6481c710284 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ios/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ios/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/2.cc b/libstdc++-v3/testsuite/27_io/basic_ios/2.cc
index 88b94438642..89c71e65e8e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ios/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ios/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/3.cc b/libstdc++-v3/testsuite/27_io/basic_ios/3.cc
index f724788deb4..255617ab482 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ios/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ios/3.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/4.cc b/libstdc++-v3/testsuite/27_io/basic_ios/4.cc
index 7e70339d875..de7b5495efd 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ios/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ios/4.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
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 71b0e170577..6cba7cc9fd5 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 b3e0624a5de..0979f82fdff 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 6cf94cbc79c..4f154f8fa33 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 0db96304d0f..90e76001a20 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 edc407fd55a..e8d7ef4b12b 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 bd75da7896e..cceeec023ca 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 4c3352fba80..d85cff3c07a 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 88f48c4f09d..1e3794420eb 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 4b5d5307c2c..f6b32d1f23d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ios/imbue/14072.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ios/imbue/14072.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 81779bae62f..28d7afd6354 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_iostream/1.cc b/libstdc++-v3/testsuite/27_io/basic_iostream/1.cc
index dfd9c0552b8..e860d4fd3ae 100644
--- a/libstdc++-v3/testsuite/27_io/basic_iostream/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_iostream/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_iostream/2.cc b/libstdc++-v3/testsuite/27_io/basic_iostream/2.cc
index eff57709285..e5c72362bc5 100644
--- a/libstdc++-v3/testsuite/27_io/basic_iostream/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_iostream/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_iostream/3.cc b/libstdc++-v3/testsuite/27_io/basic_iostream/3.cc
index 2c539cf0de0..0aa53acc710 100644
--- a/libstdc++-v3/testsuite/27_io/basic_iostream/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_iostream/3.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
diff --git a/libstdc++-v3/testsuite/27_io/basic_iostream/4.cc b/libstdc++-v3/testsuite/27_io/basic_iostream/4.cc
index 3c4a4922c58..26b5fa1579c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_iostream/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_iostream/4.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/1.cc
index 3338af8279b..0250f1274e7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/2.cc
index a35ed0be374..f0cb8011b1e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/2.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/3.cc b/libstdc++-v3/testsuite/27_io/basic_istream/3.cc
index d9f8570bbdb..5b2dcab4834 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/3.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/4.cc b/libstdc++-v3/testsuite/27_io/basic_istream/4.cc
index 76aac6bf4f5..3c796f5c823 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/4.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
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 ace6cdd56ed..ffc568259b6 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <istream>
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 91468001813..46d8113cbc9 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <istream>
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 99da6791799..958f9e38987 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.2 arithmetic extractors
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 e0f95e0aa0f..9abb0410aed 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.2 arithmetic extractors
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 bddd5d864a8..ab06d584323 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.2 arithmetic extractors
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 aa192280b2b..255b5c57aff 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.2 arithmetic extractors
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 ed5940b3cb5..6c3f167193d 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.2 arithmetic extractors
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 1e3d9fab320..53dcff01294 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.2 arithmetic extractors
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 247c0a117cb..5da83724b6c 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.2 arithmetic extractors
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 b3870461398..0fd9209f220 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.2 arithmetic extractors
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 4b4b0adc687..0fa42e21c3c 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.2 arithmetic extractors
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 c06be392ad9..21e2940417f 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.2 arithmetic extractors
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 bf1579be7ca..fbda4a47706 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.2 arithmetic extractors
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 20476a96e54..d8777580d40 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 5bb89ad5b4f..2f905c4e79b 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <locale>
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 e2ffe3623d4..d272ab75d59 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
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 3b208691dc3..5017e9f6c88 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 5968a9664d8..f02acb04650 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 a0106240e2d..330c2f0724c 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.2 arithmetic extractors
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 cfd0fae1406..b5542b39085 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.2 arithmetic extractors
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 0f9d9a93836..b54d60f93b4 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.2 arithmetic extractors
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 d4e5d5cbee5..e5f5e4c8ca0 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.2 arithmetic extractors
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 a18a610dc61..01d029a9df0 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.2 arithmetic extractors
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 cc3387c2ba4..7a4003afa22 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.2 arithmetic extractors
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 0310c64779b..26021c2379f 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.2 arithmetic extractors
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 c3159603678..5e163d3c6fc 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.2 arithmetic extractors
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 b26d1238fc7..abb11091193 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.2 arithmetic extractors
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 ef72afbcfbf..6ffae088125 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.2 arithmetic extractors
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 8fa3e3e55ef..301431f69cb 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.2 arithmetic extractors
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 98d9c25d6a4..b09bb9b253e 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 4b0392ae8c0..5c6ccc674d2 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <locale>
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 f45f0ab1f3f..0846b9698e8 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 500952f0ecf..e7b5ec27579 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 16c6bbe94e3..5410eb70355 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.3 character extractors
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 0e7e364b819..049ba2f32e4 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.3 character extractors
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 f1469217efc..70ac341fe5f 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.3 character extractors
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 5e0ca5583ea..1045113ce1d 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.3 character extractors
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 73a7bec8f28..9a1a71b8587 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.3 basic_istream::operator>>
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 0e27199fd2b..1dd62ab815b 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 8628c1cd211..1916d0fe690 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 d3653c86d49..6ea523553eb 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 0114e5b06bc..57619b30728 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.3 character extractors
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 edbe8126990..f4d38269bc4 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.3 character extractors
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 8c591831f73..34b0e604d81 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.3 character extractors
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 a22e13ac66c..6fdffb022fa 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.3 character extractors
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 f2c1584380d..d4e0069163b 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.3 basic_istream::operator>>
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 70db4cf8e97..19c26909c93 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 a8a81e27fa6..8994d7397f2 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.3 basic_istream::operator>>
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 9f5c452ed7c..eac90fe1fe1 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.3 basic_istream::operator>>
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 d0c60e78996..6bb0e7f3a0c 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.3 basic_istream::operator>>
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 1ca7c8ea74b..176d5602883 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 591aac680cb..561917c1831 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 a5ced0342ef..a7fd7a6b564 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 2079b453995..4e6470c49d4 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 86c0a8a1a92..8b5bda1e20c 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 199750af0bd..29157ca35ac 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 8e012d13714..5606b690c17 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 ee271f4c546..eaeeb4322c9 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 8eea02abf50..8c59d46553d 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.3 basic_istream::operator>>
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 f942b26952d..dd8e6636475 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.3 basic_istream::operator>>
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 b0849721b6e..5fb57f37b09 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.2.3 basic_istream::operator>>
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 a2ba62441d2..95d7478315c 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 21ebeb443d2..ca06b19f91b 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 8ca81dd2b06..5ffb9bf8f84 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 ff23e84396e..9e748d44dea 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 f114b3cf1e1..6d50ffda77f 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 d546ef33a19..aa905a1d2a0 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 2596f7a885b..9144705e7ae 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 269cd7c9f0f..9d1f3c0ccec 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 ce6302f82ce..ff3ff13fb55 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 ea831742c67..29f94b920a3 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 a730e518067..924d1ff59f2 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 b150d89e4b5..93542ead398 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 941afde7dcc..4030eefbb58 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 eef9573625b..4224c5389f8 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 3810544b30d..5fd79929811 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 3cd1f81cd0d..f8a699a8df2 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 2734c60fd2e..75f1565d505 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 9001f52367c..e2cb0b9d647 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 e4066136765..b6681e5f5fd 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 4e1efffb7da..c42a95ae09e 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 a3fe28adef2..9984e749e2f 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 dbfc1a950a4..2dadeb5764d 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 c501d8353d1..4f7c763e480 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 f83ce050bad..3417b60699e 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 658ca9a7a1c..5687c9d9c5a 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 8dfe1d68105..d5d64d6e5aa 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 85bdbfc2ed7..b903b1b4304 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 ed2880a472f..bcd4a4db546 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 3873007a82d..cd14cc91d59 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 f7ae355f855..ded259293fa 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 fc88884e359..aaad735d7a3 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 50f5c30d4c3..4b84af64d8e 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 7d085f3135f..b13e54fdf54 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 6dee04cad05..899bfc201ef 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 7e8402a1a2f..5c73080a1b5 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 957c2ef4ccf..bb5777359bf 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 8b4ef74e423..90bfc404498 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 4f1d3714f63..b1ba2497385 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 93251c18ac6..aba9a5617c3 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 43f4b174d86..d4dd4f117d7 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 938453a7c7a..390574c381e 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 b2c9efb8037..4a6b41fa376 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 6000b97680a..b4d42b3c4d6 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 81081b4d31e..99acafc1ef0 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 5214e030a99..47e3af57238 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 e5891c80815..f9795a8211f 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 dd24afac8aa..4fde991be1f 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 977979d4969..96e7d23fbfd 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 6910f363345..1d9c8658ea1 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 6a2aef3c9c5..f26ec4ebfd4 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 62de420d97f..2f90578d663 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// The ARM simulator does not provide support for "fstat", which
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 4b155b651a0..5d901339f88 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 35fe6d032a7..18afbd513bb 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 30e2a3a131c..aa83915c3d5 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// The ARM simulator does not provide support for "fstat", which
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 5b9a2bb774d..d5b64c4c312 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 33cb81276a0..a2cf3a5aa89 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 b850215eaec..ec01b61c2ab 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 204dddeb332..163e8050b3d 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 2d65f2c81a1..4ffd818cecd 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 00df7cfac89..d2c6eaea513 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 286d3a23eca..bde01c3c96a 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 b40145cbb0a..872c826582c 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 98e269719dc..dfc6034767d 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 4d15c1e05fb..151871dfa99 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 5aa5c819b57..9e50d1d7e21 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 71ad9468b25..50e8b5c5e75 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 65f7a591c56..ebe7353b6cd 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 61db9001211..c0136e981d5 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 918870c54d2..16332fa74c1 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 4a25cd5a520..132f4491259 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 527f3920aa8..0e62224ca6a 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 71442362489..15b7e8b8f35 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 b228257c950..5f1a717278b 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 c870f2b2541..90ddd3653c1 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 1c0ca9a5b43..fead87b3d22 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 6844aa75793..5eba7a63eec 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 4bbe40be919..d92d8acdad0 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 1afd1a0745c..11105b8dfdd 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 3b0226918b7..fb121f72d71 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 bd90ab26ba7..f38b1d0e7d1 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 dffa89872df..2f64fcf1050 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 4d9e3a9d880..f27cfd2c6b8 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 faa4424bda9..a139909ab14 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 2306b81db5d..aa0bf210c1b 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 8dd6370fd6c..467c73fdef0 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 aab0162b2c4..83ca9a9b1f2 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 d4fe1ee1aae..25816b11514 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 1252b2aefbe..9401e251c5b 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.3 unformatted input functions
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 00f5798ef5a..13f89c28eb0 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.4 standard basic_istream manipulators
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 18443605240..4c3618df42f 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.1.4 standard basic_istream manipulators
diff --git a/libstdc++-v3/testsuite/27_io/basic_istringstream/1.cc b/libstdc++-v3/testsuite/27_io/basic_istringstream/1.cc
index f8b76ee3e31..b87fb24bd08 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istringstream/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istringstream/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_istringstream/2.cc b/libstdc++-v3/testsuite/27_io/basic_istringstream/2.cc
index 27e6f565916..7f7f9f92520 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istringstream/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istringstream/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_istringstream/3.cc b/libstdc++-v3/testsuite/27_io/basic_istringstream/3.cc
index 8bdbfc6f655..96f3d6a5c1f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istringstream/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istringstream/3.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
diff --git a/libstdc++-v3/testsuite/27_io/basic_istringstream/4.cc b/libstdc++-v3/testsuite/27_io/basic_istringstream/4.cc
index c2cc29e4739..da0845f733a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istringstream/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istringstream/4.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
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 445ede3d43b..da6faf24389 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.2.2 member functions (istringstream_members)
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 7f6d8e38a79..92fa65754da 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.2.2 member functions (istringstream_members)
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 f95b4a2bd7a..ced7600be9f 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.2.2 member functions (istringstream_members)
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 d64bf128889..d0b90545da1 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.2.2 member functions (istringstream_members)
diff --git a/libstdc++-v3/testsuite/27_io/basic_ofstream/1.cc b/libstdc++-v3/testsuite/27_io/basic_ofstream/1.cc
index 497e4671b50..83a9cd17522 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ofstream/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ofstream/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_ofstream/2.cc b/libstdc++-v3/testsuite/27_io/basic_ofstream/2.cc
index 24f2ed4822e..4f1dfc093ad 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ofstream/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ofstream/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_ofstream/3.cc b/libstdc++-v3/testsuite/27_io/basic_ofstream/3.cc
index 8f264d4a37a..3e177045a3f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ofstream/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ofstream/3.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
diff --git a/libstdc++-v3/testsuite/27_io/basic_ofstream/4.cc b/libstdc++-v3/testsuite/27_io/basic_ofstream/4.cc
index 32843325e53..ae5b727c243 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ofstream/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ofstream/4.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
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 accf3e51c1f..6ce60ac8467 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.10 ofstream member functions
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 64b9e342c38..978c633b07d 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.10 ofstream member functions
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 9ca7b900dd6..e3ef258d80e 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.10 ofstream member functions
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/1.cc
index 02401717813..f72ab120f0e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/2.cc
index a75de6b8f98..6b1f7121fe1 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/2.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/3.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/3.cc
index 7ec77fb16c5..6b03e8c006e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/3.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/4.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/4.cc
index e9affab30de..a365762f21b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/4.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
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 309d6f09ba1..dec7c151c8b 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <ostream>
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 38c5ee0ef7f..be98fd1de82 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <ostream>
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 e5cd1212d05..2c547bda57e 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.7 standard basic_ostream manipulators
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 67b594e18b5..d6de23b6835 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.7 standard basic_ostream manipulators
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 5fa6ae24b99..ce64d6963ef 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.7 standard basic_ostream manipulators
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 476526a46c5..24e8e665170 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.7 standard basic_ostream manipulators
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 d6feba135f4..55eeb564553 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.7 standard basic_ostream manipulators
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 b79ddce10a4..e94bffa43d7 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.7 standard basic_ostream manipulators
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 e7a7a5447b1..fd7803c0ed2 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <ostream>
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 f8cc446ce93..8c70c912afc 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <ostream>
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 01560589722..d73b2223ab2 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.7 standard basic_ostream manipulators
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 9789d901d5a..e4fbb2b6e43 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.6 Unformatted output functions
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 e434e2351e2..7a5077cceac 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 eaf603144a5..49551112aab 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.7 standard basic_ostream manipulators
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 996941a44e5..21f5b47e05b 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.6 Unformatted output functions
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 41ffc576118..db6c3edd63b 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 cfb2f7be7cf..a8abd97f095 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 a985325c49f..2b7352f306b 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
@@ -18,7 +18,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 58fa6c92cf2..96fa9378b4b 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 77bf3a5a331..a4da5efcadb 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iomanip>
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 68d9e506f9b..00a6a7962aa 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <cstdio> // for sprintf
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 4de6d6e62ca..85cb9ff894b 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <cmath> // for abs
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 07559fe9691..dac5afd4b03 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <cmath> // for abs
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 4382473586e..708054e85ff 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.2 Arithmetic inserters
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 a63710d6956..942f9c49af2 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 9fb887e246f..7be523eccdf 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <locale>
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 88ed30e52e2..f763dea1555 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
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 c0acd07ba3e..9ace46d1ad7 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 d398fdff0f6..0fe94e08d1f 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 0078c71e4d5..394549f0571 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 4ad87a5372b..86e2d06ccb8 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iomanip>
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 e2db338e6a6..cdcdd00f230 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <cstdio> // for swprintf
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 7284c5e9670..b10ad0b1524 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <cmath> // for abs
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 4129ca93325..b25b3f0288d 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <cmath> // for abs
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 87013e7ae7a..32542a32abd 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.2 Arithmetic inserters
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 f2e830b1338..d1ab3651482 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 3c36f0300c1..feefb711c2c 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <locale>
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 6211a9cd421..a24aa9e385f 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 3625e99bc38..25d266f56d9 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 856b955f2ef..80ff29b39cf 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 e2f9861b9ea..cc09c366677 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 4c8de7c625f..8e215a1d8b0 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 b718abfb79a..e963ea30b43 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 0dfd009ab5c..b0c8a886a62 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 1d7a3a2e6ce..1a5f659cb55 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 53701739887..72711ddb3cb 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 f3acc442cae..fbb3d707d3c 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 e434478a874..ed79c23eece 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 2e932753fdb..3a23fe5f496 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 0a0c88d3f5f..aa145d3d072 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 0c38d4ea5d7..b8c01e032d3 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 f93fe260c35..11ea808c254 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 76d20ceb1b3..2295dfe6335 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 a39526b70da..844b838e32c 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 dc0f9dc9b93..e886277b78b 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 50279859505..a726f81f4da 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 596b9ce9c97..58c06b9b5e9 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 4b05cca7433..51b1ec6dd13 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 bc15b5fd9ad..3cfa059d742 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 525c57632f0..81559b38db3 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 cc82e681873..bd6b01d20c5 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 00fef8ac37a..f15e3a12a2d 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 237f4404b8f..a1121143719 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 128f2434d24..43c34022ae7 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 110f6a1bf98..2745cb63f9f 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 4aae9bb316f..88335efdfa9 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.3 basic_ostream manipulator inserters
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 d495e01bf15..8aa982458ee 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 5824caa7dd1..9283400d061 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 6b02aeb1903..8384d1c1190 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 3616f449945..a14d28b15a8 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 b5c235e41c3..6dde99a4057 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 0f7d3fbf142..4283a6145fe 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 3d248bce589..9b44f9e8287 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 88ae7aa3130..f7d8f0dea03 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 978ae203cd8..b8292ff7e2e 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 d43a8876a0a..d74ee5e5f8b 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 049a3b0fe1d..cf2c8bc9f2a 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.4 basic_ostream character inserters
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 99a77dde829..7a4c41dff4c 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.5.3 basic_ostream manipulator inserters
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 3685e1fbcae..919d3ff8331 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 77b784d01d2..cc51e523c68 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 ce4a6d9a730..9c362dfffa2 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 16f37a78907..1f710aa1f6a 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 3620d12e46d..92ae2710a69 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 bd2c7d8017b..84ec9b26a8f 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 d3361077942..3a92b516feb 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 b0b6ca4e018..49525aa6bbb 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.6 Unformatted output functions
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 3dee44f1de1..74cd0c7836c 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.6 Unformatted output functions
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 29d52f19988..7f4cd4c2799 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.4 basic_ostream seek members [lib.ostream.seeks]
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 e0a7071cf31..74ada67cc72 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.4 basic_ostream seek members [lib.ostream.seeks]
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 eda703fb4fd..0518f0f6ea1 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 4143bd0e220..2a698d3d3bb 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.4 basic_ostream seek members [lib.ostream.seeks]
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 e5115994742..8b7e7b4dd1e 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.4 basic_ostream seek members [lib.ostream.seeks]
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 8fbc6e530d3..6e3a169ec3b 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 40cfdb72615..a05500f70cb 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 7e75a15792a..fcddd04e409 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 555c7369d1d..7cad09fa695 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 f56648dc4f7..a8534f72b35 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 35146a0119a..77b1c188082 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 27506636b03..d6f7be727ec 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.4 basic_ostream seek members
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 acdc3b4cc75..76ef2df40ef 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
//
#include <sstream>
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 01d346ab7ba..14fda659c21 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 3f75ce50eba..655dfb4e2fa 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.4 basic_ostream seek members
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 78834b203e0..3ab3b308a8d 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
//
#include <sstream>
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 095fae41aa3..45c365f389a 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 22cd5c01660..b91a09e78e5 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.6 Unformatted output functions
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 e6821013e22..a7dc0539b15 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.2.6 Unformatted output functions
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostringstream/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostringstream/1.cc
index 4fd6be62f8b..fa4ae5edc30 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostringstream/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostringstream/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostringstream/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostringstream/2.cc
index dd0d4c40206..105318941d7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostringstream/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostringstream/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostringstream/3.cc b/libstdc++-v3/testsuite/27_io/basic_ostringstream/3.cc
index 8593d6e6f60..64d84060ed7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostringstream/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostringstream/3.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostringstream/4.cc b/libstdc++-v3/testsuite/27_io/basic_ostringstream/4.cc
index f687b5065ed..5a3c40309ba 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostringstream/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostringstream/4.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
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 37b5da23267..c59431b314b 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.3.2 member functions (ostringstream_members)
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 c763275b1ef..1016652dd70 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.3.2 member functions (ostringstream_members)
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 826ee5ac26b..c57c2d1d0dc 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.3.2 member functions (ostringstream_members)
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 b0d74564305..8bc5a499d86 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.3.2 member functions (ostringstream_members)
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 db3f57860b1..d2889eadc11 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.3.2 member functions (ostringstream_members)
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 b9564ec9dc0..00478c24a6b 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.3.2 member functions (ostringstream_members)
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 b89f07f4181..f5995af2c36 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.3.2 member functions (ostringstream_members)
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 5856302bf9c..e298744bf87 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.3.2 member functions (ostringstream_members)
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/1.cc
index d666528dc67..cf16738dd5b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/2.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/2.cc
index de2930f166b..da7866c8cca 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/3.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/3.cc
index 318ff033ef7..d9960e02d4e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/3.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
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 76a344cfe23..953a2d7adc8 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 1721e4a820a..7c107b72fc5 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 24469ba99de..aa8ce3b5e4e 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <streambuf>
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 a1994017446..0af67c0cd05 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.5.2.4.1 Locales
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 cba068c613e..a11b19797af 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.5.2.4.1 Locales
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 fd151887292..3509dead57f 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
@@ -18,7 +18,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 3f735fdae51..5f59cd4462d 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <streambuf>
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 1e1903a2cd6..e483ea209c6 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.5.2.4.1 Locales
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 fa6cf58dc1d..e58178b360b 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.5.2.4.1 Locales
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 8cf358942cb..f866b259046 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
@@ -18,7 +18,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 ee9a81c816d..38d310fdf8f 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 fd10c0b0d9d..faf7e79b9db 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 d2a42effc6b..cdada7b16d7 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 dbf79bd384a..6bfbbfad97e 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 82040cdf342..3cafbb5d86c 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 0bada3a7357..9240696c83d 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 87a650c7fc6..3d65ee390ce 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 b0dcd1637e2..096860688e7 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 72a67de7135..b4b42edf532 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 1b0137e0db3..ecd9b4c5f04 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 71b7ac6af86..6f7abe94924 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 cc0c6049dd7..f3baf2b62d2 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 e9c6e2aa6a6..204323f740f 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 19e794d1851..bdfe5ced348 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 de849513c01..e2521ec2dde 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 01dc431b10d..cab7f24553d 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 2db39155e4a..1651f3cf98d 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 f3b40500a8a..be50d475953 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 10ffbf2c558..4f6a4915b57 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 d25b015c5a2..fa4a2e0001a 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 9bc2ac00664..33164f1eda2 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 5877cc1be0e..0fdaeb8d14b 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/1.cc
index b80f50a939f..a2da4054d4b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/2.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/2.cc
index c61449943c3..354e2274925 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/2.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1 - Template class basic_stringbuf
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/3.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/3.cc
index 39a5e90e3be..03b410d65a8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/3.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1 - Template class basic_stringbuf
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/4.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/4.cc
index a7c41b9e02c..d9aa34d1e92 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/4.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1 - Template class basic_stringbuf
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/5.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/5.cc
index 792171564cf..b341b09c7c0 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/5.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/5.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1 - Template class basic_stringbuf
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 cf82e029d61..34fa4d6f901 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.1 basic_stringbuf constructors [lib.stringbuf.cons]
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 10abc588786..65d5d4b4d5d 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.1 basic_stringbuf constructors [lib.stringbuf.cons]
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 4ca9a2411ef..17570042e19 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 1db67be2c18..9642e8ec254 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 Overridden virtual functions
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 b12e92d1476..1331ebb1106 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 4bb44aac61d..83d98a3abe0 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 Overridden virtual functions
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 5833c9652c9..f8a6eb35e4c 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 023418cfd64..ba37b3b004a 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 346a4db1baf..87863cd5fd2 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 d1608649b80..10a35185a12 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 basic_stringbuf overridden virtual functions.
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 38b72b51e6e..0a05e80a052 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 ad79cfcac65..75d697dc457 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 f9646cade91..6820578e168 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 7a15c3dbae4..877fab7da35 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 basic_stringbuf overridden virtual functions.
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 324baabf105..618e7f4df20 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 d95ead1d86d..28020835890 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 a156e81a6d7..b90dfb47d2a 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 5e83299384f..0450b0bbe3f 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 Overridden virtual functions [lib.stringbuf.virtuals]
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 832cee608ee..366cd88b62c 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 Overridden virtual functions [lib.stringbuf.virtuals]
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 84ea8727739..1334075d537 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 Overridden virtual functions [lib.stringbuf.virtuals]
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 eb5172fcd47..a9b94fa385a 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 Overridden virtual functions [lib.stringbuf.virtuals]
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 b73bb5d80f7..9fc9a62cfd4 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 d49016af882..55e050b0578 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 c373ceefdd4..fa9dda8a8d8 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 1a874ba1fad..bd7b981b8fd 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 70d2fd6b3af..8c99b890321 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 d97ecc98992..2b0354d6c54 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 Overridden virtual functions
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 8e85a03961f..392cd358287 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 Overridden virtual functions
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 984e6303183..b052c500d36 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 Overridden virtual functions
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 6177140c803..cfdcae0d78c 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 1fef6278eb8..55ed61e56f1 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 Overridden virtual functions
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 6b43b385cd1..c92792233da 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 Overridden virtual functions
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 63a0a2ea865..045d28f89d0 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 Overridden virtual functions
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 2420a80106b..76cbe6cf287 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 7a8389a8b9b..5a901fb09de 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 Overridden virtual functions
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 0e952d755c4..a0321b42546 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 41850d9ea86..31b12c31af4 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 eb82442dd55..7dc45bd5bb7 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 Overridden virtual functions
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 f9fc736a9af..390b59f7102 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 662ba120854..9a8f8c3a257 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 145141e8d67..87baa2dd491 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 02782c526cb..4a406cabea5 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 0449af2e0f2..d6d1a5d4f37 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 4e6d3ea0e82..bd1a50283fa 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 569cec2df39..9e89f700711 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 952fe2c1361..86017e356ff 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 ad78df24b07..c04fb574bab 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 9c925843630..88ff5ae172e 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 38182de709c..6f2a723099d 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 d95f94a5d98..4a2b54821cc 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 8208d6f5c49..b7fda2f15c0 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 310dee1dcaa..ddaa51e5bde 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 eb2c40e2460..3cfaab2362d 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 79ce099bbd0..70bf3d4fbc6 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 6a05d89b10d..8c8f7fcbea8 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 eed6591b24e..fe3eb36e686 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 0ac6d879996..5a784a12457 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.4 Overridden virtual functions
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 241c9b999d1..a1a6fbd0b44 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 d4f005e496c..fa6d58a595e 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 38f7ed92c48..b028410f8d5 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 Overridden virtual functions
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 6c9f2f62ae0..5564a7dbe55 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 3fb14751a8f..b11d4d9a7c5 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 d3da54edf6f..5e17ea39306 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 Overridden virtual functions
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 23948934ff0..b0188a8597d 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 2af2dff8c13..32f70ab4138 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 fe26854c683..ddf3a8598f1 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 Overridden virtual functions
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 e8ec016b511..d495ce22a53 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 7d0b2d56e18..280c8d4e800 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 1c448d1f3a3..5c1d4f5e44e 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.1.3 Overridden virtual functions
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 d788f1274c2..70eaaf8587f 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 f6dda2f19a2..844bdd67bbe 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 038c9a7d884..3eeca611c77 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 82e613d504d..bbd73c0a162 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 cc0e0ab2dcd..86ae58573c3 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 fafd423b681..c80f6f6e8d1 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 3100de7ecbc..e4aba0a5d13 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 c638128d0d2..a6b1fe8dd59 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 1d9effcecc2..bb15f9a15d3 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 f718c2c5d2a..7b6ec203fa5 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <sstream>
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 f33e39aa5f2..dcc17f45774 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 c84e3318d90..9f9112c92bb 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringstream/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringstream/1.cc
index e53b91da148..294e7a2f11a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringstream/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringstream/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringstream/2.cc b/libstdc++-v3/testsuite/27_io/basic_stringstream/2.cc
index b4696156480..97a1ea8c788 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringstream/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringstream/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringstream/3.cc b/libstdc++-v3/testsuite/27_io/basic_stringstream/3.cc
index 896c35c6104..56e7f7a7ba9 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringstream/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringstream/3.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringstream/4.cc b/libstdc++-v3/testsuite/27_io/basic_stringstream/4.cc
index 1f210d78530..43eecf9c709 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringstream/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringstream/4.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.8.1.1 - Template class basic_filebuf
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 7ea26bc4ce5..39759c3899b 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.6 - Member functions [lib.stringstream.members]
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 74b3cb2c879..41187c05b25 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.6 - Member functions [lib.stringstream.members]
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 9ad1f3d230f..37112cc8418 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.6 member functions (stringstream_members)
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 397de5f1b86..9f4ee32f0be 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.6 member functions (stringstream_members)
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 71371d3a9bb..7188cce260c 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.6 member functions (stringstream_members)
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 8dfe9b5d53b..6f801e85dc0 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.6 member functions (stringstream_members)
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 5534a9a783f..f5be647e71d 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.6 member functions (stringstream_members)
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 32ed0e3d66a..637b052f5d3 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.6 member functions (stringstream_members)
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 664a65ef6d2..985bb646861 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.6 member functions (stringstream_members)
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 8c2cffc2ddb..35cb511aff1 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.7.6 member functions (stringstream_members)
diff --git a/libstdc++-v3/testsuite/27_io/fpos/1.cc b/libstdc++-v3/testsuite/27_io/fpos/1.cc
index f96a1bb0b0e..588ac19b1b8 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/1.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/1.cc
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.4.3 fpos
diff --git a/libstdc++-v3/testsuite/27_io/fpos/11450.cc b/libstdc++-v3/testsuite/27_io/fpos/11450.cc
index 18e8765d838..c88609ed433 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/11450.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/11450.cc
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.4.3 fpos
diff --git a/libstdc++-v3/testsuite/27_io/fpos/14252.cc b/libstdc++-v3/testsuite/27_io/fpos/14252.cc
index bc201a213f0..0f4ae0eecb0 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/14252.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/14252.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/fpos/14320-1.cc b/libstdc++-v3/testsuite/27_io/fpos/14320-1.cc
index 71a4d7a5c20..85e1d432eb3 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/14320-1.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/14320-1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.4.3 fpos
diff --git a/libstdc++-v3/testsuite/27_io/fpos/14320-2.cc b/libstdc++-v3/testsuite/27_io/fpos/14320-2.cc
index 868eeefd334..73e255faf11 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/14320-2.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/14320-2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.4.3 fpos
diff --git a/libstdc++-v3/testsuite/27_io/fpos/14320-3.cc b/libstdc++-v3/testsuite/27_io/fpos/14320-3.cc
index 0e83c05b9ca..023c4455a7d 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/14320-3.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/14320-3.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.4.3 fpos
diff --git a/libstdc++-v3/testsuite/27_io/fpos/14320-4.cc b/libstdc++-v3/testsuite/27_io/fpos/14320-4.cc
index 591bb4f7a69..4ad4816c339 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/14320-4.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/14320-4.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.4.3 fpos
diff --git a/libstdc++-v3/testsuite/27_io/fpos/14320-5.cc b/libstdc++-v3/testsuite/27_io/fpos/14320-5.cc
index 7c15620e345..07285803d78 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/14320-5.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/14320-5.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.4.3 fpos
diff --git a/libstdc++-v3/testsuite/27_io/fpos/14775.cc b/libstdc++-v3/testsuite/27_io/fpos/14775.cc
index c8d5b9d6e74..fea1c98f5bc 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/14775.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/14775.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.4.3 fpos
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 dc25b78fa5d..cb07381ea55 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 908d58018b4..224170d1e35 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/12065.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/12065.cc
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.4.3 fpos
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 32699b97e57..134743664b9 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 0458bb6a039..cb0a881c797 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/3.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/3.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 0db4772acd7..19aee3c21d5 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
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.4.3 fpos
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 001d8fab825..8beb34cd55a 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/callbacks/1.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/callbacks/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.4.2.6 ios_base callbacks
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 ea6eb423cec..e7a794fd228 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 2c047a5c3b5..80c33151855 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 0dcae30c218..9f8bdf25ef1 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/state/1.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/state/1.cc
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 71753317202..bff210f60d0 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/storage/1.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/storage/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.4.2.5 ios_base storage functions
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 0df9c0c8b21..a97f2f789cd 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/storage/11584.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/storage/11584.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.4.2.5 ios_base storage functions
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 a5570903ed9..55792fa8a15 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/storage/2.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/storage/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.4.2.5 ios_base storage functions
@@ -25,6 +25,9 @@
// XXX -lmalloc seems to work.
// See http://gcc.gnu.org/ml/gcc/2002-05/msg01012.html
// { dg-options "-lmalloc" { target mips*-*-irix6* } }
+// This fails on Darwin 8 because malloc doesn't return NULL even
+// if an allocation fails (filed as Radar 3884894).
+// { dg-do run { xfail *-*-darwin8* } }
#include <sstream>
#include <iostream>
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 e0d477f716d..2861a7dcfdb 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/storage/3.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/storage/3.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.4.2.5 ios_base storage functions
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 dcc0d5fcab4..b2f0ee1e754 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.4.2.4 ios_base static members
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 8d3826b15a7..3af0dbbcd9b 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.4.2.4 ios_base static members
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 0976192fc9f..51377e6a52f 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
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.4.2.4 ios_base static members
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 f0b3f83b825..83a81b78cf2 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.4.2.4 ios_base static members
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 4f16d15cddb..58bc34ec2a6 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
@@ -15,8 +15,8 @@
// You should have received a copy of the GNU General Public License
// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
+// MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free
// software library without restriction. Specifically, if other files
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 3c4e6af233c..f938021943a 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
@@ -16,8 +16,8 @@
// You should have received a copy of the GNU General Public License
// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
+// MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free
// software library without restriction. Specifically, if other files
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 c8a00a0a272..837065213d3 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
@@ -15,8 +15,8 @@
// You should have received a copy of the GNU General Public License
// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
+// MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free
// software library without restriction. Specifically, if other files
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 51277c9d073..d840a90e1a3 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
@@ -16,8 +16,8 @@
// You should have received a copy of the GNU General Public License
// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
+// MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free
// software library without restriction. Specifically, if other files
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 457b6dd01e1..544a68e2d7e 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
@@ -15,8 +15,8 @@
// You should have received a copy of the GNU General Public License
// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
+// MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free
// software library without restriction. Specifically, if other files
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 42875502451..465a748be99 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
@@ -16,8 +16,8 @@
// You should have received a copy of the GNU General Public License
// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
+// MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free
// software library without restriction. Specifically, if other files
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 076975815e3..29236767c17 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
@@ -16,8 +16,8 @@
// You should have received a copy of the GNU General Public License
// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
+// MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free
// software library without restriction. Specifically, if other files
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 39261268eff..7317d85d965 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/adjustfield/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/adjustfield/char/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 83e6b663352..10cd4dde130 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/adjustfield/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/adjustfield/char/2.cc
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 b153f25de40..78bc007dbff 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 44d5b3285c2..d73c1dafbfc 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 b604ef00173..ca806ff98b4 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/basefield/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/basefield/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 aae1766515c..9944326645a 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 6eaaac8e27e..80023978843 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/standard/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/standard/char/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.3 - Standard manipulators
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 b74e2c4794d..bcae5aab955 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/standard/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/standard/char/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Some members need to be explicitly instantiated, so that users can build
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 29f7770d633..56db3163e82 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.6.3 - Standard manipulators
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 3129d6770a3..71d8f68b73a 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Some members need to be explicitly instantiated, so that users can build
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/1.cc b/libstdc++-v3/testsuite/27_io/objects/char/1.cc
index 78e58cf9bf0..d8d477abefb 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Include all the headers except for iostream.
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/10.cc b/libstdc++-v3/testsuite/27_io/objects/char/10.cc
index ff55907eef0..0c02ccf6727 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/10.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/10.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 7ad336dafe6..70799b24a87 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/12048-1.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/12048-1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 d544d644065..9bc75112b47 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/12048-2.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/12048-2.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 2f69b072233..2232c1802ff 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/12048-3.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/12048-3.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 6c0b28fe4db..d19d02728bf 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/12048-4.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/12048-4.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 884f49e9010..3a230931825 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// DR 49 states that cin.rdbuf()->sbumpc() and fgetc(stdin) should be
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/2.cc b/libstdc++-v3/testsuite/27_io/objects/char/2.cc
index 912d3ccf723..4c4c28b9c28 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 32acbb28b04..68338b4a0ec 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Include all the headers except for iostream.
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 6a2429a65d2..67f67966576 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/3045.cc b/libstdc++-v3/testsuite/27_io/objects/char/3045.cc
index a65eff54b51..1161dcf63ea 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/3045.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/3045.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/3647.cc b/libstdc++-v3/testsuite/27_io/objects/char/3647.cc
index 4cdcc82af4c..2ad0bc99d44 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/3647.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/3647.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 b40b4c41046..a93cf0031f5 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/3_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/3_xin.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 ae0d8638b27..80e8ecb59fe 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/4_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/4_xin.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/5.cc b/libstdc++-v3/testsuite/27_io/objects/char/5.cc
index a5177dc9fe5..c31e23a4f4c 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/5.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/5.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.3 Standard iostream objects
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/5268.cc b/libstdc++-v3/testsuite/27_io/objects/char/5268.cc
index 53641725a0c..285df2d32e1 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/5268.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/5268.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 82830a9b04d..f6afd6e309b 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/5280_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/5280_xin.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/6.cc b/libstdc++-v3/testsuite/27_io/objects/char/6.cc
index df86b33c26a..31921ceb904 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/6.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/6.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.3 Standard iostream objects
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 e29b2082152..087a7ca4c6a 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/6548_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/6548_xin.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 f6d8dd8638b..9008463a074 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 efe4e65bec4..508cd246c1f 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/7.cc b/libstdc++-v3/testsuite/27_io/objects/char/7.cc
index b1b078120c1..646ac666401 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/7.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/7.cc
@@ -18,7 +18,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.3 Standard iostream objects
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 a3dc9805a45..b4c24bd6ae8 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/7744_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/7744_xin.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/8.cc b/libstdc++-v3/testsuite/27_io/objects/char/8.cc
index 7f39c313228..5452fe49d1f 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/8.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/8.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.3 - Standard iostream objects p 2
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/9.cc b/libstdc++-v3/testsuite/27_io/objects/char/9.cc
index ae62173d805..6ad7c47278e 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/9.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/9.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 778490896f9..b6b8b3b478c 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc
@@ -18,7 +18,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <testsuite_hooks.h>
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 f88ab64d621..ba72419346e 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <testsuite_hooks.h>
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 61b654833ab..0d407ef00c8 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Include all the headers except for iostream.
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 757738b7430..0677a43848c 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/10.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/10.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 bcefabf49f7..96beecba8cc 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/11.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/11.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 11d7f263d05..60106508e2d 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <unistd.h>
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 dbdf1d12f7e..183fda95dd3 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 f96302ad292..9c431faaa70 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 568b6a1409a..3f5dfeacb63 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
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 5096cd055e3..bc8d1118b48 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 bc965fd35f9..dd1b38f1ed0 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// DR 49 states that cin.rdbuf()->sbumpc() and fgetc(stdin) should be
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 d74dbead9c4..df9d88a8b46 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/13.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/13.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <unistd.h>
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 008bf7e9399..243a5010de1 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 ed8593242b0..61ed7c7fc81 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 58b1de6db24..1c6636f53a3 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Include all the headers except for iostream.
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 cea4001537a..2078d776894 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 9f266f26bd0..d5f47b5e758 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/3045.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/3045.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 5a00cc8d54d..9605a650f51 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/3647.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/3647.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 83d30f51637..e2129dac7f4 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 b8c650c55c1..856c809298d 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 f7c4339b36d..646a9f0a969 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/5.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.3 Standard iostream objects
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 14051d902f3..3208e8758fb 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/5268.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/5268.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 7fcdf32ccce..3de35b83423 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 6b4e3e252ea..cff0f05c061 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/6.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/6.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.3 Standard iostream objects
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 8bec16fd77e..3948e70fe6a 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 7417f883d10..aad6b7f51aa 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 13cd6a5d423..b8d45b69084 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 9351ca48324..f1078cb7fa7 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/7.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/7.cc
@@ -18,7 +18,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.3 Standard iostream objects
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 0bcb122cd37..77d690369bf 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 b1427f3cf52..bd342662762 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/8.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/8.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.3 - Standard iostream objects p 2
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 2e851d31013..d7bbac28ef6 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/9520.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/9520.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <testsuite_hooks.h>
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 42b167b052a..130af0164be 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
@@ -18,7 +18,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <testsuite_hooks.h>
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 40e2151565f..9cf43fbc1c6 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <testsuite_hooks.h>
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 15d6c513f16..f2f96dd7af9 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/9662.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/9662.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <testsuite_hooks.h>
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 6de8bd26a1a..5abd3f5de9e 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
diff --git a/libstdc++-v3/testsuite/27_io/types/1.cc b/libstdc++-v3/testsuite/27_io/types/1.cc
index ce275a5d209..276c99c7fd3 100644
--- a/libstdc++-v3/testsuite/27_io/types/1.cc
+++ b/libstdc++-v3/testsuite/27_io/types/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.4.2.1 - Types [lib.ios.types]
diff --git a/libstdc++-v3/testsuite/27_io/types/2.cc b/libstdc++-v3/testsuite/27_io/types/2.cc
index 106c8f1e9d0..3ff6d77b8fc 100644
--- a/libstdc++-v3/testsuite/27_io/types/2.cc
+++ b/libstdc++-v3/testsuite/27_io/types/2.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.4.2.1 - Types [lib.ios.types]
diff --git a/libstdc++-v3/testsuite/27_io/types/3.cc b/libstdc++-v3/testsuite/27_io/types/3.cc
index 40ea32b6399..84e911d9c31 100644
--- a/libstdc++-v3/testsuite/27_io/types/3.cc
+++ b/libstdc++-v3/testsuite/27_io/types/3.cc
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 27.4.3 streamoff
diff --git a/libstdc++-v3/testsuite/Makefile.am b/libstdc++-v3/testsuite/Makefile.am
index 4924afaf406..0fc66e5ab9f 100644
--- a/libstdc++-v3/testsuite/Makefile.am
+++ b/libstdc++-v3/testsuite/Makefile.am
@@ -18,7 +18,7 @@
## You should have received a copy of the GNU General Public License along
## with this library; see the file COPYING. If not, write to the Free
-## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+## Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
## USA.
AUTOMAKE_OPTIONS = dejagnu nostdinc
diff --git a/libstdc++-v3/testsuite/Makefile.in b/libstdc++-v3/testsuite/Makefile.in
index 91e1874ebab..68040f28d6f 100644
--- a/libstdc++-v3/testsuite/Makefile.in
+++ b/libstdc++-v3/testsuite/Makefile.in
@@ -2,7 +2,7 @@
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004 Free Software Foundation, Inc.
+# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -101,14 +101,16 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_SYMVERS_DARWIN_EXPORT_FALSE = @ENABLE_SYMVERS_DARWIN_EXPORT_FALSE@
+ENABLE_SYMVERS_DARWIN_EXPORT_TRUE = @ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@
+ENABLE_SYMVERS_GNU_FALSE = @ENABLE_SYMVERS_GNU_FALSE@
+ENABLE_SYMVERS_GNU_TRUE = @ENABLE_SYMVERS_GNU_TRUE@
EXEEXT = @EXEEXT@
EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
GLIBCXX_BUILD_DEBUG_FALSE = @GLIBCXX_BUILD_DEBUG_FALSE@
GLIBCXX_BUILD_DEBUG_TRUE = @GLIBCXX_BUILD_DEBUG_TRUE@
GLIBCXX_BUILD_PCH_FALSE = @GLIBCXX_BUILD_PCH_FALSE@
GLIBCXX_BUILD_PCH_TRUE = @GLIBCXX_BUILD_PCH_TRUE@
-GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE = @GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE@
-GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE = @GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@
GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE = @GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE@
GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE = @GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE@
GLIBCXX_C_HEADERS_C_FALSE = @GLIBCXX_C_HEADERS_C_FALSE@
diff --git a/libstdc++-v3/testsuite/backward/11460.cc b/libstdc++-v3/testsuite/backward/11460.cc
index 25bcddd0a82..8d1ec23380b 100644
--- a/libstdc++-v3/testsuite/backward/11460.cc
+++ b/libstdc++-v3/testsuite/backward/11460.cc
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <strstream>
diff --git a/libstdc++-v3/testsuite/backward/header_deque_h.cc b/libstdc++-v3/testsuite/backward/header_deque_h.cc
index 3e18dfdbccf..d3a7f2b0b1c 100644
--- a/libstdc++-v3/testsuite/backward/header_deque_h.cc
+++ b/libstdc++-v3/testsuite/backward/header_deque_h.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// backward header deque.h
diff --git a/libstdc++-v3/testsuite/backward/header_hash_map_h.cc b/libstdc++-v3/testsuite/backward/header_hash_map_h.cc
index dfae6081bba..cede092eeb4 100644
--- a/libstdc++-v3/testsuite/backward/header_hash_map_h.cc
+++ b/libstdc++-v3/testsuite/backward/header_hash_map_h.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// backward header hash_map.h
diff --git a/libstdc++-v3/testsuite/backward/header_hash_set_h.cc b/libstdc++-v3/testsuite/backward/header_hash_set_h.cc
index bb0882a35cc..7d32b03ed89 100644
--- a/libstdc++-v3/testsuite/backward/header_hash_set_h.cc
+++ b/libstdc++-v3/testsuite/backward/header_hash_set_h.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// backward header hash_set.h
diff --git a/libstdc++-v3/testsuite/backward/header_hashtable_h.cc b/libstdc++-v3/testsuite/backward/header_hashtable_h.cc
index e407e1a48ab..4184f11014f 100644
--- a/libstdc++-v3/testsuite/backward/header_hashtable_h.cc
+++ b/libstdc++-v3/testsuite/backward/header_hashtable_h.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// backward header hashtable.h
diff --git a/libstdc++-v3/testsuite/backward/header_iterator_h.cc b/libstdc++-v3/testsuite/backward/header_iterator_h.cc
index 319d9968948..4f301bbb5ff 100644
--- a/libstdc++-v3/testsuite/backward/header_iterator_h.cc
+++ b/libstdc++-v3/testsuite/backward/header_iterator_h.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// backward header iterator.h
diff --git a/libstdc++-v3/testsuite/backward/header_rope_h.cc b/libstdc++-v3/testsuite/backward/header_rope_h.cc
index 1bb94f19a7e..19edfbbffca 100644
--- a/libstdc++-v3/testsuite/backward/header_rope_h.cc
+++ b/libstdc++-v3/testsuite/backward/header_rope_h.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// backward header rope.h
diff --git a/libstdc++-v3/testsuite/backward/header_slist_h.cc b/libstdc++-v3/testsuite/backward/header_slist_h.cc
index 7d76d2aae80..3a59789061f 100644
--- a/libstdc++-v3/testsuite/backward/header_slist_h.cc
+++ b/libstdc++-v3/testsuite/backward/header_slist_h.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// backward header slist.h
diff --git a/libstdc++-v3/testsuite/backward/header_tempbuf_h.cc b/libstdc++-v3/testsuite/backward/header_tempbuf_h.cc
index 16a6491a326..4b177b2ac5a 100644
--- a/libstdc++-v3/testsuite/backward/header_tempbuf_h.cc
+++ b/libstdc++-v3/testsuite/backward/header_tempbuf_h.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// backward header tempbuf.h
diff --git a/libstdc++-v3/testsuite/backward/strstream_members.cc b/libstdc++-v3/testsuite/backward/strstream_members.cc
index 9ce059d297d..7d8b3eddf7a 100644
--- a/libstdc++-v3/testsuite/backward/strstream_members.cc
+++ b/libstdc++-v3/testsuite/backward/strstream_members.cc
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// backward strstream members
diff --git a/libstdc++-v3/testsuite/config/default.exp b/libstdc++-v3/testsuite/config/default.exp
index 2b2444fff52..1c643f66f9a 100644
--- a/libstdc++-v3/testsuite/config/default.exp
+++ b/libstdc++-v3/testsuite/config/default.exp
@@ -14,7 +14,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# This file is loaded only if a target-specific file or OS-specific file
diff --git a/libstdc++-v3/testsuite/data/filebuf_virtuals-1.tst b/libstdc++-v3/testsuite/data/filebuf_virtuals-1.tst
index cb3c57f7dfd..57a6dab06ca 100644
--- a/libstdc++-v3/testsuite/data/filebuf_virtuals-1.tst
+++ b/libstdc++-v3/testsuite/data/filebuf_virtuals-1.tst
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
/mnt/cdrom/sarah_vaughan/sarah_vaughan.allofme
diff --git a/libstdc++-v3/testsuite/data/filebuf_virtuals-1.txt b/libstdc++-v3/testsuite/data/filebuf_virtuals-1.txt
index cb3c57f7dfd..57a6dab06ca 100644
--- a/libstdc++-v3/testsuite/data/filebuf_virtuals-1.txt
+++ b/libstdc++-v3/testsuite/data/filebuf_virtuals-1.txt
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
/mnt/cdrom/sarah_vaughan/sarah_vaughan.allofme
diff --git a/libstdc++-v3/testsuite/data/istream_extractor_other-1.tst b/libstdc++-v3/testsuite/data/istream_extractor_other-1.tst
index 717a04c5f4d..f96f60ad350 100644
--- a/libstdc++-v3/testsuite/data/istream_extractor_other-1.tst
+++ b/libstdc++-v3/testsuite/data/istream_extractor_other-1.tst
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
/mnt/cdrom/yabbyyou_jesusdread/disk_2/King Tubby's - Repatriation
diff --git a/libstdc++-v3/testsuite/data/istream_extractor_other-1.txt b/libstdc++-v3/testsuite/data/istream_extractor_other-1.txt
index 717a04c5f4d..f96f60ad350 100644
--- a/libstdc++-v3/testsuite/data/istream_extractor_other-1.txt
+++ b/libstdc++-v3/testsuite/data/istream_extractor_other-1.txt
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
/mnt/cdrom/yabbyyou_jesusdread/disk_2/King Tubby's - Repatriation
diff --git a/libstdc++-v3/testsuite/data/istream_extractor_other-2.tst b/libstdc++-v3/testsuite/data/istream_extractor_other-2.tst
index 717a04c5f4d..f96f60ad350 100644
--- a/libstdc++-v3/testsuite/data/istream_extractor_other-2.tst
+++ b/libstdc++-v3/testsuite/data/istream_extractor_other-2.tst
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
/mnt/cdrom/yabbyyou_jesusdread/disk_2/King Tubby's - Repatriation
diff --git a/libstdc++-v3/testsuite/data/ostream_inserter_other-1.tst b/libstdc++-v3/testsuite/data/ostream_inserter_other-1.tst
index cb3c57f7dfd..57a6dab06ca 100644
--- a/libstdc++-v3/testsuite/data/ostream_inserter_other-1.tst
+++ b/libstdc++-v3/testsuite/data/ostream_inserter_other-1.tst
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
/mnt/cdrom/sarah_vaughan/sarah_vaughan.allofme
diff --git a/libstdc++-v3/testsuite/data/ostream_inserter_other-2.tst b/libstdc++-v3/testsuite/data/ostream_inserter_other-2.tst
index cb3c57f7dfd..57a6dab06ca 100644
--- a/libstdc++-v3/testsuite/data/ostream_inserter_other-2.tst
+++ b/libstdc++-v3/testsuite/data/ostream_inserter_other-2.tst
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
/mnt/cdrom/sarah_vaughan/sarah_vaughan.allofme
diff --git a/libstdc++-v3/testsuite/data/wistream_extractor_other-1.tst b/libstdc++-v3/testsuite/data/wistream_extractor_other-1.tst
index 717a04c5f4d..f96f60ad350 100644
--- a/libstdc++-v3/testsuite/data/wistream_extractor_other-1.tst
+++ b/libstdc++-v3/testsuite/data/wistream_extractor_other-1.tst
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
/mnt/cdrom/yabbyyou_jesusdread/disk_2/King Tubby's - Repatriation
diff --git a/libstdc++-v3/testsuite/data/wistream_extractor_other-1.txt b/libstdc++-v3/testsuite/data/wistream_extractor_other-1.txt
index 717a04c5f4d..f96f60ad350 100644
--- a/libstdc++-v3/testsuite/data/wistream_extractor_other-1.txt
+++ b/libstdc++-v3/testsuite/data/wistream_extractor_other-1.txt
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
/mnt/cdrom/yabbyyou_jesusdread/disk_2/King Tubby's - Repatriation
diff --git a/libstdc++-v3/testsuite/data/wistream_extractor_other-2.tst b/libstdc++-v3/testsuite/data/wistream_extractor_other-2.tst
index 717a04c5f4d..f96f60ad350 100644
--- a/libstdc++-v3/testsuite/data/wistream_extractor_other-2.tst
+++ b/libstdc++-v3/testsuite/data/wistream_extractor_other-2.tst
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
/mnt/cdrom/yabbyyou_jesusdread/disk_2/King Tubby's - Repatriation
diff --git a/libstdc++-v3/testsuite/data/wostream_inserter_other-1.tst b/libstdc++-v3/testsuite/data/wostream_inserter_other-1.tst
index cb3c57f7dfd..57a6dab06ca 100644
--- a/libstdc++-v3/testsuite/data/wostream_inserter_other-1.tst
+++ b/libstdc++-v3/testsuite/data/wostream_inserter_other-1.tst
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
/mnt/cdrom/sarah_vaughan/sarah_vaughan.allofme
diff --git a/libstdc++-v3/testsuite/data/wostream_inserter_other-2.tst b/libstdc++-v3/testsuite/data/wostream_inserter_other-2.tst
index cb3c57f7dfd..57a6dab06ca 100644
--- a/libstdc++-v3/testsuite/data/wostream_inserter_other-2.tst
+++ b/libstdc++-v3/testsuite/data/wostream_inserter_other-2.tst
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
/mnt/cdrom/sarah_vaughan/sarah_vaughan.allofme
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/01.cc b/libstdc++-v3/testsuite/demangle/abi_examples/01.cc
index 3e26eb9a659..85cb59d428d 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/01.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/01.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/02.cc b/libstdc++-v3/testsuite/demangle/abi_examples/02.cc
index 094b777f45f..408d6ae419a 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/02.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/02.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/03.cc b/libstdc++-v3/testsuite/demangle/abi_examples/03.cc
index a33fe48e4f9..70673a9a796 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/03.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/03.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/04.cc b/libstdc++-v3/testsuite/demangle/abi_examples/04.cc
index 0c8e9da6cc9..9cf22cfa3ef 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/04.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/04.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/05.cc b/libstdc++-v3/testsuite/demangle/abi_examples/05.cc
index 673a773d115..293bbd4354d 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/05.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/05.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/06.cc b/libstdc++-v3/testsuite/demangle/abi_examples/06.cc
index a016170a866..3fb40043fcc 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/06.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/06.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/07.cc b/libstdc++-v3/testsuite/demangle/abi_examples/07.cc
index b6943f222c3..40a6c5cef8e 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/07.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/07.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/08.cc b/libstdc++-v3/testsuite/demangle/abi_examples/08.cc
index 66b8dcb3e1c..087cfd58621 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/08.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/08.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/09.cc b/libstdc++-v3/testsuite/demangle/abi_examples/09.cc
index c014936f3ca..3242cb541b1 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/09.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/09.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/10.cc b/libstdc++-v3/testsuite/demangle/abi_examples/10.cc
index d639ca826b9..a47c9235462 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/10.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/10.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/11.cc b/libstdc++-v3/testsuite/demangle/abi_examples/11.cc
index abf547cc7bb..2b1f3b6a1b1 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/11.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/11.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/12.cc b/libstdc++-v3/testsuite/demangle/abi_examples/12.cc
index f0460fa4096..60b299f4aa6 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/12.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/12.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/13.cc b/libstdc++-v3/testsuite/demangle/abi_examples/13.cc
index 79240561a1c..9c17340d9b7 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/13.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/13.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/14.cc b/libstdc++-v3/testsuite/demangle/abi_examples/14.cc
index 26cf382374f..fe6879c1034 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/14.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/14.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/15.cc b/libstdc++-v3/testsuite/demangle/abi_examples/15.cc
index 0adb9a20a23..9fcb64aa1e7 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/15.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/15.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/16.cc b/libstdc++-v3/testsuite/demangle/abi_examples/16.cc
index c13cf6cbc05..d3732ead390 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/16.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/16.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/17.cc b/libstdc++-v3/testsuite/demangle/abi_examples/17.cc
index dd9bc7815f2..29274b2fee9 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/17.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/17.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/18.cc b/libstdc++-v3/testsuite/demangle/abi_examples/18.cc
index 3989da573b6..526b1d8d1b8 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/18.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/18.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/19.cc b/libstdc++-v3/testsuite/demangle/abi_examples/19.cc
index 21d18342bf3..2d6ae3d00fb 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/19.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/19.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/20.cc b/libstdc++-v3/testsuite/demangle/abi_examples/20.cc
index a528b4318a6..eaa5db0430f 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/20.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/20.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/21.cc b/libstdc++-v3/testsuite/demangle/abi_examples/21.cc
index ad186115596..d4c69a91005 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/21.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/21.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/22.cc b/libstdc++-v3/testsuite/demangle/abi_examples/22.cc
index ad186115596..d4c69a91005 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/22.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/22.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/23.cc b/libstdc++-v3/testsuite/demangle/abi_examples/23.cc
index 4e3961afd08..57659fb0cd7 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/23.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/23.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/24.cc b/libstdc++-v3/testsuite/demangle/abi_examples/24.cc
index 888d5eb1729..5be5266a132 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/24.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/24.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/25.cc b/libstdc++-v3/testsuite/demangle/abi_examples/25.cc
index 3bb2b3f19fe..3a3c019b22b 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/25.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/25.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/26.cc b/libstdc++-v3/testsuite/demangle/abi_examples/26.cc
index 6f7f83e589c..783eafa3787 100644
--- a/libstdc++-v3/testsuite/demangle/abi_examples/26.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_examples/26.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/01.cc b/libstdc++-v3/testsuite/demangle/abi_text/01.cc
index 5563d5093f7..70da290442b 100644
--- a/libstdc++-v3/testsuite/demangle/abi_text/01.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_text/01.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/02.cc b/libstdc++-v3/testsuite/demangle/abi_text/02.cc
index aedf031c6b9..28a617aef7d 100644
--- a/libstdc++-v3/testsuite/demangle/abi_text/02.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_text/02.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/03.cc b/libstdc++-v3/testsuite/demangle/abi_text/03.cc
index c880ae12b50..deca8721dbf 100644
--- a/libstdc++-v3/testsuite/demangle/abi_text/03.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_text/03.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/04.cc b/libstdc++-v3/testsuite/demangle/abi_text/04.cc
index 2a7c8f6a2be..073240bd96b 100644
--- a/libstdc++-v3/testsuite/demangle/abi_text/04.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_text/04.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/05.cc b/libstdc++-v3/testsuite/demangle/abi_text/05.cc
index 4dec5d3b8eb..5b94fd80859 100644
--- a/libstdc++-v3/testsuite/demangle/abi_text/05.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_text/05.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/06.cc b/libstdc++-v3/testsuite/demangle/abi_text/06.cc
index 1dc2d4f804c..caf11256ded 100644
--- a/libstdc++-v3/testsuite/demangle/abi_text/06.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_text/06.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/07.cc b/libstdc++-v3/testsuite/demangle/abi_text/07.cc
index 3502e2ea629..6c3285a84f1 100644
--- a/libstdc++-v3/testsuite/demangle/abi_text/07.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_text/07.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/08.cc b/libstdc++-v3/testsuite/demangle/abi_text/08.cc
index 00398478fb2..ff7e8bb1f3a 100644
--- a/libstdc++-v3/testsuite/demangle/abi_text/08.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_text/08.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/09.cc b/libstdc++-v3/testsuite/demangle/abi_text/09.cc
index 97b2c64a286..67abf85a660 100644
--- a/libstdc++-v3/testsuite/demangle/abi_text/09.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_text/09.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/10.cc b/libstdc++-v3/testsuite/demangle/abi_text/10.cc
index de44769d85f..f9c651f1f8d 100644
--- a/libstdc++-v3/testsuite/demangle/abi_text/10.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_text/10.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/11.cc b/libstdc++-v3/testsuite/demangle/abi_text/11.cc
index aa349f578c8..8c458e91414 100644
--- a/libstdc++-v3/testsuite/demangle/abi_text/11.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_text/11.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/12.cc b/libstdc++-v3/testsuite/demangle/abi_text/12.cc
index d19317ce03a..4db3df44f62 100644
--- a/libstdc++-v3/testsuite/demangle/abi_text/12.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_text/12.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/13.cc b/libstdc++-v3/testsuite/demangle/abi_text/13.cc
index da765f078c0..5b6f64afc71 100644
--- a/libstdc++-v3/testsuite/demangle/abi_text/13.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_text/13.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/14.cc b/libstdc++-v3/testsuite/demangle/abi_text/14.cc
index 9cd854a8771..cde1cbf28d2 100644
--- a/libstdc++-v3/testsuite/demangle/abi_text/14.cc
+++ b/libstdc++-v3/testsuite/demangle/abi_text/14.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/3111-1.cc b/libstdc++-v3/testsuite/demangle/regression/3111-1.cc
index 38a27ece499..f21aed06fdc 100644
--- a/libstdc++-v3/testsuite/demangle/regression/3111-1.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/3111-1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/3111-2.cc b/libstdc++-v3/testsuite/demangle/regression/3111-2.cc
index 24e03ea07fc..725cc55f16c 100644
--- a/libstdc++-v3/testsuite/demangle/regression/3111-2.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/3111-2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-01.cc b/libstdc++-v3/testsuite/demangle/regression/7986-01.cc
index 46551e77fc7..67eeb67c64e 100644
--- a/libstdc++-v3/testsuite/demangle/regression/7986-01.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/7986-01.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-02.cc b/libstdc++-v3/testsuite/demangle/regression/7986-02.cc
index 7a10b0fd982..4d9e3ad9ed6 100644
--- a/libstdc++-v3/testsuite/demangle/regression/7986-02.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/7986-02.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-03.cc b/libstdc++-v3/testsuite/demangle/regression/7986-03.cc
index 02fc75b3e74..c4da14d780f 100644
--- a/libstdc++-v3/testsuite/demangle/regression/7986-03.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/7986-03.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-04.cc b/libstdc++-v3/testsuite/demangle/regression/7986-04.cc
index 5c4acbf1b22..46507944df9 100644
--- a/libstdc++-v3/testsuite/demangle/regression/7986-04.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/7986-04.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-05.cc b/libstdc++-v3/testsuite/demangle/regression/7986-05.cc
index e1216fc6376..4ca3eb4f9c0 100644
--- a/libstdc++-v3/testsuite/demangle/regression/7986-05.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/7986-05.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-06.cc b/libstdc++-v3/testsuite/demangle/regression/7986-06.cc
index 12c0d8b08e6..04881ebc9df 100644
--- a/libstdc++-v3/testsuite/demangle/regression/7986-06.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/7986-06.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-07.cc b/libstdc++-v3/testsuite/demangle/regression/7986-07.cc
index e0352567b00..45ebff7b61e 100644
--- a/libstdc++-v3/testsuite/demangle/regression/7986-07.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/7986-07.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-08.cc b/libstdc++-v3/testsuite/demangle/regression/7986-08.cc
index a6a01cc32d5..148add2d21e 100644
--- a/libstdc++-v3/testsuite/demangle/regression/7986-08.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/7986-08.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-09.cc b/libstdc++-v3/testsuite/demangle/regression/7986-09.cc
index aef3ae2f6df..7ac3ac0f3b7 100644
--- a/libstdc++-v3/testsuite/demangle/regression/7986-09.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/7986-09.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-10.cc b/libstdc++-v3/testsuite/demangle/regression/7986-10.cc
index 9833b7233db..592a9fda9cc 100644
--- a/libstdc++-v3/testsuite/demangle/regression/7986-10.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/7986-10.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-11.cc b/libstdc++-v3/testsuite/demangle/regression/7986-11.cc
index d2076ac58e3..34bc8835861 100644
--- a/libstdc++-v3/testsuite/demangle/regression/7986-11.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/7986-11.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-12.cc b/libstdc++-v3/testsuite/demangle/regression/7986-12.cc
index 97e76cc9af7..819a915726c 100644
--- a/libstdc++-v3/testsuite/demangle/regression/7986-12.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/7986-12.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986.cc b/libstdc++-v3/testsuite/demangle/regression/7986.cc
index 42f2139089b..7cea89643ef 100644
--- a/libstdc++-v3/testsuite/demangle/regression/7986.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/7986.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/8897.cc b/libstdc++-v3/testsuite/demangle/regression/8897.cc
index ed68f33314d..1a7e54532cb 100644
--- a/libstdc++-v3/testsuite/demangle/regression/8897.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/8897.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-01.cc b/libstdc++-v3/testsuite/demangle/regression/cw-01.cc
index 3a8dbc2e8e0..920c14d878d 100644
--- a/libstdc++-v3/testsuite/demangle/regression/cw-01.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/cw-01.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-02.cc b/libstdc++-v3/testsuite/demangle/regression/cw-02.cc
index 51f3807b186..b38c323eca1 100644
--- a/libstdc++-v3/testsuite/demangle/regression/cw-02.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/cw-02.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-03.cc b/libstdc++-v3/testsuite/demangle/regression/cw-03.cc
index ca846b9bc7e..710dea6d7bf 100644
--- a/libstdc++-v3/testsuite/demangle/regression/cw-03.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/cw-03.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-04.cc b/libstdc++-v3/testsuite/demangle/regression/cw-04.cc
index 27eb55854af..8a524f3480c 100644
--- a/libstdc++-v3/testsuite/demangle/regression/cw-04.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/cw-04.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-05.cc b/libstdc++-v3/testsuite/demangle/regression/cw-05.cc
index 5c9e25f4a50..2b776853346 100644
--- a/libstdc++-v3/testsuite/demangle/regression/cw-05.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/cw-05.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-06.cc b/libstdc++-v3/testsuite/demangle/regression/cw-06.cc
index 943a7163732..a131d4c5f5c 100644
--- a/libstdc++-v3/testsuite/demangle/regression/cw-06.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/cw-06.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-07.cc b/libstdc++-v3/testsuite/demangle/regression/cw-07.cc
index a34e6f87ffe..da278ac6c16 100644
--- a/libstdc++-v3/testsuite/demangle/regression/cw-07.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/cw-07.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-08.cc b/libstdc++-v3/testsuite/demangle/regression/cw-08.cc
index 5bd2cf2892a..01a29c0db9c 100644
--- a/libstdc++-v3/testsuite/demangle/regression/cw-08.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/cw-08.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-09.cc b/libstdc++-v3/testsuite/demangle/regression/cw-09.cc
index 3da7fe861c0..2e48a63efd5 100644
--- a/libstdc++-v3/testsuite/demangle/regression/cw-09.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/cw-09.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-10.cc b/libstdc++-v3/testsuite/demangle/regression/cw-10.cc
index c4efcd30bf1..61fe7c9e8e4 100644
--- a/libstdc++-v3/testsuite/demangle/regression/cw-10.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/cw-10.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-11.cc b/libstdc++-v3/testsuite/demangle/regression/cw-11.cc
index 6fef1314d99..fbb869e8487 100644
--- a/libstdc++-v3/testsuite/demangle/regression/cw-11.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/cw-11.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-12.cc b/libstdc++-v3/testsuite/demangle/regression/cw-12.cc
index 8838a8a1c2b..84667159378 100644
--- a/libstdc++-v3/testsuite/demangle/regression/cw-12.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/cw-12.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-13.cc b/libstdc++-v3/testsuite/demangle/regression/cw-13.cc
index 606eb9c257d..ae621f0bfd1 100644
--- a/libstdc++-v3/testsuite/demangle/regression/cw-13.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/cw-13.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-14.cc b/libstdc++-v3/testsuite/demangle/regression/cw-14.cc
index 84b6532d372..aa250f0d4af 100644
--- a/libstdc++-v3/testsuite/demangle/regression/cw-14.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/cw-14.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-15.cc b/libstdc++-v3/testsuite/demangle/regression/cw-15.cc
index f65840b8d13..cca8e96c0f0 100644
--- a/libstdc++-v3/testsuite/demangle/regression/cw-15.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/cw-15.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-16.cc b/libstdc++-v3/testsuite/demangle/regression/cw-16.cc
index 78ae363a62b..0c8c29f28af 100644
--- a/libstdc++-v3/testsuite/demangle/regression/cw-16.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/cw-16.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/demangle/regression/old.cc b/libstdc++-v3/testsuite/demangle/regression/old.cc
index d9313f9fd45..736ede7a70e 100644
--- a/libstdc++-v3/testsuite/demangle/regression/old.cc
+++ b/libstdc++-v3/testsuite/demangle/regression/old.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/1.cc b/libstdc++-v3/testsuite/ext/array_allocator/1.cc
index e0ea6f5ab13..84a6c197ec8 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/1.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/2.cc b/libstdc++-v3/testsuite/ext/array_allocator/2.cc
index f580ea250b7..79f8c539913 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/2.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/2.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/3.cc b/libstdc++-v3/testsuite/ext/array_allocator/3.cc
index 97ffbb467c5..c9fa348a537 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/3.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/3.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 4225ee2ed84..8f1fcf37918 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
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
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 9d743a19178..088c712b620 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/check_deallocate_null.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/check_deallocate_null.cc
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/check_delete.cc b/libstdc++-v3/testsuite/ext/array_allocator/check_delete.cc
index fa35f33afbd..41842ffec77 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/check_delete.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/check_delete.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/check_new.cc b/libstdc++-v3/testsuite/ext/array_allocator/check_new.cc
index 59789049298..63753e41bc2 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/check_new.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/check_new.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
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 37843756bc1..3aaf9bf68b6 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
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
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 9d7ae98dce0..46e8e62ff89 100644
--- a/libstdc++-v3/testsuite/ext/bitmap_allocator/check_deallocate_null.cc
+++ b/libstdc++-v3/testsuite/ext/bitmap_allocator/check_deallocate_null.cc
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/bitmap_allocator/check_delete.cc b/libstdc++-v3/testsuite/ext/bitmap_allocator/check_delete.cc
index 4996b14097f..abbac848073 100644
--- a/libstdc++-v3/testsuite/ext/bitmap_allocator/check_delete.cc
+++ b/libstdc++-v3/testsuite/ext/bitmap_allocator/check_delete.cc
@@ -13,7 +13,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/bitmap_allocator/check_new.cc b/libstdc++-v3/testsuite/ext/bitmap_allocator/check_new.cc
index a37dbdb754c..fac7d501d71 100644
--- a/libstdc++-v3/testsuite/ext/bitmap_allocator/check_new.cc
+++ b/libstdc++-v3/testsuite/ext/bitmap_allocator/check_new.cc
@@ -13,7 +13,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/concept_checks.cc b/libstdc++-v3/testsuite/ext/concept_checks.cc
index 644caf4f323..9a885a2bf8d 100644
--- a/libstdc++-v3/testsuite/ext/concept_checks.cc
+++ b/libstdc++-v3/testsuite/ext/concept_checks.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Concept checking must remain sane.
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 dd9d28114d5..b3978290ecf 100644
--- a/libstdc++-v3/testsuite/ext/debug_allocator/check_deallocate_null.cc
+++ b/libstdc++-v3/testsuite/ext/debug_allocator/check_deallocate_null.cc
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/debug_allocator/check_delete.cc b/libstdc++-v3/testsuite/ext/debug_allocator/check_delete.cc
index 25cf731cd2b..b93b9fde54e 100644
--- a/libstdc++-v3/testsuite/ext/debug_allocator/check_delete.cc
+++ b/libstdc++-v3/testsuite/ext/debug_allocator/check_delete.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/debug_allocator/check_new.cc b/libstdc++-v3/testsuite/ext/debug_allocator/check_new.cc
index 3fe45989076..cf8be328f74 100644
--- a/libstdc++-v3/testsuite/ext/debug_allocator/check_new.cc
+++ b/libstdc++-v3/testsuite/ext/debug_allocator/check_new.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/debug_allocator/instantiate.cc b/libstdc++-v3/testsuite/ext/debug_allocator/instantiate.cc
index 1e7b9f86948..74731df342a 100644
--- a/libstdc++-v3/testsuite/ext/debug_allocator/instantiate.cc
+++ b/libstdc++-v3/testsuite/ext/debug_allocator/instantiate.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/enc_filebuf/char/13189.cc b/libstdc++-v3/testsuite/ext/enc_filebuf/char/13189.cc
index 0072dad881d..2807d469ee6 100644
--- a/libstdc++-v3/testsuite/ext/enc_filebuf/char/13189.cc
+++ b/libstdc++-v3/testsuite/ext/enc_filebuf/char/13189.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc b/libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc
index 70f83e1bda3..f7cd9b540b3 100644
--- a/libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc
+++ b/libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <locale>
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 e2cd94dade2..a74c846b189 100644
--- a/libstdc++-v3/testsuite/ext/enc_filebuf/wchar_t/13189.cc
+++ b/libstdc++-v3/testsuite/ext/enc_filebuf/wchar_t/13189.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/ext/hash_map/1.cc b/libstdc++-v3/testsuite/ext/hash_map/1.cc
index 1b5d6f0ed91..af018fca187 100644
--- a/libstdc++-v3/testsuite/ext/hash_map/1.cc
+++ b/libstdc++-v3/testsuite/ext/hash_map/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// hash_map (SGI extension)
diff --git a/libstdc++-v3/testsuite/ext/hash_map/14648.cc b/libstdc++-v3/testsuite/ext/hash_map/14648.cc
index e54e2f87e69..e78e1c0b76f 100644
--- a/libstdc++-v3/testsuite/ext/hash_map/14648.cc
+++ b/libstdc++-v3/testsuite/ext/hash_map/14648.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
diff --git a/libstdc++-v3/testsuite/ext/hash_map/instantiate.cc b/libstdc++-v3/testsuite/ext/hash_map/instantiate.cc
index c7a11bef299..85f1ba258e4 100644
--- a/libstdc++-v3/testsuite/ext/hash_map/instantiate.cc
+++ b/libstdc++-v3/testsuite/ext/hash_map/instantiate.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/hash_set/1.cc b/libstdc++-v3/testsuite/ext/hash_set/1.cc
index afc7caec05b..da1617cd9ff 100644
--- a/libstdc++-v3/testsuite/ext/hash_set/1.cc
+++ b/libstdc++-v3/testsuite/ext/hash_set/1.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// hash_set (SGI extension)
diff --git a/libstdc++-v3/testsuite/ext/hash_set/check_construct_destroy.cc b/libstdc++-v3/testsuite/ext/hash_set/check_construct_destroy.cc
index d95273e26e6..1081e53a344 100644
--- a/libstdc++-v3/testsuite/ext/hash_set/check_construct_destroy.cc
+++ b/libstdc++-v3/testsuite/ext/hash_set/check_construct_destroy.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/hash_set/instantiate.cc b/libstdc++-v3/testsuite/ext/hash_set/instantiate.cc
index e59a1525008..9d6f398d4a9 100644
--- a/libstdc++-v3/testsuite/ext/hash_set/instantiate.cc
+++ b/libstdc++-v3/testsuite/ext/hash_set/instantiate.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/headers.cc b/libstdc++-v3/testsuite/ext/headers.cc
index 5315f96a238..ec95fb95264 100644
--- a/libstdc++-v3/testsuite/ext/headers.cc
+++ b/libstdc++-v3/testsuite/ext/headers.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// extension headers
diff --git a/libstdc++-v3/testsuite/ext/is_heap/1.cc b/libstdc++-v3/testsuite/ext/is_heap/1.cc
index 3974f03c464..2f280aaa5de 100644
--- a/libstdc++-v3/testsuite/ext/is_heap/1.cc
+++ b/libstdc++-v3/testsuite/ext/is_heap/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <algorithm>
diff --git a/libstdc++-v3/testsuite/ext/is_heap/check_type.cc b/libstdc++-v3/testsuite/ext/is_heap/check_type.cc
index 6c791bd80ac..2e867531391 100644
--- a/libstdc++-v3/testsuite/ext/is_heap/check_type.cc
+++ b/libstdc++-v3/testsuite/ext/is_heap/check_type.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// { dg-do compile }
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 421eb7b9052..0dc091a446b 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
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
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 bdea99b5ad7..318181a57d2 100644
--- a/libstdc++-v3/testsuite/ext/malloc_allocator/check_deallocate_null.cc
+++ b/libstdc++-v3/testsuite/ext/malloc_allocator/check_deallocate_null.cc
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/malloc_allocator/check_delete.cc b/libstdc++-v3/testsuite/ext/malloc_allocator/check_delete.cc
index ea40e3c0803..9fed3674f95 100644
--- a/libstdc++-v3/testsuite/ext/malloc_allocator/check_delete.cc
+++ b/libstdc++-v3/testsuite/ext/malloc_allocator/check_delete.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/malloc_allocator/check_new.cc b/libstdc++-v3/testsuite/ext/malloc_allocator/check_new.cc
index e6e159ca510..f292cb5b9b7 100644
--- a/libstdc++-v3/testsuite/ext/malloc_allocator/check_new.cc
+++ b/libstdc++-v3/testsuite/ext/malloc_allocator/check_new.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_global.cc b/libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_global.cc
index 4b462bf0e04..7e670f0c4cf 100644
--- a/libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_global.cc
+++ b/libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_global.cc
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_local.cc b/libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_local.cc
index 69cbb383a0d..175a833fbc5 100644
--- a/libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_local.cc
+++ b/libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_local.cc
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/malloc_allocator/instantiate.cc b/libstdc++-v3/testsuite/ext/malloc_allocator/instantiate.cc
index 1b0a385c163..ec48840c841 100644
--- a/libstdc++-v3/testsuite/ext/malloc_allocator/instantiate.cc
+++ b/libstdc++-v3/testsuite/ext/malloc_allocator/instantiate.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/median.cc b/libstdc++-v3/testsuite/ext/median.cc
index 97e44ea5bb9..92f68a65725 100644
--- a/libstdc++-v3/testsuite/ext/median.cc
+++ b/libstdc++-v3/testsuite/ext/median.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// median - SGI extension
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 2d3b5b14dbe..85dc6cc65b1 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
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <memory>
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 1beaf93daaf..201f0e9c833 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
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
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 9d23c74fdfb..020a8417549 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/check_deallocate_null.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/check_deallocate_null.cc
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
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 929b31de3cb..23ea86c8e50 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
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/check_delete.cc b/libstdc++-v3/testsuite/ext/mt_allocator/check_delete.cc
index 81fde66bbc8..ebb1f53288d 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/check_delete.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/check_delete.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/check_new.cc b/libstdc++-v3/testsuite/ext/mt_allocator/check_new.cc
index e3a08f33adb..33b1f5dcaf5 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/check_new.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/check_new.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
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 76a9a8c3540..f04307d4f57 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 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
@@ -23,24 +23,24 @@
#include <string>
#include <stdexcept>
#include <ext/mt_allocator.h>
-#include <testsuite_hooks.h>
static size_t count;
struct count_check
{
- count_check() {}
+ count_check() { }
~count_check()
{
+ // NB: __mt_allocator doesn't clean itself up. Thus, this will not
+ // be zero.
if (count != 0)
{
- // NB: __mt_allocator doesn't clean itself up. Thus, this will
- // not be zero.
+ //throw std::runtime_error("allocation/deallocation count isn't zero");
+ printf("allocation/deallocation count is %zu \n", count);
}
}
};
-// First.
static count_check check;
void* operator new(size_t size) throw(std::bad_alloc)
@@ -59,11 +59,6 @@ void operator delete(void* p) throw()
if (p == NULL)
return;
count--;
- if (count == 0)
- printf("All memory released \n");
- else
- printf("%u allocations to be released \n", count);
- free(p);
}
typedef std::string value_type;
@@ -74,7 +69,6 @@ typedef __gnu_cxx::__mt_alloc<value_type, policy_type> allocator_type;
typedef std::char_traits<value_type> traits_type;
typedef std::list<value_type, allocator_type> list_type;
-// Second.
list_type l;
int main()
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 7de94f5337a..c586903783e 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 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
@@ -23,24 +23,24 @@
#include <string>
#include <stdexcept>
#include <ext/mt_allocator.h>
-#include <testsuite_hooks.h>
static size_t count;
struct count_check
{
- count_check() {}
+ count_check() { }
~count_check()
{
+ // NB: __mt_allocator doesn't clean itself up. Thus, this will not
+ // be zero.
if (count != 0)
{
- // NB: __mt_allocator doesn't clean itself up. Thus, this will
- // not be zero.
+ //throw std::runtime_error("allocation/deallocation count isn't zero");
+ printf("allocation/deallocation count is %zu \n", count);
}
}
};
-// First.
static count_check check;
void* operator new(size_t size) throw(std::bad_alloc)
@@ -59,11 +59,6 @@ void operator delete(void* p) throw()
if (p == NULL)
return;
count--;
- if (count == 0)
- printf("All memory released \n");
- else
- printf("%u allocations to be released \n", count);
- free(p);
}
typedef std::string value_t;
@@ -74,7 +69,6 @@ typedef __gnu_cxx::__mt_alloc<value_t, policy_type> allocator_type;
typedef std::char_traits<value_t> traits_type;
typedef std::list<value_t, allocator_type> list_type;
-// Second.
list_type l;
int main()
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 0264620c138..aee49f822c4 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 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
@@ -23,24 +23,24 @@
#include <string>
#include <stdexcept>
#include <ext/mt_allocator.h>
-#include <testsuite_hooks.h>
static size_t count;
struct count_check
{
- count_check() {}
+ count_check() { }
~count_check()
{
+ // NB: __mt_allocator doesn't clean itself up. Thus, this will not
+ // be zero.
if (count != 0)
{
- // NB: __mt_allocator doesn't clean itself up. Thus, this will
- // not be zero.
+ //throw std::runtime_error("allocation/deallocation count isn't zero");
+ printf("allocation/deallocation count is %zu \n", count);
}
}
};
-// First.
static count_check check;
void* operator new(size_t size) throw(std::bad_alloc)
@@ -59,11 +59,6 @@ void operator delete(void* p) throw()
if (p == NULL)
return;
count--;
- if (count == 0)
- printf("All memory released \n");
- else
- printf("%u allocations to be released \n", count);
- free(p);
}
typedef std::string value_type;
@@ -74,7 +69,6 @@ typedef __gnu_cxx::__mt_alloc<value_type, policy_type> allocator_type;
typedef std::char_traits<value_type> traits_type;
typedef std::list<value_type, allocator_type> list_type;
-// Second.
list_type l;
int main()
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 c65277548b5..0f3174c71e0 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 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
@@ -23,24 +23,24 @@
#include <string>
#include <stdexcept>
#include <ext/mt_allocator.h>
-#include <testsuite_hooks.h>
static size_t count;
struct count_check
{
- count_check() {}
+ count_check() { }
~count_check()
{
+ // NB: __mt_allocator doesn't clean itself up. Thus, this will not
+ // be zero.
if (count != 0)
{
- // NB: __mt_allocator doesn't clean itself up. Thus, this will
- // not be zero.
+ //throw std::runtime_error("allocation/deallocation count isn't zero");
+ printf("allocation/deallocation count is %zu \n", count);
}
}
};
-// First.
static count_check check;
void* operator new(size_t size) throw(std::bad_alloc)
@@ -59,11 +59,6 @@ void operator delete(void* p) throw()
if (p == NULL)
return;
count--;
- if (count == 0)
- printf("All memory released \n");
- else
- printf("%u allocations to be released \n", count);
- free(p);
}
typedef std::string value_type;
@@ -74,7 +69,6 @@ typedef __gnu_cxx::__mt_alloc<value_type, policy_type> allocator_type;
typedef std::char_traits<value_type> traits_type;
typedef std::list<value_type, allocator_type> list_type;
-// Second.
list_type l;
int main()
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 8951e44c9d9..40b30e3b442 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 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
@@ -22,19 +22,20 @@
#include <string>
#include <stdexcept>
#include <ext/mt_allocator.h>
-#include <testsuite_hooks.h>
static size_t count;
struct count_check
{
- count_check() {}
+ count_check() { }
~count_check()
{
+ // NB: __mt_allocator doesn't clean itself up. Thus, this will not
+ // be zero.
if (count != 0)
{
- // NB: __mt_allocator doesn't clean itself up. Thus, this will
- // not be zero.
+ //throw std::runtime_error("allocation/deallocation count isn't zero");
+ printf("allocation/deallocation count is %zu \n", count);
}
}
};
@@ -57,11 +58,6 @@ void operator delete(void* p) throw()
if (p == NULL)
return;
count--;
- if (count == 0)
- printf("All memory released \n");
- else
- printf("%u allocations to be released \n", count);
- free(p);
}
typedef char value_type;
@@ -73,10 +69,7 @@ typedef std::basic_string<value_type, traits_type, allocator_type> string_type;
int main()
{
- bool test __attribute__((unused)) = true;
- {
- string_type s;
- s += "bayou bend";
- }
+ string_type s;
+ s += "bayou bend";
return 0;
}
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 da2c1e96360..ef124bf687f 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 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
@@ -22,19 +22,20 @@
#include <string>
#include <stdexcept>
#include <ext/mt_allocator.h>
-#include <testsuite_hooks.h>
static size_t count;
struct count_check
{
- count_check() {}
+ count_check() { }
~count_check()
{
+ // NB: __mt_allocator doesn't clean itself up. Thus, this will not
+ // be zero.
if (count != 0)
{
- // NB: __mt_allocator doesn't clean itself up. Thus, this will
- // not be zero.
+ printf("allocation/deallocation count is %zu \n", count);
+ //throw std::runtime_error("allocation/deallocation count isn't zero");
}
}
};
@@ -57,11 +58,6 @@ void operator delete(void* p) throw()
if (p == NULL)
return;
count--;
- if (count == 0)
- printf("All memory released \n");
- else
- printf("%u allocations to be released \n", count);
- free(p);
}
typedef char value_type;
@@ -74,10 +70,7 @@ typedef std::basic_string<value_type, traits_type, allocator_type> string_type;
int main()
{
- bool test __attribute__((unused)) = true;
- {
- string_type s;
- s += "bayou bend";
- }
+ string_type s;
+ s += "bayou bend";
return 0;
}
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 f0f1c32141a..445bf1901ee 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 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
@@ -22,19 +22,20 @@
#include <string>
#include <stdexcept>
#include <ext/mt_allocator.h>
-#include <testsuite_hooks.h>
static size_t count;
struct count_check
{
- count_check() {}
+ count_check() { }
~count_check()
{
+ // NB: __mt_allocator doesn't clean itself up. Thus, this will not
+ // be zero.
if (count != 0)
{
- // NB: __mt_allocator doesn't clean itself up. Thus, this will
- // not be zero.
+ //throw std::runtime_error("allocation/deallocation count isn't zero");
+ printf("allocation/deallocation count is %zu \n", count);
}
}
};
@@ -57,11 +58,6 @@ void operator delete(void* p) throw()
if (p == NULL)
return;
count--;
- if (count == 0)
- printf("All memory released \n");
- else
- printf("%u allocations to be released \n", count);
- free(p);
}
typedef char value_type;
@@ -73,10 +69,7 @@ typedef std::basic_string<value_type, traits_type, allocator_type> string_type;
int main()
{
- bool test __attribute__((unused)) = true;
- {
- string_type s;
- s += "bayou bend";
- }
+ string_type s;
+ s += "bayou bend";
return 0;
}
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 f3d2781978b..3d923d6146b 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 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
@@ -22,19 +22,20 @@
#include <string>
#include <stdexcept>
#include <ext/mt_allocator.h>
-#include <testsuite_hooks.h>
static size_t count;
struct count_check
{
- count_check() {}
+ count_check() { }
~count_check()
{
+ // NB: __mt_allocator doesn't clean itself up. Thus, this will not
+ // be zero.
if (count != 0)
{
- // NB: __mt_allocator doesn't clean itself up. Thus, this will
- // not be zero.
+ //throw std::runtime_error("allocation/deallocation count isn't zero");
+ printf("allocation/deallocation count is %zu \n", count);
}
}
};
@@ -57,11 +58,6 @@ void operator delete(void* p) throw()
if (p == NULL)
return;
count--;
- if (count == 0)
- printf("All memory released \n");
- else
- printf("%u allocations to be released \n", count);
- free(p);
}
typedef char value_type;
@@ -74,10 +70,7 @@ typedef std::basic_string<value_type, traits_type, allocator_type> string_type;
int main()
{
- bool test __attribute__((unused)) = true;
- {
- string_type s;
- s += "bayou bend";
- }
+ string_type s;
+ s += "bayou bend";
return 0;
}
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/instantiate.cc b/libstdc++-v3/testsuite/ext/mt_allocator/instantiate.cc
index 30db7f57806..4855226ff07 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/instantiate.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/instantiate.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/tune-1.cc b/libstdc++-v3/testsuite/ext/mt_allocator/tune-1.cc
index b899cbd5b73..85b07709a77 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/tune-1.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/tune-1.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <memory>
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/tune-2.cc b/libstdc++-v3/testsuite/ext/mt_allocator/tune-2.cc
index 19f30f25577..d9be879dd77 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/tune-2.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/tune-2.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <memory>
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/tune-3.cc b/libstdc++-v3/testsuite/ext/mt_allocator/tune-3.cc
index 81cd4e0380a..1f83ee101a7 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/tune-3.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/tune-3.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/tune-4.cc b/libstdc++-v3/testsuite/ext/mt_allocator/tune-4.cc
index 8e2f5119dbf..744429d867a 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/tune-4.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/tune-4.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <testsuite_hooks.h>
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 d5e01325e1b..e87654b35e2 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
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
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 34ed42c147b..09bf8b72bbf 100644
--- a/libstdc++-v3/testsuite/ext/new_allocator/check_deallocate_null.cc
+++ b/libstdc++-v3/testsuite/ext/new_allocator/check_deallocate_null.cc
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/new_allocator/check_delete.cc b/libstdc++-v3/testsuite/ext/new_allocator/check_delete.cc
index 49ce3addff0..10a72a4478b 100644
--- a/libstdc++-v3/testsuite/ext/new_allocator/check_delete.cc
+++ b/libstdc++-v3/testsuite/ext/new_allocator/check_delete.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/new_allocator/check_new.cc b/libstdc++-v3/testsuite/ext/new_allocator/check_new.cc
index 39ab08e7d81..23c2b51b66c 100644
--- a/libstdc++-v3/testsuite/ext/new_allocator/check_new.cc
+++ b/libstdc++-v3/testsuite/ext/new_allocator/check_new.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/new_allocator/deallocate_global.cc b/libstdc++-v3/testsuite/ext/new_allocator/deallocate_global.cc
index 6f1451dccf2..170737db3f4 100644
--- a/libstdc++-v3/testsuite/ext/new_allocator/deallocate_global.cc
+++ b/libstdc++-v3/testsuite/ext/new_allocator/deallocate_global.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
@@ -22,17 +22,16 @@
#include <string>
#include <stdexcept>
#include <ext/new_allocator.h>
-#include <testsuite_hooks.h>
static size_t count;
struct count_check
{
- count_check() {}
+ count_check() { }
~count_check()
{
if (count != 0)
- throw std::runtime_error("count isn't zero");
+ throw std::runtime_error("allocation/deallocation count isn't zero");
}
};
@@ -54,11 +53,6 @@ void operator delete(void* p) throw()
if (p == NULL)
return;
count--;
- if (count == 0)
- printf("All memory released \n");
- else
- printf("%u allocations to be released \n", count);
- free(p);
}
typedef char char_t;
diff --git a/libstdc++-v3/testsuite/ext/new_allocator/deallocate_local.cc b/libstdc++-v3/testsuite/ext/new_allocator/deallocate_local.cc
index bc934c6f9ee..6512f2e8ed1 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 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -14,24 +14,36 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
#include <string>
+#include <stdexcept>
#include <ext/new_allocator.h>
-#include <testsuite_hooks.h>
-static size_t alloc_cnt;
+static size_t count;
+
+struct count_check
+{
+ count_check() { }
+ ~count_check()
+ {
+ if (count != 0)
+ throw std::runtime_error("allocation/deallocation count isn't zero");
+ }
+};
+static count_check check;
+
void* operator new(size_t size) throw(std::bad_alloc)
{
printf("operator new is called \n");
void* p = malloc(size);
if (p == NULL)
throw std::bad_alloc();
- alloc_cnt++;
+ count++;
return p;
}
@@ -40,12 +52,7 @@ void operator delete(void* p) throw()
printf("operator delete is called \n");
if (p == NULL)
return;
- alloc_cnt--;
- if (alloc_cnt == 0)
- printf("All memory released \n");
- else
- printf("%u allocations to be released \n", alloc_cnt);
- free(p);
+ count--;
}
typedef char char_t;
@@ -55,11 +62,7 @@ typedef std::basic_string<char_t, traits_t, allocator_t> string_t;
int main()
{
- bool test __attribute__((unused)) = true;
- {
- string_t s;
- s += "bayou bend";
- }
- VERIFY( alloc_cnt == 0 );
+ string_t s;
+ s += "bayou bend";
return 0;
}
diff --git a/libstdc++-v3/testsuite/ext/new_allocator/instantiate.cc b/libstdc++-v3/testsuite/ext/new_allocator/instantiate.cc
index 45bd988f315..48ffece9fd9 100644
--- a/libstdc++-v3/testsuite/ext/new_allocator/instantiate.cc
+++ b/libstdc++-v3/testsuite/ext/new_allocator/instantiate.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/pb_assoc/example/basic_map.cc b/libstdc++-v3/testsuite/ext/pb_assoc/example/basic_map.cc
index 50e66fde627..cf9c9962db0 100644
--- a/libstdc++-v3/testsuite/ext/pb_assoc/example/basic_map.cc
+++ b/libstdc++-v3/testsuite/ext/pb_assoc/example/basic_map.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pb_assoc/example/basic_multimap.cc b/libstdc++-v3/testsuite/ext/pb_assoc/example/basic_multimap.cc
index fa1c8f12b28..2ad028db31c 100644
--- a/libstdc++-v3/testsuite/ext/pb_assoc/example/basic_multimap.cc
+++ b/libstdc++-v3/testsuite/ext/pb_assoc/example/basic_multimap.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pb_assoc/example/basic_set.cc b/libstdc++-v3/testsuite/ext/pb_assoc/example/basic_set.cc
index 694a0f08958..242ee7b8678 100644
--- a/libstdc++-v3/testsuite/ext/pb_assoc/example/basic_set.cc
+++ b/libstdc++-v3/testsuite/ext/pb_assoc/example/basic_set.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pb_assoc/example/ds_traits.cc b/libstdc++-v3/testsuite/ext/pb_assoc/example/ds_traits.cc
index ef1f5f64031..45b4cae16b3 100644
--- a/libstdc++-v3/testsuite/ext/pb_assoc/example/ds_traits.cc
+++ b/libstdc++-v3/testsuite/ext/pb_assoc/example/ds_traits.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pb_assoc/example/erase_if.cc b/libstdc++-v3/testsuite/ext/pb_assoc/example/erase_if.cc
index 91bc94ba7aa..4bafbb93f9c 100644
--- a/libstdc++-v3/testsuite/ext/pb_assoc/example/erase_if.cc
+++ b/libstdc++-v3/testsuite/ext/pb_assoc/example/erase_if.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pb_assoc/example/extract_key.cc b/libstdc++-v3/testsuite/ext/pb_assoc/example/extract_key.cc
index 3d830652891..9371a2c8905 100644
--- a/libstdc++-v3/testsuite/ext/pb_assoc/example/extract_key.cc
+++ b/libstdc++-v3/testsuite/ext/pb_assoc/example/extract_key.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_find_neg.cc b/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_find_neg.cc
index 177715b3be2..596c96960a0 100644
--- a/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_find_neg.cc
+++ b/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_find_neg.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_illegal_resize.cc b/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_illegal_resize.cc
index 4c8f960aeb5..404c9f983f4 100644
--- a/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_illegal_resize.cc
+++ b/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_illegal_resize.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_initial_size.cc b/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_initial_size.cc
index efe533ff94e..fcd05795e29 100644
--- a/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_initial_size.cc
+++ b/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_initial_size.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_load_set_change.cc b/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_load_set_change.cc
index d387c8b8eae..7c55c7a2e7d 100644
--- a/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_load_set_change.cc
+++ b/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_load_set_change.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_mod.cc b/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_mod.cc
index f730b77b99d..70f7af2c997 100644
--- a/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_mod.cc
+++ b/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_mod.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_resize.cc b/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_resize.cc
index a510932acbb..b5db5948bd9 100644
--- a/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_resize.cc
+++ b/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_resize.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_resize_neg.cc b/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_resize_neg.cc
index 439939cb894..fae6298a682 100644
--- a/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_resize_neg.cc
+++ b/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_resize_neg.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_shift_mask.cc b/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_shift_mask.cc
index 3e509e46387..4d829e7f9cf 100644
--- a/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_shift_mask.cc
+++ b/libstdc++-v3/testsuite/ext/pb_assoc/example/hash_shift_mask.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pb_assoc/example/mapping_level.cc b/libstdc++-v3/testsuite/ext/pb_assoc/example/mapping_level.cc
index a99d7511ebc..9e0689a3ae4 100644
--- a/libstdc++-v3/testsuite/ext/pb_assoc/example/mapping_level.cc
+++ b/libstdc++-v3/testsuite/ext/pb_assoc/example/mapping_level.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pb_assoc/example/mapping_level_neg.cc b/libstdc++-v3/testsuite/ext/pb_assoc/example/mapping_level_neg.cc
index 89711ba693f..c8fa40c3201 100644
--- a/libstdc++-v3/testsuite/ext/pb_assoc/example/mapping_level_neg.cc
+++ b/libstdc++-v3/testsuite/ext/pb_assoc/example/mapping_level_neg.cc
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pb_assoc/example/ms_traits.cc b/libstdc++-v3/testsuite/ext/pb_assoc/example/ms_traits.cc
index e2b8a4befcd..8db49e7687d 100644
--- a/libstdc++-v3/testsuite/ext/pb_assoc/example/ms_traits.cc
+++ b/libstdc++-v3/testsuite/ext/pb_assoc/example/ms_traits.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pb_assoc/example/ranged_hash.cc b/libstdc++-v3/testsuite/ext/pb_assoc/example/ranged_hash.cc
index 05e65a5d45a..365c6f06f7a 100644
--- a/libstdc++-v3/testsuite/ext/pb_assoc/example/ranged_hash.cc
+++ b/libstdc++-v3/testsuite/ext/pb_assoc/example/ranged_hash.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pb_assoc/example/store_hash.cc b/libstdc++-v3/testsuite/ext/pb_assoc/example/store_hash.cc
index b190af71dc5..bad050049a1 100644
--- a/libstdc++-v3/testsuite/ext/pb_assoc/example/store_hash.cc
+++ b/libstdc++-v3/testsuite/ext/pb_assoc/example/store_hash.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pb_assoc/example/tree_intervals.cc b/libstdc++-v3/testsuite/ext/pb_assoc/example/tree_intervals.cc
index 494ab5d55f5..dbc9430a64e 100644
--- a/libstdc++-v3/testsuite/ext/pb_assoc/example/tree_intervals.cc
+++ b/libstdc++-v3/testsuite/ext/pb_assoc/example/tree_intervals.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pb_assoc/example/tree_join.cc b/libstdc++-v3/testsuite/ext/pb_assoc/example/tree_join.cc
index 97ae68038f1..1c7c76581dd 100644
--- a/libstdc++-v3/testsuite/ext/pb_assoc/example/tree_join.cc
+++ b/libstdc++-v3/testsuite/ext/pb_assoc/example/tree_join.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pb_assoc/example/tree_order_statistics.cc b/libstdc++-v3/testsuite/ext/pb_assoc/example/tree_order_statistics.cc
index c15b5599677..b461429ea69 100644
--- a/libstdc++-v3/testsuite/ext/pb_assoc/example/tree_order_statistics.cc
+++ b/libstdc++-v3/testsuite/ext/pb_assoc/example/tree_order_statistics.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pb_assoc/example/tree_order_statistics_join.cc b/libstdc++-v3/testsuite/ext/pb_assoc/example/tree_order_statistics_join.cc
index 473cfdd35a0..2287f49de1f 100644
--- a/libstdc++-v3/testsuite/ext/pb_assoc/example/tree_order_statistics_join.cc
+++ b/libstdc++-v3/testsuite/ext/pb_assoc/example/tree_order_statistics_join.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pb_assoc/example/tree_split.cc b/libstdc++-v3/testsuite/ext/pb_assoc/example/tree_split.cc
index d75330a8caf..eb4e8a5cb20 100644
--- a/libstdc++-v3/testsuite/ext/pb_assoc/example/tree_split.cc
+++ b/libstdc++-v3/testsuite/ext/pb_assoc/example/tree_split.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pod_char_traits.cc b/libstdc++-v3/testsuite/ext/pod_char_traits.cc
index d18afde8a0c..1ce7b18422a 100644
--- a/libstdc++-v3/testsuite/ext/pod_char_traits.cc
+++ b/libstdc++-v3/testsuite/ext/pod_char_traits.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/pool_allocator/allocate_chunk.cc b/libstdc++-v3/testsuite/ext/pool_allocator/allocate_chunk.cc
index ab436212688..64afd99a3c1 100644
--- a/libstdc++-v3/testsuite/ext/pool_allocator/allocate_chunk.cc
+++ b/libstdc++-v3/testsuite/ext/pool_allocator/allocate_chunk.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
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 9c96c3da9f2..5c0950adbbb 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
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
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 4b4999eb6e0..797fa03e444 100644
--- a/libstdc++-v3/testsuite/ext/pool_allocator/check_deallocate_null.cc
+++ b/libstdc++-v3/testsuite/ext/pool_allocator/check_deallocate_null.cc
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/pool_allocator/check_delete.cc b/libstdc++-v3/testsuite/ext/pool_allocator/check_delete.cc
index 79ce85832e7..2aacfa4f37d 100644
--- a/libstdc++-v3/testsuite/ext/pool_allocator/check_delete.cc
+++ b/libstdc++-v3/testsuite/ext/pool_allocator/check_delete.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/pool_allocator/check_new.cc b/libstdc++-v3/testsuite/ext/pool_allocator/check_new.cc
index be37b8658e3..bf15c1cd181 100644
--- a/libstdc++-v3/testsuite/ext/pool_allocator/check_new.cc
+++ b/libstdc++-v3/testsuite/ext/pool_allocator/check_new.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/pool_allocator/instantiate.cc b/libstdc++-v3/testsuite/ext/pool_allocator/instantiate.cc
index 42db97b5d0e..a52ca381031 100644
--- a/libstdc++-v3/testsuite/ext/pool_allocator/instantiate.cc
+++ b/libstdc++-v3/testsuite/ext/pool_allocator/instantiate.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 20.4.1.1 allocator members
diff --git a/libstdc++-v3/testsuite/ext/rope/1.cc b/libstdc++-v3/testsuite/ext/rope/1.cc
index fc1cc9aae62..bbbbccc5578 100644
--- a/libstdc++-v3/testsuite/ext/rope/1.cc
+++ b/libstdc++-v3/testsuite/ext/rope/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// rope (SGI extension)
diff --git a/libstdc++-v3/testsuite/ext/rope/2.cc b/libstdc++-v3/testsuite/ext/rope/2.cc
index e331cbf9cc0..85efe0b197d 100644
--- a/libstdc++-v3/testsuite/ext/rope/2.cc
+++ b/libstdc++-v3/testsuite/ext/rope/2.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// rope (SGI extension)
diff --git a/libstdc++-v3/testsuite/ext/rope/3.cc b/libstdc++-v3/testsuite/ext/rope/3.cc
index ae990ca166f..79dfa41728d 100644
--- a/libstdc++-v3/testsuite/ext/rope/3.cc
+++ b/libstdc++-v3/testsuite/ext/rope/3.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// rope (SGI extension)
diff --git a/libstdc++-v3/testsuite/ext/rope/4.cc b/libstdc++-v3/testsuite/ext/rope/4.cc
index 86b396e1944..7e0f50fb92f 100644
--- a/libstdc++-v3/testsuite/ext/rope/4.cc
+++ b/libstdc++-v3/testsuite/ext/rope/4.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// sequence_buffer (SGI extension)
diff --git a/libstdc++-v3/testsuite/ext/slist/check_construct_destroy.cc b/libstdc++-v3/testsuite/ext/slist/check_construct_destroy.cc
index 174c4da69fc..97f0af63646 100644
--- a/libstdc++-v3/testsuite/ext/slist/check_construct_destroy.cc
+++ b/libstdc++-v3/testsuite/ext/slist/check_construct_destroy.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/slist/instantiate.cc b/libstdc++-v3/testsuite/ext/slist/instantiate.cc
index e31f526380e..a4dff11f3ee 100644
--- a/libstdc++-v3/testsuite/ext/slist/instantiate.cc
+++ b/libstdc++-v3/testsuite/ext/slist/instantiate.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/1.cc b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/1.cc
index 60d3c660520..8ec2a13f32c 100644
--- a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/1.cc
+++ b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// stdio_filebuf.h
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 3a60293164c..82539a794d9 100644
--- a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-1.cc
+++ b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <cstdio>
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 6a0c02240d6..290efda0054 100644
--- a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-2.cc
+++ b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-2.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// The ARM simulator does not provide support for "fstat", which
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 4e798e805cb..2a44bd5796b 100644
--- a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-3.cc
+++ b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-3.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// The ARM simulator does not provide support for "fstat", which
diff --git a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/2.cc b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/2.cc
index 1ef57eecb21..f78f22bc390 100644
--- a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/2.cc
+++ b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/2.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// stdio_filebuf.h
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 c57186d52b3..f7961d0289e 100644
--- a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/1.cc
+++ b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/1.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <ext/stdio_sync_filebuf.h>
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 e35897e20f1..d1929da64a6 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <ext/stdio_sync_filebuf.h>
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 66192548b03..c1d53d70e31 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <ext/stdio_sync_filebuf.h>
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 6039e15cfe8..42c646a0de2 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <ext/stdio_sync_filebuf.h>
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 5372b68e9fa..1318c73ee82 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <ext/stdio_sync_filebuf.h>
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 728602155c3..227a5a362d3 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <ext/stdio_sync_filebuf.h>
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 d174827bdc5..78db3146b3b 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <iostream>
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 5329ba8b1ce..a374bba04e7 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <ext/stdio_sync_filebuf.h>
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 285969bde4c..ea66e00ead6 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <ext/stdio_sync_filebuf.h>
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 b006898b33b..23873c7467e 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <ext/stdio_sync_filebuf.h>
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 704a75305b4..c3d0c94c442 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <ext/stdio_sync_filebuf.h>
diff --git a/libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/1.cc
index 97a1f745291..0bb95ad8eaa 100644
--- a/libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/2.cc
index 8606c8160a2..ee22b8b2064 100644
--- a/libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/2.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/char/1.cc b/libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/char/1.cc
index 661e99e4a7b..5d840e53707 100644
--- a/libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/char/1.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/char/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/wchar_t/1.cc b/libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/wchar_t/1.cc
index e8f0b959f55..7893c33bd86 100644
--- a/libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/wchar_t/1.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/lib/dg-options.exp b/libstdc++-v3/testsuite/lib/dg-options.exp
index c8eb5428179..05d2ff38ba2 100644
--- a/libstdc++-v3/testsuite/lib/dg-options.exp
+++ b/libstdc++-v3/testsuite/lib/dg-options.exp
@@ -14,7 +14,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# Copied from GCC.
@@ -35,3 +35,12 @@ proc dg-require-namedlocale { args } {
}
return
}
+
+proc dg-require-cxa-atexit { args } {
+ if { ![ check_v3_target_cxa_atexit ] } {
+ upvar dg-do-what dg-do-what
+ set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
+ return
+ }
+ return
+}
diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp b/libstdc++-v3/testsuite/lib/libstdc++.exp
index 8471ed6c3b7..1446d87900e 100644
--- a/libstdc++-v3/testsuite/lib/libstdc++.exp
+++ b/libstdc++-v3/testsuite/lib/libstdc++.exp
@@ -14,7 +14,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# Define callbacks and load other libraries. This file is loaded relatively
@@ -454,3 +454,87 @@ proc check_v3_target_namedlocale { } {
}
return $et_namedlocale_saved
}
+
+proc check_v3_target_cxa_atexit { } {
+ global et_cxa_atexit
+ global et_cxa_atexit_target_name
+ global tool
+
+ if { ![info exists et_cxa_atexit_target_name] } {
+ set et_cxa_atexit_target_name ""
+ }
+
+ # If the target has changed since we set the cached value, clear it.
+ set current_target [current_target_name]
+ if { $current_target != $et_cxa_atexit_target_name } {
+ verbose "check_v3_target_cxa_atexit: `$et_cxa_atexit_target_name'" 2
+ set et_cxa_atexit_target_name $current_target
+ if [info exists et_cxa_atexit] {
+ verbose "check_v3_target_cxa_atexit: removing cached result" 2
+ unset et_cxa_atexit
+ }
+ }
+
+ if [info exists et_cxa_atexit] {
+ verbose "check_v3_target_cxa_atexit: using cached result" 2
+ } else {
+ set et_cxa_atexit 0
+
+ # Set up, compile, and execute a C++ test program that depends
+ # on correct ordering of static object destructors. This is
+ # indicative of the presence and use of __cxa_atexit.
+ set src cxaatexit[pid].cc
+ set exe cxaatexit[pid].x
+
+ set f [open $src "w"]
+ puts $f "#include <stdlib.h>"
+ puts $f "static unsigned int count;"
+ puts $f "struct X"
+ puts $f "{"
+ puts $f "X() { count = 1; }"
+ puts $f "~X()"
+ puts $f "{"
+ puts $f " if (count != 3)"
+ puts $f " exit(1);"
+ puts $f " count = 4;"
+ puts $f "}"
+ puts $f "};"
+ puts $f "void f()"
+ puts $f "{"
+ puts $f "static X x;"
+ puts $f "}"
+ puts $f "struct Y"
+ puts $f "{"
+ puts $f "Y() { f(); count = 2; }"
+ puts $f "~Y()"
+ puts $f "{"
+ puts $f "if (count != 2)"
+ puts $f " exit(1);"
+ puts $f "count = 3;"
+ puts $f "}"
+ puts $f "};"
+ puts $f "Y y;"
+ puts $f "int main()"
+ puts $f "{ return 0; }"
+ close $f
+
+ set lines [v3_target_compile $src $exe executable ""]
+ file delete $src
+
+ if [string match "" $lines] {
+ # No error message, compilation succeeded.
+ set result [${tool}_load "./$exe" "" ""]
+ set status [lindex $result 0]
+ remote_file build delete $exe
+
+ verbose "check_v3_target_cxa_atexit: status is <$status>" 2
+
+ if { $status == "pass" } {
+ set et_cxa_atexit 1
+ }
+ } else {
+ verbose "check_v3_target_cxa_atexit: compilation failed" 2
+ }
+ }
+ return $et_cxa_atexit
+}
diff --git a/libstdc++-v3/testsuite/lib/prune.exp b/libstdc++-v3/testsuite/lib/prune.exp
index 8b4e2cdca6d..12b56d80a4b 100644
--- a/libstdc++-v3/testsuite/lib/prune.exp
+++ b/libstdc++-v3/testsuite/lib/prune.exp
@@ -12,7 +12,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# Prune messages from g++ that aren't useful.
diff --git a/libstdc++-v3/testsuite/libstdc++-abi/abi.exp b/libstdc++-v3/testsuite/libstdc++-abi/abi.exp
index b5b469ed307..fac9ed25ee3 100644
--- a/libstdc++-v3/testsuite/libstdc++-abi/abi.exp
+++ b/libstdc++-v3/testsuite/libstdc++-abi/abi.exp
@@ -12,7 +12,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# If there is no baseline file, or we can't find the library, skip
# this test. Or, hey, if we don't support this kind of symbol
diff --git a/libstdc++-v3/testsuite/libstdc++-dg/normal.exp b/libstdc++-v3/testsuite/libstdc++-dg/normal.exp
index 9d2f1a63a9a..6ebe6b439ec 100644
--- a/libstdc++-v3/testsuite/libstdc++-dg/normal.exp
+++ b/libstdc++-v3/testsuite/libstdc++-dg/normal.exp
@@ -14,7 +14,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# libstdc++-v3 testsuite that uses the 'dg.exp' driver.
diff --git a/libstdc++-v3/testsuite/performance/21_strings/string_append.cc b/libstdc++-v3/testsuite/performance/21_strings/string_append.cc
index fccd82cd037..8f7cc3be796 100644
--- a/libstdc++-v3/testsuite/performance/21_strings/string_append.cc
+++ b/libstdc++-v3/testsuite/performance/21_strings/string_append.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/performance/21_strings/string_append_2.cc b/libstdc++-v3/testsuite/performance/21_strings/string_append_2.cc
index 35cb583d405..01a8b84ef76 100644
--- a/libstdc++-v3/testsuite/performance/21_strings/string_append_2.cc
+++ b/libstdc++-v3/testsuite/performance/21_strings/string_append_2.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/performance/21_strings/string_cons_input_iterator.cc b/libstdc++-v3/testsuite/performance/21_strings/string_cons_input_iterator.cc
index 655c85fd970..6bcf0ad9c14 100644
--- a/libstdc++-v3/testsuite/performance/21_strings/string_cons_input_iterator.cc
+++ b/libstdc++-v3/testsuite/performance/21_strings/string_cons_input_iterator.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/performance/21_strings/string_find.cc b/libstdc++-v3/testsuite/performance/21_strings/string_find.cc
index 94259fa1438..bcdc9d5e9ba 100644
--- a/libstdc++-v3/testsuite/performance/21_strings/string_find.cc
+++ b/libstdc++-v3/testsuite/performance/21_strings/string_find.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 e35edd023cb..b379962843d 100644
--- a/libstdc++-v3/testsuite/performance/22_locale/is_wchar_t.cc
+++ b/libstdc++-v3/testsuite/performance/22_locale/is_wchar_t.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 f8b530dcfd0..328de942e22 100644
--- a/libstdc++-v3/testsuite/performance/22_locale/narrow_widen_char.cc
+++ b/libstdc++-v3/testsuite/performance/22_locale/narrow_widen_char.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 f5d4536d0ac..1f158f43d2a 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 43e09e39a78..c630aa9ead7 100644
--- a/libstdc++-v3/testsuite/performance/22_locale/wchar_t_in.cc
+++ b/libstdc++-v3/testsuite/performance/22_locale/wchar_t_in.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 f0146fe9991..497970df167 100644
--- a/libstdc++-v3/testsuite/performance/22_locale/wchar_t_length.cc
+++ b/libstdc++-v3/testsuite/performance/22_locale/wchar_t_length.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 4e5106817d0..c32f4e66137 100644
--- a/libstdc++-v3/testsuite/performance/22_locale/wchar_t_out.cc
+++ b/libstdc++-v3/testsuite/performance/22_locale/wchar_t_out.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/performance/23_containers/create/map.cc b/libstdc++-v3/testsuite/performance/23_containers/create/map.cc
index 0fb836710ff..baaf5805bec 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/create/map.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/create/map.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 13f7e10d30b..e7aa6033105 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 389b59b3c42..cd43f0ddc84 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/create_sort/list.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/create_sort/list.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/performance/23_containers/find/map.cc b/libstdc++-v3/testsuite/performance/23_containers/find/map.cc
index 4cf5178b7ab..d63501afeb3 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/find/map.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/find/map.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/performance/23_containers/index/map.cc b/libstdc++-v3/testsuite/performance/23_containers/index/map.cc
index 84a0fec4cf2..7705e53ab58 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/index/map.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/index/map.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/performance/23_containers/insert/associative.cc b/libstdc++-v3/testsuite/performance/23_containers/insert/associative.cc
index 180fe6afd91..6228a031d98 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/insert/associative.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/insert/associative.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/performance/23_containers/insert/sequence.cc b/libstdc++-v3/testsuite/performance/23_containers/insert/sequence.cc
index 851f3ba4430..15238ded538 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/insert/sequence.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/insert/sequence.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 0da9e345c0a..a13fcfab03e 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/insert_erase/associative.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/insert_erase/associative.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 03f75281861..c02b636686c 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
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 3c2bc5d5a87..82fab43e0bb 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/associative.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/associative.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 93284f89d39..5e71a6a588d 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/sequence.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/sequence.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 5d2cda7930c..7adea2bf1e7 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/sort_search/list.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/sort_search/list.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/performance/25_algorithms/search_n.cc b/libstdc++-v3/testsuite/performance/25_algorithms/search_n.cc
index 6ffa0a9bcaf..d316cf8ecb6 100644
--- a/libstdc++-v3/testsuite/performance/25_algorithms/search_n.cc
+++ b/libstdc++-v3/testsuite/performance/25_algorithms/search_n.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/performance/26_numerics/complex_norm.cc b/libstdc++-v3/testsuite/performance/26_numerics/complex_norm.cc
index 6ed280c306a..0205f8eddfe 100644
--- a/libstdc++-v3/testsuite/performance/26_numerics/complex_norm.cc
+++ b/libstdc++-v3/testsuite/performance/26_numerics/complex_norm.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 87b1871a7b1..275b746657e 100644
--- a/libstdc++-v3/testsuite/performance/27_io/cout_insert_int.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/cout_insert_int.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/performance/27_io/filebuf_copy.cc b/libstdc++-v3/testsuite/performance/27_io/filebuf_copy.cc
index 608ca2933fa..6d6ae86bf4b 100644
--- a/libstdc++-v3/testsuite/performance/27_io/filebuf_copy.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/filebuf_copy.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 1eddf10ad02..16afbe5bef2 100644
--- a/libstdc++-v3/testsuite/performance/27_io/filebuf_sgetn_unbuf.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/filebuf_sgetn_unbuf.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/performance/27_io/filebuf_sputc.cc b/libstdc++-v3/testsuite/performance/27_io/filebuf_sputc.cc
index c286da0202d..8634efd119f 100644
--- a/libstdc++-v3/testsuite/performance/27_io/filebuf_sputc.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/filebuf_sputc.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 d40e0c25130..f6d9c8570a5 100644
--- a/libstdc++-v3/testsuite/performance/27_io/filebuf_sputn_unbuf.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/filebuf_sputn_unbuf.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/performance/27_io/fmtflags_manipulators.cc b/libstdc++-v3/testsuite/performance/27_io/fmtflags_manipulators.cc
index 0ef4510f39c..4c092331ef3 100644
--- a/libstdc++-v3/testsuite/performance/27_io/fmtflags_manipulators.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/fmtflags_manipulators.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 838eae40245..0ec53a4a878 100644
--- a/libstdc++-v3/testsuite/performance/27_io/fstream_seek_write.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/fstream_seek_write.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 91a318b8934..482eca06040 100644
--- a/libstdc++-v3/testsuite/performance/27_io/ifstream_extract_chars.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/ifstream_extract_chars.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 55710c2afce..c622f7c63ed 100644
--- a/libstdc++-v3/testsuite/performance/27_io/ifstream_extract_float.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/ifstream_extract_float.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 b6ff6c47603..37757059771 100644
--- a/libstdc++-v3/testsuite/performance/27_io/ifstream_extract_int.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/ifstream_extract_int.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 42e1cc89a47..c1ae8285227 100644
--- a/libstdc++-v3/testsuite/performance/27_io/ifstream_getline-2.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/ifstream_getline-2.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/performance/27_io/ifstream_getline.cc b/libstdc++-v3/testsuite/performance/27_io/ifstream_getline.cc
index feb9c8f8603..b5eaddf3f70 100644
--- a/libstdc++-v3/testsuite/performance/27_io/ifstream_getline.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/ifstream_getline.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 45d55af01bf..c583e0a935f 100644
--- a/libstdc++-v3/testsuite/performance/27_io/ofstream_insert_float.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/ofstream_insert_float.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 83fbeb835b0..a15f706427f 100644
--- a/libstdc++-v3/testsuite/performance/27_io/ofstream_insert_int.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/ofstream_insert_int.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/performance/27_io/stringbuf_overflow.cc b/libstdc++-v3/testsuite/performance/27_io/stringbuf_overflow.cc
index 21b53625c67..9556ae03544 100644
--- a/libstdc++-v3/testsuite/performance/27_io/stringbuf_overflow.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/stringbuf_overflow.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/testsuite_abi.cc b/libstdc++-v3/testsuite/testsuite_abi.cc
index ecc6347143f..223af51bb57 100644
--- a/libstdc++-v3/testsuite/testsuite_abi.cc
+++ b/libstdc++-v3/testsuite/testsuite_abi.cc
@@ -14,8 +14,8 @@
// You should have received a copy of the GNU General Public License
// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
+// MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free
// software library without restriction. Specifically, if other files
diff --git a/libstdc++-v3/testsuite/testsuite_abi.h b/libstdc++-v3/testsuite/testsuite_abi.h
index 27258fd8905..935d95bd1fe 100644
--- a/libstdc++-v3/testsuite/testsuite_abi.h
+++ b/libstdc++-v3/testsuite/testsuite_abi.h
@@ -14,8 +14,8 @@
// You should have received a copy of the GNU General Public License
// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
+// MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free
// software library without restriction. Specifically, if other files
diff --git a/libstdc++-v3/testsuite/testsuite_abi_check.cc b/libstdc++-v3/testsuite/testsuite_abi_check.cc
index 028db89c93e..12e882a436f 100644
--- a/libstdc++-v3/testsuite/testsuite_abi_check.cc
+++ b/libstdc++-v3/testsuite/testsuite_abi_check.cc
@@ -14,8 +14,8 @@
// You should have received a copy of the GNU General Public License
// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
+// MA 02110-1301, USA.
// As a special exception, you may use this file as part of a free
// software library without restriction. Specifically, if other files
diff --git a/libstdc++-v3/testsuite/testsuite_allocator.cc b/libstdc++-v3/testsuite/testsuite_allocator.cc
index 6856226c239..66968720555 100644
--- a/libstdc++-v3/testsuite/testsuite_allocator.cc
+++ b/libstdc++-v3/testsuite/testsuite_allocator.cc
@@ -16,7 +16,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/testsuite_allocator.h b/libstdc++-v3/testsuite/testsuite_allocator.h
index 7be830e83aa..f71a07927da 100644
--- a/libstdc++-v3/testsuite/testsuite_allocator.h
+++ b/libstdc++-v3/testsuite/testsuite_allocator.h
@@ -16,7 +16,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
// As a special exception, you may use this file as part of a free software
@@ -229,7 +229,6 @@ namespace __gnu_test
}
throw;
}
-
}; // namespace __gnu_test
#endif // _GLIBCXX_TESTSUITE_ALLOCATOR_H
diff --git a/libstdc++-v3/testsuite/testsuite_character.cc b/libstdc++-v3/testsuite/testsuite_character.cc
index 75a76887e90..63a1fa35bfc 100644
--- a/libstdc++-v3/testsuite/testsuite_character.cc
+++ b/libstdc++-v3/testsuite/testsuite_character.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/testsuite_character.h b/libstdc++-v3/testsuite/testsuite_character.h
index c4817d54f88..44c5efd013f 100644
--- a/libstdc++-v3/testsuite/testsuite_character.h
+++ b/libstdc++-v3/testsuite/testsuite_character.h
@@ -18,7 +18,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/testsuite_common_types.h b/libstdc++-v3/testsuite/testsuite_common_types.h
index 48a8b5f9d39..e63f5e0e590 100644
--- a/libstdc++-v3/testsuite/testsuite_common_types.h
+++ b/libstdc++-v3/testsuite/testsuite_common_types.h
@@ -16,7 +16,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/testsuite_hooks.cc b/libstdc++-v3/testsuite/testsuite_hooks.cc
index 8fa999f95ca..8d3d5309e27 100644
--- a/libstdc++-v3/testsuite/testsuite_hooks.cc
+++ b/libstdc++-v3/testsuite/testsuite_hooks.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/testsuite_hooks.h b/libstdc++-v3/testsuite/testsuite_hooks.h
index fc05186d400..8a5276f50c2 100644
--- a/libstdc++-v3/testsuite/testsuite_hooks.h
+++ b/libstdc++-v3/testsuite/testsuite_hooks.h
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/testsuite_io.h b/libstdc++-v3/testsuite/testsuite_io.h
index 3b81184f171..fe8827ca164 100644
--- a/libstdc++-v3/testsuite/testsuite_io.h
+++ b/libstdc++-v3/testsuite/testsuite_io.h
@@ -16,7 +16,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/testsuite_iterators.h b/libstdc++-v3/testsuite/testsuite_iterators.h
index 1a6a295ee97..ef8bff4a3a6 100644
--- a/libstdc++-v3/testsuite/testsuite_iterators.h
+++ b/libstdc++-v3/testsuite/testsuite_iterators.h
@@ -16,7 +16,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/testsuite_performance.h b/libstdc++-v3/testsuite/testsuite_performance.h
index 5240358844b..f902dd0c6d9 100644
--- a/libstdc++-v3/testsuite/testsuite_performance.h
+++ b/libstdc++-v3/testsuite/testsuite_performance.h
@@ -16,7 +16,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/testsuite_tr1.h b/libstdc++-v3/testsuite/testsuite_tr1.h
index ff0a3cefce3..ec5630bf409 100644
--- a/libstdc++-v3/testsuite/testsuite_tr1.h
+++ b/libstdc++-v3/testsuite/testsuite_tr1.h
@@ -16,7 +16,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/testsuite_visualization.h b/libstdc++-v3/testsuite/testsuite_visualization.h
index 0d249897f83..0e2757666a4 100644
--- a/libstdc++-v3/testsuite/testsuite_visualization.h
+++ b/libstdc++-v3/testsuite/testsuite_visualization.h
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/libstdc++-v3/testsuite/thread/18185.cc b/libstdc++-v3/testsuite/thread/18185.cc
index 5ea1db08526..9c2d4adc9d2 100644
--- a/libstdc++-v3/testsuite/thread/18185.cc
+++ b/libstdc++-v3/testsuite/thread/18185.cc
@@ -14,7 +14,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* } }
diff --git a/libstdc++-v3/testsuite/thread/pthread1.cc b/libstdc++-v3/testsuite/thread/pthread1.cc
index 83c0126848b..d9ba9b16a96 100644
--- a/libstdc++-v3/testsuite/thread/pthread1.cc
+++ b/libstdc++-v3/testsuite/thread/pthread1.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* } }
diff --git a/libstdc++-v3/testsuite/thread/pthread2.cc b/libstdc++-v3/testsuite/thread/pthread2.cc
index 84485165cd2..9fffd284fe1 100644
--- a/libstdc++-v3/testsuite/thread/pthread2.cc
+++ b/libstdc++-v3/testsuite/thread/pthread2.cc
@@ -16,7 +16,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* } }
diff --git a/libstdc++-v3/testsuite/thread/pthread3.cc b/libstdc++-v3/testsuite/thread/pthread3.cc
index 23f4e04e180..a0e340caf7d 100644
--- a/libstdc++-v3/testsuite/thread/pthread3.cc
+++ b/libstdc++-v3/testsuite/thread/pthread3.cc
@@ -16,7 +16,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* } }
diff --git a/libstdc++-v3/testsuite/thread/pthread4.cc b/libstdc++-v3/testsuite/thread/pthread4.cc
index bab42569c45..a4b520d73e4 100644
--- a/libstdc++-v3/testsuite/thread/pthread4.cc
+++ b/libstdc++-v3/testsuite/thread/pthread4.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* } }
diff --git a/libstdc++-v3/testsuite/thread/pthread5.cc b/libstdc++-v3/testsuite/thread/pthread5.cc
index 76220fbdbd5..189c8a5c153 100644
--- a/libstdc++-v3/testsuite/thread/pthread5.cc
+++ b/libstdc++-v3/testsuite/thread/pthread5.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* } }
diff --git a/libstdc++-v3/testsuite/thread/pthread6.cc b/libstdc++-v3/testsuite/thread/pthread6.cc
index 9bf8cd56229..75d49e211a8 100644
--- a/libstdc++-v3/testsuite/thread/pthread6.cc
+++ b/libstdc++-v3/testsuite/thread/pthread6.cc
@@ -16,7 +16,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* } }
diff --git a/libstdc++-v3/testsuite/thread/pthread7-rope.cc b/libstdc++-v3/testsuite/thread/pthread7-rope.cc
index 0e8431b7f32..c09ab4564d0 100644
--- a/libstdc++-v3/testsuite/thread/pthread7-rope.cc
+++ b/libstdc++-v3/testsuite/thread/pthread7-rope.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* } }
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/not_shared.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/not_shared.cc
index 2c36c7ea08a..ca163435bdd 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/not_shared.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/not_shared.cc
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 2.2.5 Template class enable_shared_from_this [tr.util.smartptr.enab]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/not_shared2.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/not_shared2.cc
index 0043b33dfd4..f4521099b63 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/not_shared2.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/not_shared2.cc
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 2.2.5 Template class enable_shared_from_this [tr.util.smartptr.enab]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/not_shared3.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/not_shared3.cc
index c5e10d1a73c..93881770bcf 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/not_shared3.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/not_shared3.cc
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 2.2.5 Template class enable_shared_from_this [tr.util.smartptr.enab]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/shared.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/shared.cc
index aba0c5fb32f..f860fb732a9 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/shared.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/shared.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 2.2.5 Template class enable_shared_from_this [tr.util.smartptr.enab]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/still_shared.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/still_shared.cc
index 8c3c53fad51..b9568afbe03 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/still_shared.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/still_shared.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 2.2.5 Template class enable_shared_from_this [tr.util.smartptr.enab]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/assign.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/assign.cc
index a2c5dd4cf11..17181e58a56 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/assign.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/assign.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/auto_ptr.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/auto_ptr.cc
index 85c5c899409..9a36f95cb07 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/auto_ptr.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/auto_ptr.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/auto_ptr_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/auto_ptr_neg.cc
index 587e8e66b86..cca1049c12b 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/auto_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/auto_ptr_neg.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/auto_ptr_rvalue_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/auto_ptr_rvalue_neg.cc
index e9678b93009..da023294f99 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/auto_ptr_rvalue_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/auto_ptr_rvalue_neg.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/shared_ptr.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/shared_ptr.cc
index a159156fa9d..90765aa5d2c 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/shared_ptr.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/shared_ptr.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/shared_ptr_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/shared_ptr_neg.cc
index fe86286df02..23124f9c809 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/shared_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/shared_ptr_neg.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/comparison/cmp.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/comparison/cmp.cc
index 9201d4094d8..15b7b1e6ac0 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/comparison/cmp.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/comparison/cmp.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/auto_ptr.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/auto_ptr.cc
index 796ae089621..b91c5a26cfe 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/auto_ptr.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/auto_ptr.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/auto_ptr_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/auto_ptr_neg.cc
index 9eafc88deb9..c2a3202ccad 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/auto_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/auto_ptr_neg.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/copy.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/copy.cc
index aa0daa2e80c..cc529e0639b 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/copy.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/copy.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/default.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/default.cc
index 7258e2edb75..641834da6cc 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/default.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/default.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/pointer.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/pointer.cc
index 67687823489..dec051451a2 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/pointer.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/pointer.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/weak_ptr.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/weak_ptr.cc
index 02441623d05..048d93ac960 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/weak_ptr.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/weak_ptr.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/weak_ptr_expired.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/weak_ptr_expired.cc
index 63dcae49276..d40227ade1c 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/weak_ptr_expired.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/weak_ptr_expired.cc
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/dest/dest.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/dest/dest.cc
index 081d2dac683..a632264c75c 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/dest/dest.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/dest/dest.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/misc/io.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/misc/io.cc
index 17e836feef2..51de755ebd3 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/misc/io.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/misc/io.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/misc/swap.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/misc/swap.cc
index 930c2b9a6be..c22b2f8ab37 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/misc/swap.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/misc/swap.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/reset.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/reset.cc
index 6976cc7d233..244a9f29a3f 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/reset.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/reset.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/reset_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/reset_neg.cc
index 9850b061cab..136d2b76ddb 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/reset_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/reset_neg.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/swap.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/swap.cc
index 15d17d4308c..eb251b59102 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/swap.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/swap.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/swap_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/swap_neg.cc
index 2bf82b87aa6..606d8e3921a 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/swap_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/swap_neg.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/bool_conv.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/bool_conv.cc
index f091e591c39..94558848e87 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/bool_conv.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/bool_conv.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/get.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/get.cc
index 7a0a6e521f6..d85ec665772 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/get.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/get.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/unique.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/unique.cc
index f01121273da..81253e44b0f 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/unique.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/unique.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/use_count.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/use_count.cc
index 9338dec3acb..85f18504619 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/use_count.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/use_count.cc
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
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 17ed6857a7a..9d973cf8006 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
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 3.6 function object binders
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 8e6bf7c0e5d..15b890ccf4b 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/bind/nested.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/bind/nested.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 3.6 function object binders
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 1dc7450eb1f..53e021a9c98 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/bind/placeholders.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/bind/placeholders.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 3.6 function object binders
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 de3a1a3dbfa..26f33c99503 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/bind/ref.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/bind/ref.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 3.6 function object binders
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 5d368e4edcc..50469eb5b5e 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/function/1.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/function/1.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 3.7.2 polymorphic function object wrapper
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 86abaf0e5bf..0df4653a938 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/function/2.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/function/2.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 3.7.2 polymorphic function object wrapper
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 6812817070e..e1d9f47ccba 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/function/3.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/function/3.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 3.7.2 polymorphic function object wrapper
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 a5150ca8dab..4c8bf407fdb 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/function/4.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/function/4.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 3.7.2 polymorphic function object wrapper
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 16d552edd84..d2286ea8ddc 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/function/5.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/function/5.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 3.7.2 polymorphic function object wrapper
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 50bb854a6cd..4be73b90d3b 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/function/6.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/function/6.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 3.7.2 polymorphic function object wrapper
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 1a28f39f022..982a6e722c2 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/function/7.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/function/7.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 3.7.2 polymorphic function object wrapper
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 4253a2968c2..b29a98b53a7 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/function/8.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/function/8.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 3.7.2 polymorphic function object wrapper
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 02747b63b1c..2b6c0081886 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/function/9.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/function/9.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 3.7.2 polymorphic function object wrapper
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 b11aa153af0..74caeef88ab 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/mem_fn.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/mem_fn.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 3.5 function template mem_fn
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 255fc9f6774..4fe402a5c5e 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
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 2.1 reference wrappers
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 3aa427d6dcc..8b3ec882957 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
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 2.1 reference wrappers
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 bf17f8407bf..5679365f651 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/result_of.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/result_of.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 3.4 function return types
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/array_modifications/remove_all_extents.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/array_modifications/remove_all_extents.cc
index c02a63449a6..8d0504e0485 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/array_modifications/remove_all_extents.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/array_modifications/remove_all_extents.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.7.3 Array modifications
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/array_modifications/remove_extent.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/array_modifications/remove_extent.cc
index 9cd372da05e..886f844405b 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/array_modifications/remove_extent.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/array_modifications/remove_extent.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.7.3 Array modifications
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_arithmetic/is_arithmetic.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_arithmetic/is_arithmetic.cc
index 2bd8c52d9be..ddf0854ba77 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_arithmetic/is_arithmetic.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_arithmetic/is_arithmetic.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.2 Composite type traits
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_arithmetic/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_arithmetic/typedefs.cc
index c4075143113..17cd0a06866 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_arithmetic/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_arithmetic/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_compound/is_compound.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_compound/is_compound.cc
index 4e190a6d8b0..1708f580eb9 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_compound/is_compound.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_compound/is_compound.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.2 Composite type traits
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_compound/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_compound/typedefs.cc
index ced2203b0fb..906076e3ca4 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_compound/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_compound/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_fundamental/is_fundamental.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_fundamental/is_fundamental.cc
index 9bb66a1989b..8a756c5ee86 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_fundamental/is_fundamental.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_fundamental/is_fundamental.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.2 Composite type traits
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_fundamental/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_fundamental/typedefs.cc
index 43bf14f1d59..a4744eda21a 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_fundamental/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_fundamental/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_member_pointer/is_member_pointer.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_member_pointer/is_member_pointer.cc
index f7ae576e234..0b194bbcb66 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_member_pointer/is_member_pointer.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_member_pointer/is_member_pointer.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.2 Composite type traits
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_member_pointer/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_member_pointer/typedefs.cc
index 90cb87433a2..65a882ca996 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_member_pointer/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_member_pointer/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/is_object.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/is_object.cc
index 99925d067a6..6283ece6876 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/is_object.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/is_object.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.2 Composite type traits
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/typedefs.cc
index a9529223e4b..61cf43f534c 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_scalar/is_scalar.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_scalar/is_scalar.cc
index 7fc1faf413c..e0cb20c2c4f 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_scalar/is_scalar.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_scalar/is_scalar.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.2 Composite type traits
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_scalar/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_scalar/typedefs.cc
index 5a1740fc8ee..b684c7cb185 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_scalar/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_scalar/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_union_or_class/is_union_or_class.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_union_or_class/is_union_or_class.cc
index 073128a00f5..82c727d1ce8 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_union_or_class/is_union_or_class.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_union_or_class/is_union_or_class.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.2 Composite type traits
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_union_or_class/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_union_or_class/typedefs.cc
index d62829afea8..65c84e03aab 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_union_or_class/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_union_or_class/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_const.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_const.cc
index 83394c4de13..8669098bc3d 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_const.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_const.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.7.1 Const-volatile modifications
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_cv.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_cv.cc
index 02d6460d6cd..c197501b08e 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_cv.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_cv.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.7.1 Const-volatile modifications
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_volatile.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_volatile.cc
index 09a9ef58544..489b05950b9 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_volatile.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_volatile.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.7.1 Const-volatile modifications
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_const.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_const.cc
index 1def556b4b1..792596ef290 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_const.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_const.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.7.1 Const-volatile modifications
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_cv.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_cv.cc
index 775f6ef5f34..1afcc788eae 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_cv.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_cv.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.7.1 Const-volatile modifications
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_volatile.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_volatile.cc
index 7cf9bf661fc..35c3d8e0994 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_volatile.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_volatile.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.7.1 Const-volatile modifications
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/true_false_type.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/true_false_type.cc
index c7c2b04874d..f3a65d62070 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/true_false_type.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/true_false_type.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.3 Helper classes
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/true_false_type_typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/true_false_type_typedefs.cc
index 403b39f6942..853ea723c7a 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/true_false_type_typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/true_false_type_typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/typedefs.cc
index dc5a75b5dee..e96c322ead0 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/other_transformations/aligned_storage/aligned_storage.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/other_transformations/aligned_storage/aligned_storage.cc
index de04f979c57..bbc336c24c8 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/other_transformations/aligned_storage/aligned_storage.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/other_transformations/aligned_storage/aligned_storage.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.8 Other transformations
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/other_transformations/aligned_storage/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/other_transformations/aligned_storage/typedefs.cc
index d6b42fb2082..4e51378e4d4 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/other_transformations/aligned_storage/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/other_transformations/aligned_storage/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/pointer_modifications/add_pointer.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/pointer_modifications/add_pointer.cc
index 71d1719de99..d87cd2e4271 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/pointer_modifications/add_pointer.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/pointer_modifications/add_pointer.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.7.2 Reference modifications
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/pointer_modifications/remove_pointer.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/pointer_modifications/remove_pointer.cc
index b3ba25bd324..6c17d024f5f 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/pointer_modifications/remove_pointer.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/pointer_modifications/remove_pointer.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.7.2 Reference modifications
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_array/is_array.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_array/is_array.cc
index 0505212c780..c38d1598100 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_array/is_array.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_array/is_array.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.1 Primary type categories
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_array/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_array/typedefs.cc
index b947a02e2e0..660403d4958 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_array/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_array/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/is_enum.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/is_enum.cc
index 0ae5887fcf6..97a77db1146 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/is_enum.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/is_enum.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.1 Primary type categories
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/typedefs.cc
index eeb10936c58..fc4e11bd4ab 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_floating_point/is_floating_point.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_floating_point/is_floating_point.cc
index c0496ebad3e..9b8e8463e5a 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_floating_point/is_floating_point.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_floating_point/is_floating_point.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.1 Primary type categories
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_floating_point/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_floating_point/typedefs.cc
index 00b351c3f00..b19cf1f09f1 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_floating_point/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_floating_point/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/is_function.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/is_function.cc
index 1c8d64dca4d..a1e2317106e 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/is_function.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/is_function.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.1 Primary type categories
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/typedefs.cc
index 805b805370d..db70185bf6f 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_integral/is_integral.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_integral/is_integral.cc
index 95221dc406b..2876c6d11a2 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_integral/is_integral.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_integral/is_integral.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.1 Primary type categories
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_integral/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_integral/typedefs.cc
index 59feb3625ef..19d6a67422e 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_integral/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_integral/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_function_pointer/is_member_function_pointer.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_function_pointer/is_member_function_pointer.cc
index 54b2711ae1b..b0b3f802046 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_function_pointer/is_member_function_pointer.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_function_pointer/is_member_function_pointer.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.1 Primary type categories
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_function_pointer/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_function_pointer/typedefs.cc
index 89112e3608f..48f1f22cb30 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_function_pointer/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_function_pointer/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_object_pointer/is_member_object_pointer.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_object_pointer/is_member_object_pointer.cc
index 4f1045e6803..e873edfa9a5 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_object_pointer/is_member_object_pointer.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_object_pointer/is_member_object_pointer.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.1 Primary type categories
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_object_pointer/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_object_pointer/typedefs.cc
index 414c2ea1624..0add4a0ad53 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_object_pointer/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_object_pointer/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_pointer/is_pointer.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_pointer/is_pointer.cc
index fd9a33a6cac..7435647d54d 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_pointer/is_pointer.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_pointer/is_pointer.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.1 Primary type categories
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_pointer/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_pointer/typedefs.cc
index 69141b27c19..6ba35d16024 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_pointer/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_pointer/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_reference/is_reference.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_reference/is_reference.cc
index d3c6b95e66b..8a799b7c424 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_reference/is_reference.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_reference/is_reference.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.1 Primary type categories
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_reference/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_reference/typedefs.cc
index ecc197b82d6..30c9e275a33 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_reference/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_reference/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_void/is_void.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_void/is_void.cc
index 45e4821756d..6f0450869e0 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_void/is_void.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_void/is_void.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.1 Primary type categories
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_void/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_void/typedefs.cc
index 16bf98e6e6c..24d19130887 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_void/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_void/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/reference_modifications/add_reference.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/reference_modifications/add_reference.cc
index 7674689433a..68e4db8ebb7 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/reference_modifications/add_reference.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/reference_modifications/add_reference.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.7.2 Reference modifications
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/reference_modifications/remove_reference.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/reference_modifications/remove_reference.cc
index f21d1a07cfc..e32312f812e 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/reference_modifications/remove_reference.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/reference_modifications/remove_reference.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.7.2 Reference modifications
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_base_of/is_base_of.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_base_of/is_base_of.cc
index cac05b2cb3e..07c17948df0 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_base_of/is_base_of.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_base_of/is_base_of.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.6 Relationships between types
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_base_of/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_base_of/typedefs.cc
index 0223f4d25f4..37ad6c68ef5 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_base_of/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_base_of/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_convertible/is_convertible.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_convertible/is_convertible.cc
index 19b360aca8d..7d98b016773 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_convertible/is_convertible.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_convertible/is_convertible.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.6 Relationships between types
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_convertible/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_convertible/typedefs.cc
index 333c405ac0c..6ee1de162b9 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_convertible/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_convertible/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_same/is_same.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_same/is_same.cc
index 29bd8a56b96..0fbae2eb357 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_same/is_same.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_same/is_same.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.6 Relationships between types
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_same/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_same/typedefs.cc
index 39c47e24286..460ebbbd5c7 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_same/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_same/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/alignment_of/alignment_of.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/alignment_of/alignment_of.cc
index b10fd3350c3..6da2822c6ee 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/alignment_of/alignment_of.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/alignment_of/alignment_of.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.3 Type properties
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/alignment_of/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/alignment_of/typedefs.cc
index 01c193a994a..8df7bba0a1d 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/alignment_of/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/alignment_of/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/extent/extent.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/extent/extent.cc
index a5891aa059a..39d067ef398 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/extent/extent.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/extent/extent.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.3 Type properties
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/extent/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/extent/typedefs.cc
index 0356b54b6d3..c7d4b958c57 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/extent/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/extent/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_assign/has_nothrow_assign.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_assign/has_nothrow_assign.cc
index f8f25e8c84e..b74d932c148 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_assign/has_nothrow_assign.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_assign/has_nothrow_assign.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.3 Type properties
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_assign/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_assign/typedefs.cc
index 88e61b9a95a..7251a3aaa63 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_assign/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_assign/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_constructor/has_nothrow_constructor.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_constructor/has_nothrow_constructor.cc
index 18c3a33fb2f..8296867fad9 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_constructor/has_nothrow_constructor.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_constructor/has_nothrow_constructor.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.3 Type properties
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_constructor/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_constructor/typedefs.cc
index 926d0f50fad..9e119845981 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_constructor/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_constructor/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_copy/has_nothrow_copy.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_copy/has_nothrow_copy.cc
index 7d59d5aafff..2ba1d9e073c 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_copy/has_nothrow_copy.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_copy/has_nothrow_copy.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.3 Type properties
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_copy/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_copy/typedefs.cc
index e786db397f8..4ec8cb0ab2f 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_copy/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_copy/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_assign/has_trivial_assign.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_assign/has_trivial_assign.cc
index 466697429a7..ac3553562c8 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_assign/has_trivial_assign.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_assign/has_trivial_assign.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.3 Type properties
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_assign/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_assign/typedefs.cc
index a63106f63eb..124131d95bc 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_assign/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_assign/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_constructor/has_trivial_constructor.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_constructor/has_trivial_constructor.cc
index 7559a43ffc1..77dcf1fb8e8 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_constructor/has_trivial_constructor.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_constructor/has_trivial_constructor.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.3 Type properties
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_constructor/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_constructor/typedefs.cc
index ef15f5be296..f6a57fcb63d 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_constructor/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_constructor/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_copy/has_trivial_copy.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_copy/has_trivial_copy.cc
index fabe255bbf8..8158c183200 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_copy/has_trivial_copy.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_copy/has_trivial_copy.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.3 Type properties
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_copy/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_copy/typedefs.cc
index 7d181e3b57e..0996f4648d0 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_copy/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_copy/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_destructor/has_trivial_destructor.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_destructor/has_trivial_destructor.cc
index e3cc9db9f8f..3af9c2673dd 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_destructor/has_trivial_destructor.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_destructor/has_trivial_destructor.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.3 Type properties
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_destructor/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_destructor/typedefs.cc
index 1ba4e6f75f9..948658943e7 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_destructor/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_destructor/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_abstract/is_abstract.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_abstract/is_abstract.cc
index 70e3ac8277a..89a10b3d3d3 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_abstract/is_abstract.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_abstract/is_abstract.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.3 Type properties
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_abstract/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_abstract/typedefs.cc
index c781c550ce0..49bb463de2e 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_abstract/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_abstract/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_const/is_const.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_const/is_const.cc
index 09c0a3c4820..55f36566887 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_const/is_const.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_const/is_const.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.3 Type properties
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_const/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_const/typedefs.cc
index 9910698b0fa..3a5dd667c2e 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_const/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_const/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_empty/is_empty.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_empty/is_empty.cc
index 861105498aa..44aab8b4694 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_empty/is_empty.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_empty/is_empty.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.3 Type properties
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_empty/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_empty/typedefs.cc
index 9ffc041606d..346581d1628 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_empty/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_empty/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_pod/is_pod.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_pod/is_pod.cc
index 485692091c8..116af85d2d8 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_pod/is_pod.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_pod/is_pod.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.3 Type properties
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_pod/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_pod/typedefs.cc
index db563d56e10..8dbfd3c38d4 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_pod/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_pod/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/is_polymorphic.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/is_polymorphic.cc
index 8945310f639..6a5efa046f9 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/is_polymorphic.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/is_polymorphic.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.3 Type properties
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/typedefs.cc
index 44ef1646fa1..14ba6903180 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_signed/is_signed.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_signed/is_signed.cc
index a987df279a1..351dde8d1a1 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_signed/is_signed.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_signed/is_signed.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.3 Type properties
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_signed/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_signed/typedefs.cc
index 52a528a5fb3..86730aeea7e 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_signed/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_signed/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_unsigned/is_unsigned.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_unsigned/is_unsigned.cc
index fc444b50326..19bb97526ef 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_unsigned/is_unsigned.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_unsigned/is_unsigned.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.3 Type properties
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_unsigned/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_unsigned/typedefs.cc
index 195a80c2738..4c90eced4bb 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_unsigned/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_unsigned/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_volatile/is_volatile.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_volatile/is_volatile.cc
index 9747d955644..6336ab7bf1e 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_volatile/is_volatile.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_volatile/is_volatile.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.3 Type properties
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_volatile/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_volatile/typedefs.cc
index 5104163955e..28794427b8c 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_volatile/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_volatile/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/rank/rank.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/rank/rank.cc
index d725d4f91c6..334de47f8ef 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/rank/rank.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/rank/rank.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 4.5.3 Type properties
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/rank/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/rank/typedefs.cc
index 7cbd600e598..800c316979f 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/rank/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/rank/typedefs.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
//
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 844ca5a7f54..7eda9223701 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/capacity/empty.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/capacity/empty.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.2.2 Class template array
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 d081b3daa87..bb04ab151a0 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
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.2.2 Class template array
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 d081b3daa87..bb04ab151a0 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/capacity/size.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/capacity/size.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.2.2 Class template array
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 0ace9aec0df..0df99ef0294 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
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.2.2 Class template array
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 3badc2033e6..11a8e770741 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
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.2.2 Class template array
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 aaf0cb06fbe..ad4e6d607f9 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
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.2.2 Class template array
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 c0debec764f..b42dc645f3e 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
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.2.2 Class template array
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 11ae4e8514c..6b8f6caf7c4 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
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.2.2 Class template array
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 f166ae74873..717fc8a8307 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
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.2.2 Class template array
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 f885424b6aa..a6ebca06691 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
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.2.2 Class template array
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 1b178565296..d288d20569a 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
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.2.2 Class template array
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 890704fb8ed..497fb61e32d 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
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.2.2 Class template array
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 2643600f431..7632674cf50 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/contiguous.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/contiguous.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.2.2 Class template array
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/instantiate.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/instantiate.cc
index f4d7b68b422..7ab5c2ad68c 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/instantiate.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/instantiate.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 225426d54b3..bb09757f5c4 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/typedefs.cc
@@ -17,7 +17,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
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 95d927514c1..47252457859 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
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.2.2.4 Zero sized arrays
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 ed3ad656c76..2b8e231f6ff 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Tuple
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 3723e59fd40..c145191678b 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/assignment.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/assignment.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Tuple
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 860a354e542..de2784a9c39 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Tuple
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 f3efc53953c..a869ac37310 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/constructor.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/constructor.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Tuple
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 67b69f55f35..54ff4d2e65b 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Tuple
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 4de95672741..c3c40e5de67 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Tuple
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 83ff17c44f4..7970d1fab5e 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
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Tuple
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 8a8b6305e1a..53bc46dd951 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/tuple/tuple_element.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/tuple/tuple_element.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Tuple
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 eb6c427b2e6..b868b356968 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/tuple/tuple_size.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/tuple/tuple_size.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Tuple
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/find/map1.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/find/map1.cc
index eb4385c7c33..8ff05d25d1f 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/find/map1.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/find/map1.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.3.4.4 unordered_map
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/find/multimap1.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/find/multimap1.cc
index 7adfaa1faf5..1fc3e18addb 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/find/multimap1.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/find/multimap1.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.3.4.6 unordered_multimap
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/find/multiset1.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/find/multiset1.cc
index 423667751a8..b06d511af82 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/find/multiset1.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/find/multiset1.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.3.4.5 unordered_set
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/find/set1.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/find/set1.cc
index 3baaee69f8d..a39612a1eea 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/find/set1.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/find/set1.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.3.4.3 unordered_set
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/23053.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/23053.cc
index 1f9d0e76a64..8d93c4feddc 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/23053.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/23053.cc
@@ -15,7 +15,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.3 Unordered associative containers
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/23465.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/23465.cc
index 35e52c2c693..56c3ab5bb02 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/23465.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/23465.cc
@@ -26,8 +26,8 @@ void test01()
{
bool test __attribute__((unused)) = true;
- for (float lf = 0.1; lf < 101.0; lf *= 10.0)
- for (int size = 1; size <= 6561; size *= 3)
+ for (float lf = 0.1; lf < 1001.0; lf *= 10.0)
+ for (int size = 1; size <= 19683; size *= 3)
{
std::tr1::unordered_set<int> us1, us2;
typedef std::tr1::unordered_set<int>::local_iterator local_iterator;
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/array_syntax.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/array_syntax.cc
index f0e614b3577..2664d76eb57 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/array_syntax.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/array_syntax.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.3.4.4 unordered_map
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/map_range.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/map_range.cc
index 7f8645b43c9..424cfb3948b 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/map_range.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/map_range.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.3.4.4 unordered_map
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/map_single.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/map_single.cc
index 0cb60dfb1cd..a4b02e8bdf0 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/map_single.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/map_single.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.3.4.4 unordered_map
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multimap_range.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multimap_range.cc
index cbc403a5d2e..6296c4fd560 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multimap_range.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multimap_range.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.3.4.6 unordered_multimap
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multimap_single.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multimap_single.cc
index bfd4056bb9e..815b8648ffa 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multimap_single.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multimap_single.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.3.4.6 unordered_multimap
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multiset_range.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multiset_range.cc
index d7abc0a3847..ab543e481bd 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multiset_range.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multiset_range.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.3.4.5 unordered_multiset
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multiset_single.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multiset_single.cc
index a02c12acf18..48fd1d4b580 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multiset_single.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multiset_single.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.3.4.5 unordered_multiset
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/set_range.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/set_range.cc
index e67dd4da239..24f973846b1 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/set_range.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/set_range.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.3.4.3 unordered_set
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/set_single.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/set_single.cc
index 203185af097..ab3d68ad8b4 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/set_single.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/set_single.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.3.4.3 unordered_set
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/hash.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/hash.cc
index 224ee65cf4c..da4515160a5 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/hash.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/hash.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.3.3 class template hash
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/map.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/map.cc
index 88fe2b08628..adb2913c9a3 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/map.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/map.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.3.4.4 unordered_map
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multimap.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multimap.cc
index 8132a318fae..9225d7974e9 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multimap.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multimap.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.3.4.6 unordered_multimap
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multiset.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multiset.cc
index 902adafcdc3..ce138c340bb 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multiset.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multiset.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.3.4.5 unordered_multiset
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/set.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/set.cc
index 52f3cb45140..32bde7165f5 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/set.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/set.cc
@@ -17,7 +17,7 @@
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.3.4.3 unordered_set
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/utility/19535.cc b/libstdc++-v3/testsuite/tr1/6_containers/utility/19535.cc
index 28ac42629b2..5430a1caa72 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/utility/19535.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/utility/19535.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// tr1 additions to pair
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/utility/pair.cc b/libstdc++-v3/testsuite/tr1/6_containers/utility/pair.cc
index e5683b4665f..c05665c66e3 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/utility/pair.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/utility/pair.cc
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// tr1 additions to pair
diff --git a/maintainer-scripts/ChangeLog b/maintainer-scripts/ChangeLog
index 9b805c79b9b..57bd915a201 100644
--- a/maintainer-scripts/ChangeLog
+++ b/maintainer-scripts/ChangeLog
@@ -1,3 +1,7 @@
+2005-08-14 Kelley Cook <kcook@gcc.gnu.org>
+
+ * gcc_release: Update with FSF address.
+
2005-07-26 Janis Johnson <janis187@us.ibm.com>
* update_version (ADD_BRANCHES): Add dfp-branch.
diff --git a/maintainer-scripts/gcc_release b/maintainer-scripts/gcc_release
index 51422b99af6..0c60cdb512d 100755
--- a/maintainer-scripts/gcc_release
+++ b/maintainer-scripts/gcc_release
@@ -25,8 +25,8 @@
#
# You should have received a copy of the GNU General Public License
# along with GCC; see the file COPYING. If not, write to
-# the Free Software Foundation, 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
+# the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
#
########################################################################