OSDN Git Service

Merge remote-tracking branch 'gnu/gcc-4_7-branch' into rework
authorMasaki Muranaka <monaka@monami-ya.jp>
Thu, 15 May 2014 06:08:55 +0000 (15:08 +0900)
committerMasaki Muranaka <monaka@monami-ya.jp>
Thu, 15 May 2014 06:08:55 +0000 (15:08 +0900)
Conflicts:
ChangeLog
Makefile.def
Makefile.in
boehm-gc/ChangeLog
boehm-gc/Makefile.am
boehm-gc/Makefile.in
config/ChangeLog
configure
configure.ac
contrib/ChangeLog
contrib/reghunt/ChangeLog
contrib/regression/ChangeLog
fixincludes/ChangeLog
gcc/BASE-VER
gcc/ChangeLog
gcc/DATESTAMP
gcc/DEV-PHASE
gcc/Makefile.in
gcc/ada/ChangeLog
gcc/ada/g-socthi-mingw.adb
gcc/ada/gcc-interface/Make-lang.in
gcc/ada/gcc-interface/Makefile.in
gcc/ada/gcc-interface/decl.c
gcc/ada/gcc-interface/trans.c
gcc/ada/gnatvsn.ads
gcc/ada/mlib-tgt-specific-darwin.adb
gcc/ada/system-darwin-ppc64.ads
gcc/ada/tracebak.c
gcc/c-decl.c
gcc/c-family/ChangeLog
gcc/c-family/c-common.c
gcc/c-family/c-ppoutput.c
gcc/c-family/c.opt
gcc/cfgrtl.c
gcc/cgraph.c
gcc/cgraph.h
gcc/cgraphunit.c
gcc/combine.c
gcc/config.gcc
gcc/config/alpha/alpha.c
gcc/config/alpha/linux-unwind.h
gcc/config/alpha/t-linux
gcc/config/arm/arm.c
gcc/config/arm/arm.h
gcc/config/arm/arm.md
gcc/config/arm/neon.md
gcc/config/arm/predicates.md
gcc/config/arm/t-arm-elf
gcc/config/arm/t-linux-eabi
gcc/config/arm/t-rtems-eabi
gcc/config/avr/avr-devices.c
gcc/config/avr/avr-protos.h
gcc/config/avr/avr.c
gcc/config/avr/avr.md
gcc/config/avr/libgcc.S
gcc/config/bfin/bfin.c
gcc/config/bfin/linux-unwind.h
gcc/config/darwin.c
gcc/config/host-linux.c
gcc/config/i386/constraints.md
gcc/config/i386/driver-i386.c
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/i386/i386.md
gcc/config/i386/linux-unwind.h
gcc/config/i386/linux.h
gcc/config/i386/linux64.h
gcc/config/i386/mingw32.h
gcc/config/i386/mmx.md
gcc/config/i386/predicates.md
gcc/config/i386/sse.md
gcc/config/i386/sync.md
gcc/config/i386/t-kfreebsd
gcc/config/i386/t-linux
gcc/config/i386/t-linux64
gcc/config/ia64/ia64.c
gcc/config/ia64/linux-unwind.h
gcc/config/mips/linux-unwind.h
gcc/config/mips/linux.h
gcc/config/mips/t-linux64
gcc/config/pa/linux-unwind.h
gcc/config/pa/pa-protos.h
gcc/config/pa/pa.c
gcc/config/pa/pa.h
gcc/config/pa/pa.md
gcc/config/pa/predicates.md
gcc/config/pa/t-linux
gcc/config/pa/t-linux64
gcc/config/rs6000/altivec.md
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.h
gcc/config/rs6000/rs6000.md
gcc/config/rs6000/t-fprules
gcc/config/rs6000/t-freebsd
gcc/config/rx/rx-protos.h
gcc/config/rx/rx.c
gcc/config/rx/rx.h
gcc/config/rx/rx.md
gcc/config/s390/s390.c
gcc/config/sh/linux-unwind.h
gcc/config/sh/sh.c
gcc/config/sol2.h
gcc/config/sparc/linux.h
gcc/config/sparc/linux64.h
gcc/config/sparc/sol2-64.h
gcc/config/sparc/sol2-bi.h
gcc/config/sparc/sol2-unwind.h
gcc/config/sparc/sol2.h
gcc/config/sparc/sparc.c
gcc/config/sparc/sparc.md
gcc/config/sparc/sparc.opt
gcc/config/sparc/t-linux
gcc/config/sparc/t-linux64
gcc/config/sparc/t-sol2
gcc/config/sparc/t-sol2-64
gcc/config/spu/spu.c
gcc/config/spu/t-spu-elf
gcc/config/xtensa/linux-unwind.h
gcc/configure
gcc/configure.ac
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/class.c
gcc/cp/cp-gimplify.c
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/error.c
gcc/cp/except.c
gcc/cp/init.c
gcc/cp/mangle.c
gcc/cp/method.c
gcc/cp/parser.c
gcc/cp/pt.c
gcc/cp/semantics.c
gcc/cp/tree.c
gcc/cp/typeck.c
gcc/cp/typeck2.c
gcc/cppdefault.c
gcc/doc/extend.texi
gcc/doc/fragments.texi
gcc/doc/install.texi
gcc/doc/invoke.texi
gcc/doc/standards.texi
gcc/doc/tm.texi
gcc/doc/tm.texi.in
gcc/dse.c
gcc/dwarf2out.c
gcc/emutls.c
gcc/expmed.c
gcc/expr.c
gcc/expr.h
gcc/fold-const.c
gcc/fortran/ChangeLog
gcc/fortran/check.c
gcc/fortran/class.c
gcc/fortran/expr.c
gcc/fortran/gfortran.h
gcc/fortran/gfortran.texi
gcc/fortran/interface.c
gcc/fortran/invoke.texi
gcc/fortran/module.c
gcc/fortran/parse.c
gcc/fortran/primary.c
gcc/fortran/resolve.c
gcc/fortran/simplify.c
gcc/fortran/trans-array.c
gcc/fortran/trans-decl.c
gcc/fortran/trans-expr.c
gcc/fortran/trans-io.c
gcc/function.c
gcc/ggc.h
gcc/gimple-fold.c
gcc/gimple.c
gcc/gimple.h
gcc/go/ChangeLog
gcc/godump.c
gcc/gthr-posix.h
gcc/gthr.h
gcc/ipa-cp.c
gcc/ipa-inline.c
gcc/ipa-prop.c
gcc/ipa-split.c
gcc/ipa.c
gcc/java/ChangeLog
gcc/longlong.h
gcc/lto-opts.c
gcc/lto-streamer-in.c
gcc/lto-streamer-out.c
gcc/lto/ChangeLog
gcc/lto/lto.c
gcc/lto/lto.h
gcc/objc/ChangeLog
gcc/objc/config-lang.in
gcc/objcp/ChangeLog
gcc/omp-low.c
gcc/po/ChangeLog
gcc/po/be.po
gcc/po/da.po
gcc/po/de.po
gcc/po/el.po
gcc/po/es.po
gcc/po/fi.po
gcc/po/fr.po
gcc/po/gcc.pot
gcc/po/id.po
gcc/po/ja.po
gcc/po/nl.po
gcc/po/ru.po
gcc/po/sr.po
gcc/po/sv.po
gcc/po/tr.po
gcc/po/vi.po
gcc/po/zh_CN.po
gcc/po/zh_TW.po
gcc/reload1.c
gcc/reorg.c
gcc/sel-sched-ir.c
gcc/simplify-rtx.c
gcc/stor-layout.c
gcc/target.def
gcc/target.h
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/abi/mangle60.C
gcc/testsuite/g++.dg/cpp0x/auto31.C
gcc/testsuite/g++.dg/cpp0x/constexpr-48089.C
gcc/testsuite/g++.dg/cpp0x/constexpr-diag1.C
gcc/testsuite/g++.dg/cpp0x/constexpr-friend.C
gcc/testsuite/g++.dg/cpp0x/constexpr-incomplete1.C
gcc/testsuite/g++.dg/cpp0x/constexpr-incomplete2.C
gcc/testsuite/g++.dg/cpp0x/constexpr-static7.C
gcc/testsuite/g++.dg/cpp0x/enum18.C
gcc/testsuite/g++.dg/cpp0x/error4.C
gcc/testsuite/g++.dg/cpp0x/initlist50.C
gcc/testsuite/g++.dg/cpp0x/noexcept11.C
gcc/testsuite/g++.dg/cpp0x/nullptr28.C
gcc/testsuite/g++.dg/cpp0x/pr45908.C
gcc/testsuite/g++.dg/cpp0x/regress/error-recovery1.C
gcc/testsuite/g++.dg/cpp0x/rv-cast3.C
gcc/testsuite/g++.dg/cpp0x/rv-cast4.C
gcc/testsuite/g++.dg/cpp0x/sfinae10.C
gcc/testsuite/g++.dg/cpp0x/sfinae11.C
gcc/testsuite/g++.dg/cpp0x/sfinae22.C
gcc/testsuite/g++.dg/cpp0x/sfinae26.C
gcc/testsuite/g++.dg/cpp0x/variadic-value1.C
gcc/testsuite/g++.dg/cpp0x/variadic111.C
gcc/testsuite/g++.dg/cpp0x/variadic134.C
gcc/testsuite/g++.dg/debug/dwarf2/icf.C
gcc/testsuite/g++.dg/diagnostic/bitfld2.C
gcc/testsuite/g++.dg/ext/complex7.C
gcc/testsuite/g++.dg/gomp/pr51360.C
gcc/testsuite/g++.dg/gomp/pr51669.C
gcc/testsuite/g++.dg/ipa/pr51759.C
gcc/testsuite/g++.dg/opt/pr48549.C
gcc/testsuite/g++.dg/torture/pr49309.C
gcc/testsuite/g++.dg/torture/pr49720.C
gcc/testsuite/g++.dg/vect/vect.exp
gcc/testsuite/g++.old-deja/g++.pt/crash60.C
gcc/testsuite/gcc.c-torture/compile/pr41679.c
gcc/testsuite/gcc.c-torture/compile/pr46883.c
gcc/testsuite/gcc.c-torture/compile/pr49029.c
gcc/testsuite/gcc.c-torture/execute/20111208-1.c
gcc/testsuite/gcc.c-torture/execute/20120111-1.c
gcc/testsuite/gcc.dg/debug/dwarf2/pr49871.c
gcc/testsuite/gcc.dg/debug/pr49032.c
gcc/testsuite/gcc.dg/noncompile/pr52290.c
gcc/testsuite/gcc.dg/pr48616.c
gcc/testsuite/gcc.dg/pr48774.c
gcc/testsuite/gcc.dg/pr51821.c
gcc/testsuite/gcc.dg/pr52139.c
gcc/testsuite/gcc.dg/pr56275.c
gcc/testsuite/gcc.dg/stack-usage-1.c
gcc/testsuite/gcc.dg/torture/pr50472.c
gcc/testsuite/gcc.dg/vect/pr48172.c
gcc/testsuite/gcc.dg/vect/pr48377.c
gcc/testsuite/gcc.dg/vect/pr49038.c
gcc/testsuite/gcc.dg/vect/slp-multitypes-2.c
gcc/testsuite/gcc.dg/vect/vect-peel-3.c
gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c
gcc/testsuite/gcc.target/arm/neon-vset_lanes8.c
gcc/testsuite/gcc.target/arm/pr51835.c
gcc/testsuite/gcc.target/arm/pr52006.c
gcc/testsuite/gcc.target/arm/wmul-1.c
gcc/testsuite/gcc.target/arm/wmul-2.c
gcc/testsuite/gcc.target/arm/wmul-3.c
gcc/testsuite/gcc.target/arm/wmul-4.c
gcc/testsuite/gcc.target/i386/avx-vinsertps-3.c
gcc/testsuite/gcc.target/i386/avx256-unaligned-load-1.c
gcc/testsuite/gcc.target/i386/avx256-unaligned-load-2.c
gcc/testsuite/gcc.target/i386/avx256-unaligned-load-3.c
gcc/testsuite/gcc.target/i386/avx256-unaligned-load-4.c
gcc/testsuite/gcc.target/i386/avx256-unaligned-store-1.c
gcc/testsuite/gcc.target/i386/avx256-unaligned-store-2.c
gcc/testsuite/gcc.target/i386/avx256-unaligned-store-3.c
gcc/testsuite/gcc.target/i386/avx256-unaligned-store-4.c
gcc/testsuite/gcc.target/i386/movdi-rex64.c
gcc/testsuite/gcc.target/i386/pr49920.c
gcc/testsuite/gcc.target/i386/pr50712.c
gcc/testsuite/gcc.target/i386/pr51393.c
gcc/testsuite/gcc.target/i386/sse4_1-insertps-3.c
gcc/testsuite/gcc.target/powerpc/altivec-34.c
gcc/testsuite/gfortran.dg/class_42.f03
gcc/testsuite/gfortran.dg/interface_35.f90
gcc/testsuite/gfortran.dg/pr56015.f90
gcc/testsuite/gfortran.dg/string_5.f90
gcc/testsuite/gfortran.dg/typebound_assignment_3.f03
gcc/testsuite/lib/gcc-dg.exp
gcc/testsuite/lib/scanasm.exp
gcc/testsuite/lib/target-supports.exp
gcc/toplev.c
gcc/tree-data-ref.c
gcc/tree-dfa.c
gcc/tree-inline.c
gcc/tree-mudflap.c
gcc/tree-sra.c
gcc/tree-ssa-alias.c
gcc/tree-ssa-ccp.c
gcc/tree-ssa-phiopt.c
gcc/tree-ssa-sccvn.c
gcc/tree-ssa.c
gcc/tree-vect-data-refs.c
gcc/tree-vect-loop-manip.c
gcc/tree-vect-loop.c
gcc/tree-vect-stmts.c
gcc/tree-vrp.c
gcc/tree.c
gcc/value-prof.c
gnattools/ChangeLog
include/ChangeLog
intl/ChangeLog
libada/ChangeLog
libcpp/ChangeLog
libcpp/po/ChangeLog
libcpp/po/be.po
libcpp/po/ca.po
libcpp/po/cpplib.pot
libcpp/po/da.po
libcpp/po/de.po
libcpp/po/el.po
libcpp/po/es.po
libcpp/po/fi.po
libcpp/po/fr.po
libcpp/po/id.po
libcpp/po/ja.po
libcpp/po/nl.po
libcpp/po/ru.po
libcpp/po/sv.po
libcpp/po/tr.po
libcpp/po/uk.po
libcpp/po/vi.po
libcpp/po/zh_CN.po
libcpp/po/zh_TW.po
libdecnumber/ChangeLog
libffi/ChangeLog
libffi/src/arm/ffi.c
libgcc/ChangeLog
libgcc/Makefile.in
libgcc/config.host
libgcc/config/i386/64/sfp-machine.h
libgcc/config/libbid/ChangeLog
libgcc/generic-morestack.c
libgfortran/ChangeLog
libgfortran/configure
libgfortran/configure.ac
libgfortran/intrinsics/eoshift2.c
libgfortran/intrinsics/system_clock.c
libgfortran/io/format.c
libgfortran/io/inquire.c
libgfortran/io/list_read.c
libgo/Makefile.in
libgo/configure.ac
libgomp/ChangeLog
libiberty/ChangeLog
libiberty/cp-demangle.c
libiberty/testsuite/demangle-expected
libjava/ChangeLog
libjava/classpath/ChangeLog
libjava/classpath/ChangeLog.gcj
libjava/configure
libjava/configure.ac
libjava/java/lang/natClass.cc
libjava/libltdl/ChangeLog
libmudflap/ChangeLog
libobjc/ChangeLog
libquadmath/ChangeLog
libquadmath/configure
libquadmath/configure.ac
libssp/ChangeLog
libssp/configure
libssp/configure.ac
libstdc++-v3/ChangeLog
libstdc++-v3/acinclude.m4
libstdc++-v3/config/abi/post/alpha-linux-gnu/baseline_symbols.txt
libstdc++-v3/config/abi/post/i386-linux-gnu/baseline_symbols.txt
libstdc++-v3/config/abi/post/i486-linux-gnu/baseline_symbols.txt
libstdc++-v3/config/abi/post/powerpc-linux-gnu/baseline_symbols.txt
libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt
libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt
libstdc++-v3/config/abi/post/s390-linux-gnu/baseline_symbols.txt
libstdc++-v3/config/abi/post/s390x-linux-gnu/baseline_symbols.txt
libstdc++-v3/config/abi/post/solaris2.10/amd64/baseline_symbols.txt
libstdc++-v3/config/abi/post/solaris2.10/baseline_symbols.txt
libstdc++-v3/config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt
libstdc++-v3/config/abi/post/sparc-linux-gnu/baseline_symbols.txt
libstdc++-v3/config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt
libstdc++-v3/config/abi/post/x86_64-linux-gnu/baseline_symbols.txt
libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
libstdc++-v3/config/abi/pre/gnu.ver
libstdc++-v3/configure
libstdc++-v3/configure.ac
libstdc++-v3/doc/html/api.html
libstdc++-v3/doc/html/bk02.html
libstdc++-v3/doc/html/bk03.html
libstdc++-v3/doc/html/faq.html
libstdc++-v3/doc/html/manual/abi.html
libstdc++-v3/doc/html/manual/algorithms.html
libstdc++-v3/doc/html/manual/api.html
libstdc++-v3/doc/html/manual/appendix_contributing.html
libstdc++-v3/doc/html/manual/appendix_free.html
libstdc++-v3/doc/html/manual/appendix_gfdl.html
libstdc++-v3/doc/html/manual/appendix_gpl.html
libstdc++-v3/doc/html/manual/appendix_porting.html
libstdc++-v3/doc/html/manual/associative.html
libstdc++-v3/doc/html/manual/atomics.html
libstdc++-v3/doc/html/manual/backwards.html
libstdc++-v3/doc/html/manual/bitmap_allocator.html
libstdc++-v3/doc/html/manual/bk01pt02.html
libstdc++-v3/doc/html/manual/bk01pt02ch05s02.html
libstdc++-v3/doc/html/manual/bk01pt03ch17s02.html
libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html
libstdc++-v3/doc/html/manual/bk01pt03ch17s04.html
libstdc++-v3/doc/html/manual/bk01pt03ch18s02.html
libstdc++-v3/doc/html/manual/bk01pt03ch18s03.html
libstdc++-v3/doc/html/manual/bk01pt03ch18s04.html
libstdc++-v3/doc/html/manual/bk01pt03ch18s05.html
libstdc++-v3/doc/html/manual/bk01pt03ch19s02.html
libstdc++-v3/doc/html/manual/bk01pt03ch19s03.html
libstdc++-v3/doc/html/manual/bk01pt03ch19s04.html
libstdc++-v3/doc/html/manual/bk01pt03ch19s05.html
libstdc++-v3/doc/html/manual/bk01pt03ch19s06.html
libstdc++-v3/doc/html/manual/bk01pt03ch19s07.html
libstdc++-v3/doc/html/manual/bk01pt03ch21s02.html
libstdc++-v3/doc/html/manual/bk01pt03ch21s03.html
libstdc++-v3/doc/html/manual/bk01pt03ch28s02.html
libstdc++-v3/doc/html/manual/bk01pt03ch28s03.html
libstdc++-v3/doc/html/manual/bk01pt03pr01.html
libstdc++-v3/doc/html/manual/bk01pt04.html
libstdc++-v3/doc/html/manual/bugs.html
libstdc++-v3/doc/html/manual/concurrency.html
libstdc++-v3/doc/html/manual/configure.html
libstdc++-v3/doc/html/manual/containers.html
libstdc++-v3/doc/html/manual/containers_and_c.html
libstdc++-v3/doc/html/manual/debug.html
libstdc++-v3/doc/html/manual/debug_mode.html
libstdc++-v3/doc/html/manual/diagnostics.html
libstdc++-v3/doc/html/manual/documentation_hacking.html
libstdc++-v3/doc/html/manual/dynamic_memory.html
libstdc++-v3/doc/html/manual/ext_algorithms.html
libstdc++-v3/doc/html/manual/ext_allocators.html
libstdc++-v3/doc/html/manual/ext_compile_checks.html
libstdc++-v3/doc/html/manual/ext_concurrency.html
libstdc++-v3/doc/html/manual/ext_containers.html
libstdc++-v3/doc/html/manual/ext_demangling.html
libstdc++-v3/doc/html/manual/ext_io.html
libstdc++-v3/doc/html/manual/ext_iterators.html
libstdc++-v3/doc/html/manual/ext_numerics.html
libstdc++-v3/doc/html/manual/ext_utilities.html
libstdc++-v3/doc/html/manual/extensions.html
libstdc++-v3/doc/html/manual/facets.html
libstdc++-v3/doc/html/manual/fstreams.html
libstdc++-v3/doc/html/manual/generalized_numeric_operations.html
libstdc++-v3/doc/html/manual/internals.html
libstdc++-v3/doc/html/manual/intro.html
libstdc++-v3/doc/html/manual/io.html
libstdc++-v3/doc/html/manual/io_and_c.html
libstdc++-v3/doc/html/manual/iterators.html
libstdc++-v3/doc/html/manual/license.html
libstdc++-v3/doc/html/manual/localization.html
libstdc++-v3/doc/html/manual/make.html
libstdc++-v3/doc/html/manual/memory.html
libstdc++-v3/doc/html/manual/numerics.html
libstdc++-v3/doc/html/manual/numerics_and_c.html
libstdc++-v3/doc/html/manual/pairs.html
libstdc++-v3/doc/html/manual/parallel_mode.html
libstdc++-v3/doc/html/manual/profile_mode.html
libstdc++-v3/doc/html/manual/setup.html
libstdc++-v3/doc/html/manual/source_code_style.html
libstdc++-v3/doc/html/manual/source_design_notes.html
libstdc++-v3/doc/html/manual/source_organization.html
libstdc++-v3/doc/html/manual/spine.html
libstdc++-v3/doc/html/manual/status.html
libstdc++-v3/doc/html/manual/streambufs.html
libstdc++-v3/doc/html/manual/strings.html
libstdc++-v3/doc/html/manual/stringstreams.html
libstdc++-v3/doc/html/manual/support.html
libstdc++-v3/doc/html/manual/termination.html
libstdc++-v3/doc/html/manual/test.html
libstdc++-v3/doc/html/manual/traits.html
libstdc++-v3/doc/html/manual/using.html
libstdc++-v3/doc/html/manual/using_concurrency.html
libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html
libstdc++-v3/doc/html/manual/using_exceptions.html
libstdc++-v3/doc/html/manual/using_headers.html
libstdc++-v3/doc/html/manual/using_macros.html
libstdc++-v3/doc/html/manual/using_namespaces.html
libstdc++-v3/doc/html/manual/utilities.html
libstdc++-v3/doc/html/spine.html
libstdc++-v3/doc/xml/manual/abi.xml
libstdc++-v3/doc/xml/manual/status_cxx200x.xml
libstdc++-v3/include/Makefile.am
libstdc++-v3/include/Makefile.in
libstdc++-v3/include/bits/c++config
libstdc++-v3/include/bits/hashtable.h
libstdc++-v3/include/bits/random.h
libstdc++-v3/include/bits/random.tcc
libstdc++-v3/include/bits/shared_ptr.h
libstdc++-v3/include/bits/shared_ptr_base.h
libstdc++-v3/include/bits/stl_numeric.h
libstdc++-v3/include/bits/stl_uninitialized.h
libstdc++-v3/include/bits/unique_ptr.h
libstdc++-v3/include/c_global/cmath
libstdc++-v3/include/debug/safe_iterator.h
libstdc++-v3/include/ext/concurrence.h
libstdc++-v3/include/ext/rope
libstdc++-v3/include/std/bitset
libstdc++-v3/include/std/complex
libstdc++-v3/include/std/functional
libstdc++-v3/include/std/future
libstdc++-v3/include/std/mutex
libstdc++-v3/include/std/stdexcept
libstdc++-v3/include/std/streambuf
libstdc++-v3/include/std/system_error
libstdc++-v3/include/std/tuple
libstdc++-v3/libsupc++/Makefile.in
libstdc++-v3/libsupc++/exception_ptr.h
libstdc++-v3/libsupc++/nested_exception.cc
libstdc++-v3/libsupc++/nested_exception.h
libstdc++-v3/src/Makefile.am
libstdc++-v3/src/Makefile.in
libstdc++-v3/src/condition_variable.cc
libstdc++-v3/src/future.cc
libstdc++-v3/src/stdexcept.cc
libstdc++-v3/src/system_error.cc
libstdc++-v3/src/thread.cc
libstdc++-v3/testsuite/20_util/reference_wrapper/invoke-2.cc
libstdc++-v3/testsuite/20_util/reference_wrapper/invoke.cc
libstdc++-v3/testsuite/20_util/reference_wrapper/ref_neg.cc
libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs-3.cc
libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc
libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc
libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc
libstdc++-v3/testsuite/21_strings/basic_string/cons/char/moveable2.cc
libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc
libstdc++-v3/testsuite/21_strings/basic_string/range_access.cc
libstdc++-v3/testsuite/22_locale/num_put/put/char/14220.cc
libstdc++-v3/testsuite/22_locale/num_put/put/char/9780-2.cc
libstdc++-v3/testsuite/23_containers/unordered_map/erase/51142.cc
libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/51142.cc
libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/51142.cc
libstdc++-v3/testsuite/23_containers/unordered_set/erase/51142.cc
libstdc++-v3/testsuite/25_algorithms/stable_partition/moveable.cc
libstdc++-v3/testsuite/29_atomics/atomic/cons/assign_neg.cc
libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_neg.cc
libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/assign_neg.cc
libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/copy_neg.cc
libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc
libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc
libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/increment_neg.cc
libstdc++-v3/testsuite/30_threads/condition_variable_any/50862.cc
libstdc++-v3/testsuite/Makefile.am
libstdc++-v3/testsuite/Makefile.in
libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc
libstdc++-v3/testsuite/ext/type_traits/add_unsigned_floating_neg.cc
libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_floating_neg.cc
libstdc++-v3/testsuite/util/testsuite_abi.cc
lto-plugin/ChangeLog
lto-plugin/configure
maintainer-scripts/ChangeLog
zlib/ChangeLog

54 files changed:
boehm-gc/include/Makefile.am
boehm-gc/include/Makefile.in
gcc/config/avr/avr.h
gcc/config/m32c/muldiv.md
gcc/config/m32c/predicates.md
gcc/config/m68k/t-linux
gcc/config/mips/toppers.h [new file with mode: 0644]
gcc/config/mn10300/mn10300.c
gcc/config/picochip/picochip.c
gcc/config/rx/predicates.md
gcc/config/sparc/t-crtin [new file with mode: 0644]
gcc/df-problems.c
gcc/final.c
gcc/predict.c
gcc/testsuite/g++.dg/cpp0x/initlist-49216.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/regress/49290.C [new file with mode: 0644]
gcc/testsuite/g++.dg/gomp/pr51360-2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/init/pr25811-2.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog-2005
gcc/testsuite/gcc.c-torture/compile/pr41679.c [deleted file]
gcc/testsuite/gcc.c-torture/compile/pr46883.c [deleted file]
gcc/testsuite/gcc.dg/gomp/pr51360.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr54472.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr49886.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/pr49642.c [new file with mode: 0644]
gcc/testsuite/gfortran.dg/allocatable_scalar_9.f90
gcc/testsuite/gfortran.dg/bessel_1.f90
gcc/testsuite/gfortran.dg/func_result_6.f90
gcc/testsuite/gfortran.dg/hypot_1.f90
gcc/testsuite/gfortran.dg/interface_assignment_4.f90
gcc/testsuite/gfortran.dg/proc_ptr_comp_20.f90
gcc/testsuite/gfortran.dg/proc_ptr_comp_21.f90
gcc/testsuite/gfortran.fortran-torture/compile/pr50260.f90 [new file with mode: 0644]
gcc/testsuite/lib/prune.exp
gcc/tree-eh.c
libgcc/config/ia64/t-linux
libgfortran/generated/eoshift3_16.c
libgfortran/generated/eoshift3_4.c
libgfortran/generated/eoshift3_8.c
libgfortran/io/file_pos.c
libgfortran/io/intrinsics.c
libgfortran/io/unix.c
libgfortran/io/unix.h
libgfortran/m4/eoshift3.m4
libstdc++-v3/config.h.in
libstdc++-v3/include/bits/stl_algo.h
libstdc++-v3/include/ext/type_traits.h
libstdc++-v3/include/parallel/algo.h
libstdc++-v3/libsupc++/Makefile.am
libstdc++-v3/src/functional.cc [new file with mode: 0644]
libstdc++-v3/src/shared_ptr.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/allocator/51626.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/type_traits/add_unsigned_integer_neg.cc
libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_integer_neg.cc

index 381ae76..63aec07 100644 (file)
@@ -1,4 +1,4 @@
-AUTOMAKE_OPTIONS = foreign
+AUTOMAKE_OPTIONS = foreign no-dist
 
 noinst_HEADERS = gc.h gc_backptr.h gc_local_alloc.h \
   gc_pthread_redirects.h gc_cpp.h
index c56e483..8287ef6 100644 (file)
@@ -198,7 +198,7 @@ toolexeclibdir = @toolexeclibdir@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = foreign
+AUTOMAKE_OPTIONS = foreign no-dist
 noinst_HEADERS = gc.h gc_backptr.h gc_local_alloc.h \
   gc_pthread_redirects.h gc_cpp.h
 
index 79a669d..cec00c1 100644 (file)
@@ -671,6 +671,13 @@ mmcu=*:-mmcu=%*} \
    is one byte below the first argument.  */
 #define ARG_POINTER_CFA_OFFSET(FNDECL)  -1
 
+#define INCOMING_RETURN_ADDR_RTX   avr_incoming_return_addr_rtx ()
+#define INCOMING_FRAME_SP_OFFSET   (AVR_3_BYTE_PC ? 3 : 2)
+
+/* The caller's stack pointer value immediately before the call
+   is one byte below the first argument.  */
+#define ARG_POINTER_CFA_OFFSET(FNDECL)  -1
+
 #define HARD_REGNO_RENAME_OK(OLD_REG, NEW_REG) \
   avr_hard_regno_rename_ok (OLD_REG, NEW_REG)
 
index 4987083..17b0b5d 100644 (file)
 (define_insn "umulhisi3_c"
   [(set (match_operand:SI 0 "ra_operand" "=Rsi")
         (mult:SI (zero_extend:SI (match_operand:HI 1 "mra_operand" "%0"))
-                 (match_operand 2 "immediate_operand" "i")))]
+                 (match_operand 2 "m32c_const_u16_operand" "i")))]
   ""
   "mulu.w\t%u2,%1"
   [(set_attr "flags" "o")]
index 9293baa..533f346 100644 (file)
 (define_predicate "m32c_1mask16_operand"
   (and (match_operand 0 "const_int_operand")
        (match_test "m32c_const_ok_for_constraint_p(INTVAL(op), 'I', \"Imw\")")))
+
+(define_predicate "m32c_const_u16_operand"
+  (and (match_operand 0 "const_int_operand")
+       (match_test "INTVAL (op) >= 0 && INTVAL (op) <= 65535")))
index aa64dfc..669a356 100644 (file)
@@ -23,6 +23,10 @@ ifeq ($(M68K_ARCH),m68k)
 MULTIARCH_DIRNAME = $(call if_multiarch,m68k-linux-gnu)
 endif
 
+ifeq ($(M68K_ARCH),m68k)
+MULTIARCH_DIRNAME = $(call if_multiarch,m68k-linux-gnu)
+endif
+
 # This rule uses MULTILIB_MATCHES to generate a definition of
 # SYSROOT_SUFFIX_SPEC.
 sysroot-suffix.h: $(srcdir)/config/m68k/print-sysroot-suffix.sh
diff --git a/gcc/config/mips/toppers.h b/gcc/config/mips/toppers.h
new file mode 100644 (file)
index 0000000..bb01f5f
--- /dev/null
@@ -0,0 +1,13 @@
+/* Specify predefined symbols in preprocessor.  */
+
+#define TARGET_OS_CPP_BUILTINS()       \
+do {                                   \
+  builtin_define ("__toppers__");      \
+} while (0)
+
+/* No sdata.
+ * The TOPPERS BSPs expect -G0
+ */
+#undef MIPS_DEFAULT_GVALUE
+#define MIPS_DEFAULT_GVALUE 0
+
index 8568189..81be520 100644 (file)
@@ -2475,6 +2475,7 @@ mn10300_encode_section_info (tree decl, rtx rtl, int first)
 
   if (! MEM_P (rtl))
     return;
+
   symbol = XEXP (rtl, 0);
   if (GET_CODE (symbol) != SYMBOL_REF)
     return;
index b878a1f..d7f9aeb 100644 (file)
@@ -332,6 +332,17 @@ static char picochip_get_vliw_alu_id (void);
 #undef TARGET_DELAY_VARTRACK
 #define TARGET_DELAY_VARTRACK true
 
+/* The 2nd scheduling pass option is switched off, and a machine
+   dependent reorganisation ensures that it is run later on, after the
+   second jump optimisation.  */
+#undef TARGET_DELAY_SCHED2
+#define TARGET_DELAY_SCHED2 true
+
+/* Variable tracking should be run after all optimizations which
+   change order of insns.  It also needs a valid CFG.  */
+#undef TARGET_DELAY_VARTRACK
+#define TARGET_DELAY_VARTRACK true
+
 struct gcc_target targetm = TARGET_INITIALIZER;
 \f
 
index aa0321e..6ec27ce 100644 (file)
 )
 
 (define_predicate "rx_zs_comparison_operator"
-  (match_code "eq,ne,lt,ge")
+  (match_code "eq,ne")
 )
 
 ;; GT and LE omitted due to operand swap required.
diff --git a/gcc/config/sparc/t-crtin b/gcc/config/sparc/t-crtin
new file mode 100644 (file)
index 0000000..2612bac
--- /dev/null
@@ -0,0 +1,6 @@
+EXTRA_PARTS += crti.o crtn.o
+
+$(T)crti.o: $(srcdir)/config/sparc/sol2-ci.asm $(GCC_PASSES)
+       $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crti.o -x assembler-with-cpp $(srcdir)/config/sparc/sol2-ci.asm
+$(T)crtn.o: $(srcdir)/config/sparc/sol2-cn.asm $(GCC_PASSES)
+       $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/sparc/sol2-cn.asm
index 4afdd6f..f560207 100644 (file)
@@ -4010,6 +4010,19 @@ can_move_insns_across (rtx from, rtx to, rtx across_from, rtx across_to,
   df_simulate_initialize_backwards (merge_bb, test_use);
   for (insn = across_to; ; insn = next)
     {
+      if (CALL_P (insn))
+       {
+         if (RTL_CONST_OR_PURE_CALL_P (insn))
+           /* Pure functions can read from memory.  Const functions can
+              read from arguments that the ABI has forced onto the stack.
+              Neither sort of read can be volatile.  */
+           memrefs_in_across |= MEMREF_NORMAL;
+         else
+           {
+             memrefs_in_across |= MEMREF_VOLATILE;
+             mem_sets_in_across |= MEMREF_VOLATILE;
+           }
+       }
       if (NONDEBUG_INSN_P (insn))
        {
          df_simulate_find_defs (insn, test_set);
index 718caf1..e83ef20 100644 (file)
@@ -2320,6 +2320,11 @@ final_scan_insn (rtx insn, FILE *file, int optimize_p ATTRIBUTE_UNUSED,
            location_t loc;
            expanded_location expanded;
 
+           /* Make sure we flush any queued register saves in case this
+              clobbers affected registers.  */
+           if (dwarf2out_do_frame ())
+             dwarf2out_frame_debug (insn, false);
+
            /* There's no telling what that did to the condition codes.  */
            CC_STATUS_INIT;
 
index 2f550e7..b3145e0 100644 (file)
@@ -1,6 +1,6 @@
 /* Branch prediction routines for the GNU compiler.
    Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010
-   Free Software Foundation, Inc.
+   2011, 2012, 2013 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
diff --git a/gcc/testsuite/g++.dg/cpp0x/initlist-49216.C b/gcc/testsuite/g++.dg/cpp0x/initlist-49216.C
new file mode 100644 (file)
index 0000000..4bf6082
--- /dev/null
@@ -0,0 +1,6 @@
+// PR c++/49216
+// { dg-options -std=c++0x }
+
+int main() {
+  new int[1]{};
+}
diff --git a/gcc/testsuite/g++.dg/cpp0x/regress/49290.C b/gcc/testsuite/g++.dg/cpp0x/regress/49290.C
new file mode 100644 (file)
index 0000000..71e46c5
--- /dev/null
@@ -0,0 +1,12 @@
+typedef unsigned T;
+struct S
+{
+  T foo (void);
+  static unsigned s1[16];
+};
+T
+S::foo ()
+{
+  T u = *(T *) (s1 + 10);
+  return u;
+}
diff --git a/gcc/testsuite/g++.dg/gomp/pr51360-2.C b/gcc/testsuite/g++.dg/gomp/pr51360-2.C
new file mode 100644 (file)
index 0000000..cc03849
--- /dev/null
@@ -0,0 +1,21 @@
+/* PR c/51360 */
+/* { dg-do compile } */
+/* { dg-options "-Wunused -W -fopenmp" } */
+
+void
+foo (int a, int b, int c)
+{
+  int m, n, o, i;
+  m = 6;
+  n = 1;
+  o = 5;
+  a = 6;
+  b = 1;
+  c = 5;
+  #pragma omp parallel for num_threads (m) if (n) schedule (static, o)
+  for (i = 0; i < 10; i++)
+    ;
+  #pragma omp parallel for num_threads (a) if (b) schedule (static, c)
+  for (i = 0; i < 10; i++)
+    ;
+}
diff --git a/gcc/testsuite/g++.dg/init/pr25811-2.C b/gcc/testsuite/g++.dg/init/pr25811-2.C
new file mode 100644 (file)
index 0000000..3a36dd4
--- /dev/null
@@ -0,0 +1,26 @@
+// { dg-do compile }
+// { dg-options -fpermissive }
+
+struct A
+{
+  int const i; // { dg-message "should be initialized" }
+};
+
+struct B
+{
+  int& r; // { dg-message "should be initialized" }
+};
+
+struct C
+{
+  int const i : 1; // { dg-message "should be initialized" }
+};
+
+void f()
+{
+  new A;  // { dg-warning "uninitialized" }
+  new B;  // { dg-warning "uninitialized" }
+  new C;  // { dg-warning "uninitialized" }
+  C c;    // { dg-warning "uninitialized" }
+  A a[1]; // { dg-warning "uninitialized" }
+}
index 995ac91..363ea17 100644 (file)
@@ -1,3 +1,23 @@
+2013-04-12  Release Manager
+
+       * GCC 4.6.4 released.
+
+2012-03-01  Release Manager
+
+       * GCC 4.6.3 released.
+
+2011-10-26  Release Manager
+
+       * GCC 4.6.2 released.
+
+2011-06-27  Release Manager
+
+       * GCC 4.6.1 released.
+
+2011-03-25  Release Manager
+
+       * GCC 4.6.0 released.
+
 2005-04-03  Alexandre Oliva  <aoliva@redhat.com>
 
        PR c++/19199
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr41679.c b/gcc/testsuite/gcc.c-torture/compile/pr41679.c
deleted file mode 100644 (file)
index aa10cb6..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-/* { dg-options "-g" } */
-
-extern int a;
-extern char b;
-extern int foo (void);
-
-void
-test (void)
-{
-  int c;
-  b = foo () ? '~' : '\0';
-  while ((c = foo ()))
-    if (c == '7')
-      a = 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr46883.c b/gcc/testsuite/gcc.c-torture/compile/pr46883.c
deleted file mode 100644 (file)
index db8527d..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-void bar (unsigned char *q, unsigned short *data16s, int len)
-{
-  int i;
-
-  for (i = 0; i < len; i++)
-    {
-      q[2 * i] =
-        (((data16s[i] & 0xFF) << 8) | ((data16s[i] >> 8) & 0xFF)) & 0xFF;
-      q[2 * i + 1] =
-        ((unsigned short)
-         (((data16s[i] & 0xFF) << 8) | ((data16s[i] >> 8) & 0xFF))) >> 8;
-    }
-}
diff --git a/gcc/testsuite/gcc.dg/gomp/pr51360.c b/gcc/testsuite/gcc.dg/gomp/pr51360.c
new file mode 100644 (file)
index 0000000..cc03849
--- /dev/null
@@ -0,0 +1,21 @@
+/* PR c/51360 */
+/* { dg-do compile } */
+/* { dg-options "-Wunused -W -fopenmp" } */
+
+void
+foo (int a, int b, int c)
+{
+  int m, n, o, i;
+  m = 6;
+  n = 1;
+  o = 5;
+  a = 6;
+  b = 1;
+  c = 5;
+  #pragma omp parallel for num_threads (m) if (n) schedule (static, o)
+  for (i = 0; i < 10; i++)
+    ;
+  #pragma omp parallel for num_threads (a) if (b) schedule (static, c)
+  for (i = 0; i < 10; i++)
+    ;
+}
diff --git a/gcc/testsuite/gcc.dg/pr54472.c b/gcc/testsuite/gcc.dg/pr54472.c
new file mode 100644 (file)
index 0000000..9395203
--- /dev/null
@@ -0,0 +1,9 @@
+/* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */
+/* { dg-options "-O -fschedule-insns -fselective-scheduling" } */
+
+int main ()
+{
+  int a[3][3][3];
+  __builtin_memset (a, 0, sizeof a);
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr49886.c b/gcc/testsuite/gcc.dg/torture/pr49886.c
new file mode 100644 (file)
index 0000000..f0e8e60
--- /dev/null
@@ -0,0 +1,102 @@
+/* { dg-do run } */
+
+struct PMC {
+    unsigned flags;
+};
+
+typedef struct Pcc_cell
+{
+    struct PMC *p;
+    long bla;
+    long type;
+} Pcc_cell;
+
+int gi;
+int cond;
+
+extern void abort ();
+extern void never_ever(int interp, struct PMC *pmc)
+  __attribute__((noinline,noclone));
+
+void never_ever (int interp, struct PMC *pmc)
+{
+  abort ();
+}
+
+static void mark_cell(int * interp, Pcc_cell *c)
+  __attribute__((__nonnull__(1)));
+
+static void
+mark_cell(int * interp, Pcc_cell *c)
+{
+  if (!cond)
+    return;
+
+  if (c && c->type == 4 && c->p
+      && !(c->p->flags & (1<<18)))
+    never_ever(gi + 1, c->p);
+  if (c && c->type == 4 && c->p
+      && !(c->p->flags & (1<<17)))
+    never_ever(gi + 2, c->p);
+  if (c && c->type == 4 && c->p
+      && !(c->p->flags & (1<<16)))
+    never_ever(gi + 3, c->p);
+  if (c && c->type == 4 && c->p
+      && !(c->p->flags & (1<<15)))
+    never_ever(gi + 4, c->p);
+  if (c && c->type == 4 && c->p
+      && !(c->p->flags & (1<<14)))
+    never_ever(gi + 5, c->p);
+  if (c && c->type == 4 && c->p
+      && !(c->p->flags & (1<<13)))
+    never_ever(gi + 6, c->p);
+  if (c && c->type == 4 && c->p
+      && !(c->p->flags & (1<<12)))
+    never_ever(gi + 7, c->p);
+  if (c && c->type == 4 && c->p
+      && !(c->p->flags & (1<<11)))
+    never_ever(gi + 8, c->p);
+  if (c && c->type == 4 && c->p
+      && !(c->p->flags & (1<<10)))
+    never_ever(gi + 9, c->p);
+}
+
+static void
+foo(int * interp, Pcc_cell *c)
+{
+  mark_cell(interp, c);
+}
+
+static struct Pcc_cell *
+__attribute__((noinline,noclone))
+getnull(void)
+{
+  return (struct Pcc_cell *) 0;
+}
+
+
+int main()
+{
+  int i;
+
+  cond = 1;
+  for (i = 0; i < 100; i++)
+    foo (&gi, getnull ());
+  return 0;
+}
+
+
+void
+bar_1 (int * interp, Pcc_cell *c)
+{
+  c->bla += 1;
+  mark_cell(interp, c);
+}
+
+void
+bar_2 (int * interp, Pcc_cell *c)
+{
+  c->bla += 2;
+  mark_cell(interp, c);
+}
+
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr49642.c b/gcc/testsuite/gcc.dg/tree-ssa/pr49642.c
new file mode 100644 (file)
index 0000000..65a0b12
--- /dev/null
@@ -0,0 +1,49 @@
+/* Verify that ipa-split is disabled following __builtin_constant_p.  */
+
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-optimized" } */
+
+typedef unsigned int u32;
+typedef unsigned long long u64;
+
+static inline __attribute__((always_inline)) __attribute__((const))
+int __ilog2_u32(u32 n)
+{
+ int bit;
+ asm ("cntlzw %0,%1" : "=r" (bit) : "r" (n));
+ return 31 - bit;
+}
+
+
+static inline __attribute__((always_inline)) __attribute__((const))
+int __ilog2_u64(u64 n)
+{
+ int bit;
+ asm ("cntlzd %0,%1" : "=r" (bit) : "r" (n));
+ return 63 - bit;
+}
+
+
+
+static u64 ehca_map_vaddr(void *caddr);
+
+struct ehca_shca {
+        u32 hca_cap_mr_pgsize;
+};
+
+static u64 ehca_get_max_hwpage_size(struct ehca_shca *shca)
+{
+ return 1UL << ( __builtin_constant_p(shca->hca_cap_mr_pgsize) ? ( (shca->hca_cap_mr_pgsize) < 1 ? ____ilog2_NaN() : (shca->hca_cap_mr_pgsize) & (1ULL << 63) ? 63 : (shca->hca_cap_mr_pgsize) & (1ULL << 62) ? 62 : (shca->hca_cap_mr_pgsize) & (1ULL << 61) ? 61 : (shca->hca_cap_mr_pgsize) & (1ULL << 60) ? 60 : (shca->hca_cap_mr_pgsize) & (1ULL << 59) ? 59 : (shca->hca_cap_mr_pgsize) & (1ULL << 58) ? 58 : (shca->hca_cap_mr_pgsize) & (1ULL << 57) ? 57 : (shca->hca_cap_mr_pgsize) & (1ULL << 56) ? 56 : (shca->hca_cap_mr_pgsize) & (1ULL << 55) ? 55 : (shca->hca_cap_mr_pgsize) & (1ULL << 54) ? 54 : (shca->hca_cap_mr_pgsize) & (1ULL << 53) ? 53 : (shca->hca_cap_mr_pgsize) & (1ULL << 52) ? 52 : (shca->hca_cap_mr_pgsize) & (1ULL << 51) ? 51 : (shca->hca_cap_mr_pgsize) & (1ULL << 50) ? 50 : (shca->hca_cap_mr_pgsize) & (1ULL << 49) ? 49 : (shca->hca_cap_mr_pgsize) & (1ULL << 48) ? 48 : (shca->hca_cap_mr_pgsize) & (1ULL << 47) ? 47 : (shca->hca_cap_mr_pgsize) & (1ULL << 46) ? 46 : (shca->hca_cap_mr_pgsize) & (1ULL << 45) ? 45 : (shca->hca_cap_mr_pgsize) & (1ULL << 44) ? 44 : (shca->hca_cap_mr_pgsize) & (1ULL << 43) ? 43 : (shca->hca_cap_mr_pgsize) & (1ULL << 42) ? 42 : (shca->hca_cap_mr_pgsize) & (1ULL << 41) ? 41 : (shca->hca_cap_mr_pgsize) & (1ULL << 40) ? 40 : (shca->hca_cap_mr_pgsize) & (1ULL << 39) ? 39 : (shca->hca_cap_mr_pgsize) & (1ULL << 38) ? 38 : (shca->hca_cap_mr_pgsize) & (1ULL << 37) ? 37 : (shca->hca_cap_mr_pgsize) & (1ULL << 36) ? 36 : (shca->hca_cap_mr_pgsize) & (1ULL << 35) ? 35 : (shca->hca_cap_mr_pgsize) & (1ULL << 34) ? 34 : (shca->hca_cap_mr_pgsize) & (1ULL << 33) ? 33 : (shca->hca_cap_mr_pgsize) & (1ULL << 32) ? 32 : (shca->hca_cap_mr_pgsize) & (1ULL << 31) ? 31 : (shca->hca_cap_mr_pgsize) & (1ULL << 30) ? 30 : (shca->hca_cap_mr_pgsize) & (1ULL << 29) ? 29 : (shca->hca_cap_mr_pgsize) & (1ULL << 28) ? 28 : (shca->hca_cap_mr_pgsize) & (1ULL << 27) ? 27 : (shca->hca_cap_mr_pgsize) & (1ULL << 26) ? 26 : (shca->hca_cap_mr_pgsize) & (1ULL << 25) ? 25 : (shca->hca_cap_mr_pgsize) & (1ULL << 24) ? 24 : (shca->hca_cap_mr_pgsize) & (1ULL << 23) ? 23 : (shca->hca_cap_mr_pgsize) & (1ULL << 22) ? 22 : (shca->hca_cap_mr_pgsize) & (1ULL << 21) ? 21 : (shca->hca_cap_mr_pgsize) & (1ULL << 20) ? 20 : (shca->hca_cap_mr_pgsize) & (1ULL << 19) ? 19 : (shca->hca_cap_mr_pgsize) & (1ULL << 18) ? 18 : (shca->hca_cap_mr_pgsize) & (1ULL << 17) ? 17 : (shca->hca_cap_mr_pgsize) & (1ULL << 16) ? 16 : (shca->hca_cap_mr_pgsize) & (1ULL << 15) ? 15 : (shca->hca_cap_mr_pgsize) & (1ULL << 14) ? 14 : (shca->hca_cap_mr_pgsize) & (1ULL << 13) ? 13 : (shca->hca_cap_mr_pgsize) & (1ULL << 12) ? 12 : (shca->hca_cap_mr_pgsize) & (1ULL << 11) ? 11 : (shca->hca_cap_mr_pgsize) & (1ULL << 10) ? 10 : (shca->hca_cap_mr_pgsize) & (1ULL << 9) ? 9 : (shca->hca_cap_mr_pgsize) & (1ULL << 8) ? 8 : (shca->hca_cap_mr_pgsize) & (1ULL << 7) ? 7 : (shca->hca_cap_mr_pgsize) & (1ULL << 6) ? 6 : (shca->hca_cap_mr_pgsize) & (1ULL << 5) ? 5 : (shca->hca_cap_mr_pgsize) & (1ULL << 4) ? 4 : (shca->hca_cap_mr_pgsize) & (1ULL << 3) ? 3 : (shca->hca_cap_mr_pgsize) & (1ULL << 2) ? 2 : (shca->hca_cap_mr_pgsize) & (1ULL << 1) ? 1 : (shca->hca_cap_mr_pgsize) & (1ULL << 0) ? 0 : ____ilog2_NaN() ) : (sizeof(shca->hca_cap_mr_pgsize) <= 4) ? __ilog2_u32(shca->hca_cap_mr_pgsize) : __ilog2_u64(shca->hca_cap_mr_pgsize) );
+}
+
+int x(struct ehca_shca *shca) {
+        return ehca_get_max_hwpage_size(shca);
+}
+
+int y(struct ehca_shca *shca)
+{
+        return ehca_get_max_hwpage_size(shca);
+}
+
+/* { dg-final { scan-tree-dump-times "____ilog2_NaN" 0 "optimized" } } */
+/* { dg-final { cleanup-tree-dump "optimized" } } */
index f4c6599..fef9b05 100644 (file)
@@ -49,7 +49,7 @@ if(allocated(na3%b3)) call abort()
 if(allocated(na4%b4)) call abort()
 end
 
-! { dg-final { scan-tree-dump-times "__builtin_free" 32 "original" } }
+! { dg-final { scan-tree-dump-times "__builtin_free" 38 "original" } }
 ! { dg-final { cleanup-tree-dump "original" } }
 
 ! { dg-final { cleanup-modules "m" } }
index 728c5ce..fb1e19b 100644 (file)
@@ -26,11 +26,11 @@ program test
   call check(bessel_yn (3,x4), bessel_yn (3,1.9_4))
 
 contains
-  subroutine check_r4 (a, b)
+  subroutine check_r4 (a, b) ! { dg-warning "Extension: Internal procedure" }
     real(kind=4), intent(in) :: a, b
     if (abs(a - b) > 1.e-5 * abs(b)) call abort
   end subroutine
-  subroutine check_r8 (a, b)
+  subroutine check_r8 (a, b) ! { dg-warning "Extension: Internal procedure" }
     real(kind=8), intent(in) :: a, b
     if (abs(a - b) > 1.e-7 * abs(b)) call abort
   end subroutine
index e64a2ef..e8347be 100644 (file)
@@ -63,7 +63,7 @@ if (ptr /= 2) call abort()
 bar = gen()
 if (ptr /= 77) call abort()
 contains
-  function foo()
+  function foo() ! { dg-warning "Extension: Internal procedure .foo. in generic interface" }
     integer, allocatable :: foo(:)
     allocate(foo(2))
     foo = [33, 77]
index 59022fa..0c1c6e2 100644 (file)
@@ -18,11 +18,11 @@ program test
   call check(hypot(x4,y4), hypot(1.9_4,-2.1_4))
 
 contains
-  subroutine check_r4 (a, b)
+  subroutine check_r4 (a, b) ! { dg-warning "Extension: Internal procedure" }
     real(kind=4), intent(in) :: a, b
     if (abs(a - b) > 1.e-5 * abs(b)) call abort
   end subroutine
-  subroutine check_r8 (a, b)
+  subroutine check_r8 (a, b) ! { dg-warning "Extension: Internal procedure" }
     real(kind=8), intent(in) :: a, b
     if (abs(a - b) > 1.e-7 * abs(b)) call abort
   end subroutine
index 535e884..d55af29 100644 (file)
@@ -16,7 +16,7 @@
 
 contains
 
-  subroutine op_assign_VS_CH (var, exp)
+  subroutine op_assign_VS_CH (var, exp) ! { dg-warning "Extension: Internal procedure" }
     type(varying_string), intent(out) :: var
     character(LEN=*), intent(in)      :: exp
   end subroutine
index 3cad7df..e38e654 100644 (file)
@@ -35,12 +35,12 @@ o1%ppc => o2%ppc  ! { dg-error "Type/rank mismatch" }
 
 contains
 
-  real function f1(a,b)
+  real function f1(a,b) ! { dg-warning "Extension: Internal procedure" }
     real,intent(in) :: a,b
     f1 = a + b
   end function
 
-  integer function f2(a,b)
+  integer function f2(a,b) ! { dg-warning "Extension: Internal procedure" }
     real,intent(in) :: a,b
     f2 = a - b
   end function
index c000896..a21916b 100644 (file)
@@ -19,7 +19,7 @@
 
 contains
 
-  elemental subroutine op_assign (str, ch)
+  elemental subroutine op_assign (str, ch) ! { dg-warning "Extension: Internal procedure" }
     type(nf_t), intent(out) :: str
     character(len=*), intent(in) :: ch
   end subroutine
diff --git a/gcc/testsuite/gfortran.fortran-torture/compile/pr50260.f90 b/gcc/testsuite/gfortran.fortran-torture/compile/pr50260.f90
new file mode 100644 (file)
index 0000000..10f2618
--- /dev/null
@@ -0,0 +1,48 @@
+MODULE cp_parser_methods
+  INTEGER, PARAMETER :: default_string_length=80
+  INTEGER, PARAMETER :: default_path_length=250
+  TYPE ilist_type
+     LOGICAL                              :: in_use
+  END TYPE ilist_type
+  TYPE cp_parser_type
+     CHARACTER(LEN=default_path_length)             :: ifn
+     INTEGER                                        :: icol,icol1,icol2
+     TYPE(ilist_type), POINTER                      :: ilist
+  END TYPE cp_parser_type
+  TYPE cp_error_type
+  END TYPE cp_error_type
+CONTAINS
+  FUNCTION cts(i) RESULT(res)
+    CHARACTER(len=6)                         :: res
+  END FUNCTION cts
+  FUNCTION parser_location(parser,error) RESULT(res)
+    TYPE(cp_parser_type), POINTER            :: parser
+    TYPE(cp_error_type), INTENT(inout)       :: error
+    CHARACTER(len=default_path_length+default_string_length)       :: res
+    LOGICAL                                  :: failure
+    IF (.NOT. failure) THEN
+       res="file:'"//TRIM(parser%ifn)//"' line:"//cts(parser%icol)
+    END IF
+  END FUNCTION parser_location
+  SUBROUTINE parser_get_integer(parser,at_end, error)
+    TYPE(cp_parser_type), POINTER            :: parser
+    TYPE(cp_error_type), INTENT(inout)       :: error
+    LOGICAL                                  :: failure, my_at_end
+    IF (.NOT.failure) THEN
+       IF (.NOT.parser%ilist%in_use) THEN
+          CALL cp_assert("A"// TRIM(parser_location(parser,error)))
+       END IF
+    END IF
+  END SUBROUTINE parser_get_integer
+  SUBROUTINE parser_get_string(parser,at_end,error)
+    TYPE(cp_parser_type), POINTER            :: parser
+    LOGICAL, INTENT(out), OPTIONAL           :: at_end
+    TYPE(cp_error_type), INTENT(inout)       :: error
+    LOGICAL                                  :: failure, my_at_end
+    IF (.NOT.failure) THEN
+       IF (PRESENT(at_end)) THEN
+          CALL cp_assert("s"//TRIM(parser_location(parser,error)))
+       END IF
+    END IF
+  END SUBROUTINE parser_get_string
+END MODULE cp_parser_methods
index 09d2581..16ac667 100644 (file)
@@ -34,6 +34,9 @@ proc prune_gcc_output { text } {
     # Ignore informational notes.
     regsub -all "(^|\n)\[^\n\]*: note: \[^\n\]*" $text "" text
 
+    # Ignore informational notes.
+    regsub -all "(^|\n)\[^\n\]*: note: \[^\n\]*" $text "" text
+
     # Ignore harmless -fpic warnings.
     regsub -all "(^|\n)\[^\n\]*: warning: -f(pic|PIC) ignored for target\[^\n\]*" $text "" text
     regsub -all "(^|\n)\[^\n\]*: warning: -f(pic|PIC)( and -fpic are| is)? not supported\[^\n\]*" $text "" text
index 26724dc..5d7d970 100644 (file)
@@ -2551,6 +2551,13 @@ tree_could_trap_p (tree expr)
        }
       return false;
 
+    case VAR_DECL:
+    case FUNCTION_DECL:
+      /* Assume that accesses to weak vars or functions may trap.  */
+      if (DECL_WEAK (expr))
+        return true;
+      return false;
+
     default:
       return false;
     }
index e6d72b9..ddb5fe3 100644 (file)
@@ -3,3 +3,5 @@ LIB2ADDEH = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c \
   $(srcdir)/unwind-compat.c
 
 SHLIB_MAPFILES += $(srcdir)/config/ia64/libgcc-glibc.ver
+
+MULTIARCH_DIRNAME = $(call if_multiarch,ia64-linux-gnu)
index 1cf2167..59aa62e 100644 (file)
@@ -89,7 +89,6 @@ eoshift3 (gfc_array_char * const restrict ret,
     {
       int i;
 
-      ret->data = internal_malloc_size (size * arraysize);
       ret->offset = 0;
       ret->dtype = array->dtype;
       for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
index c6033d0..61a9e8d 100644 (file)
@@ -89,7 +89,6 @@ eoshift3 (gfc_array_char * const restrict ret,
     {
       int i;
 
-      ret->data = internal_malloc_size (size * arraysize);
       ret->offset = 0;
       ret->dtype = array->dtype;
       for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
index 7a7b196..aed78ce 100644 (file)
@@ -89,7 +89,6 @@ eoshift3 (gfc_array_char * const restrict ret,
     {
       int i;
 
-      ret->data = internal_malloc_size (size * arraysize);
       ret->offset = 0;
       ret->dtype = array->dtype;
       for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
index c8ecc3a..e55fcec 100644 (file)
@@ -446,7 +446,7 @@ st_flush (st_parameter_filepos *fpp)
       if (u->flags.form == FORM_FORMATTED)
         fbuf_flush (u, u->mode);
 
-      sflush (u->s);
+      flush_sync (u->s);
       unlock_unit (u);
     }
   else
index 22150e7..31d269e 100644 (file)
@@ -203,7 +203,7 @@ flush_i4 (GFC_INTEGER_4 *unit)
       us = find_unit (*unit);
       if (us != NULL)
        {
-         sflush (us->s);
+         flush_sync (us->s);
          unlock_unit (us);
        }
     }
@@ -226,7 +226,7 @@ flush_i8 (GFC_INTEGER_8 *unit)
       us = find_unit (*unit);
       if (us != NULL)
        {
-         sflush (us->s);
+         flush_sync (us->s);
          unlock_unit (us);
        }
     }
index 8421451..6cc07f3 100644 (file)
@@ -1515,6 +1515,23 @@ retry:
   return u;
 }
 
+
+/* Flush dirty data, making sure that OS metadata is updated as
+   well. Note that this is VERY slow on mingw due to committing data
+   to stable storage.  */
+int
+flush_sync (stream * s)
+{
+  if (sflush (s) == -1)
+    return -1;
+#ifdef __MINGW32__
+  if (_commit (((unix_stream *)s)->fd) == -1)
+    return -1;
+#endif
+  return 0;
+}
+
+
 static gfc_unit *
 flush_all_units_1 (gfc_unit *u, int min_unit)
 {
@@ -1531,7 +1548,7 @@ flush_all_units_1 (gfc_unit *u, int min_unit)
          if (__gthread_mutex_trylock (&u->lock))
            return u;
          if (u->s)
-           sflush (u->s);
+           flush_sync (u->s);
          __gthread_mutex_unlock (&u->lock);
        }
       u = u->right;
@@ -1561,7 +1578,7 @@ flush_all_units (void)
 
       if (u->closed == 0)
        {
-         sflush (u->s);
+         flush_sync (u->s);
          __gthread_mutex_lock (&unit_lock);
          __gthread_mutex_unlock (&u->lock);
          (void) predec_waiting_locked (u);
index 52f3e0c..cbaaa10 100644 (file)
@@ -165,6 +165,9 @@ internal_proto(inquire_readwrite);
 extern void flush_if_preconnected (stream *);
 internal_proto(flush_if_preconnected);
 
+extern int flush_sync (stream *);
+internal_proto(flush_sync);
+
 extern int stream_isatty (stream *);
 internal_proto(stream_isatty);
 
index 1c19575..83b1179 100644 (file)
@@ -90,7 +90,6 @@ eoshift3 (gfc_array_char * const restrict ret,
     {
       int i;
 
-      ret->data = internal_malloc_size (size * arraysize);
       ret->offset = 0;
       ret->dtype = array->dtype;
       for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
index 4dea92b..4633d96 100644 (file)
    undefined for platform defaults */
 #undef _GLIBCXX_FULLY_DYNAMIC_STRING
 
+/* Define if gthreads types cannot be copy-assigned in C++11. */
+#undef _GLIBCXX_GTHREADS_NO_COPY_ASSIGN_IN_CXX11
+
 /* Define if gthreads library is available. */
 #undef _GLIBCXX_HAS_GTHREADS
 
index a292150..a7b3ef4 100644 (file)
@@ -1865,7 +1865,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
          for (; __first != __last; ++__first)
            if (__pred(*__first))
              {
-               *__result1 = _GLIBCXX_MOVE(*__first);
+               if (__result1 != __first)
+                 *__result1 = _GLIBCXX_MOVE(*__first);
                ++__result1;
              }
            else
index b0fa36b..51db03e 100644 (file)
@@ -1,6 +1,7 @@
 // -*- C++ -*-
 
-// Copyright (C) 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2007, 2009, 2010, 2011
+// Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the terms
index 26d9e4c..b27de9b 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*-
 
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the terms
index 7c72f58..d257c4c 100644 (file)
@@ -156,6 +156,11 @@ LTCOMPILE = $(LIBTOOL) --tag CC --tag disable-shared $(LIBTOOLFLAGS) --mode=comp
            $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \
            $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 
+nested_exception.lo: nested_exception.cc
+       $(LTCXXCOMPILE) -std=gnu++0x -c $<
+nested_exception.o: nested_exception.cc
+       $(CXXCOMPILE) -std=gnu++0x -c $<
+
 # Libtool notes
 
 # 1) In general, libtool expects an argument such as `--tag=CXX' when
diff --git a/libstdc++-v3/src/functional.cc b/libstdc++-v3/src/functional.cc
new file mode 100644 (file)
index 0000000..2ab3405
--- /dev/null
@@ -0,0 +1,35 @@
+// Support for <functional> -*- C++ -*-
+
+// Copyright (C) 2011
+// Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+// <http://www.gnu.org/licenses/>.
+
+#include <functional>
+
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
+  bad_function_call::~bad_function_call() throw() = default;
+
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/shared_ptr.cc b/libstdc++-v3/src/shared_ptr.cc
new file mode 100644 (file)
index 0000000..670b7ca
--- /dev/null
@@ -0,0 +1,39 @@
+// Support for pointer abstractions -*- C++ -*-
+
+// Copyright (C) 2011
+// Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+// <http://www.gnu.org/licenses/>.
+
+#include <memory>
+
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
+  bad_weak_ptr::~bad_weak_ptr() throw() = default;
+
+  char const*
+  bad_weak_ptr::what() const throw()  
+  { return "std::bad_weak_ptr"; }
+
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/testsuite/20_util/allocator/51626.cc b/libstdc++-v3/testsuite/20_util/allocator/51626.cc
new file mode 100644 (file)
index 0000000..951aa18
--- /dev/null
@@ -0,0 +1,66 @@
+// Copyright (C) 2011 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++0x" }
+
+#include <memory>
+#include <vector>
+#include <testsuite_hooks.h>
+
+int count = 0;
+
+template <class T>
+  struct allocator98 : std::allocator<T>
+  {
+    template <class U> struct rebind { typedef allocator98<U> other; };
+
+    allocator98() { }
+
+    template <class U> allocator98(const allocator98<U>&) { };
+
+    void construct(T* p, const T& val)
+    {
+      ++count;
+      std::allocator<T>::construct(p, val);
+    }
+  };
+
+template <class T>
+  struct allocator11 : std::allocator<T>
+  {
+    template <class U> struct rebind { typedef allocator11<U> other; };
+
+    allocator11() { }
+
+    template <class U> allocator11(const allocator11<U>&) { };
+
+    template<typename... Args>
+      void construct(T* p, Args&&... args)
+      {
+       ++count;
+       std::allocator<T>::construct(p, std::forward<Args>(args)...);
+      }
+  };
+
+int main()
+{
+  std::vector< int, allocator98<int> > v98(1);
+  VERIFY( count == 0 );
+
+  std::vector< int, allocator11<int> > v11(1);
+  VERIFY( count == 1 );
+}
index b976de0..febe6c4 100644 (file)
@@ -36,4 +36,4 @@ int main()
 }
 
 // { dg-error "invalid use of incomplete" "" { target *-*-* } 28 } 
-// { dg-error "declaration of" "" { target *-*-* } 63 }
+// { dg-error "declaration of" "" { target *-*-* } 64 }
index bd5c423..8702d3d 100644 (file)
@@ -36,4 +36,4 @@ int main()
 }
 
 // { dg-error "invalid use of incomplete" "" { target *-*-* } 28 } 
-// { dg-error "declaration of" "" { target *-*-* } 106 }
+// { dg-error "declaration of" "" { target *-*-* } 107 }