Updating GIT tree Updating 7ece3bd8088..cecc73af498 Fast-forward gcc/ChangeLog | 192 ++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 303 +++++++++++++ gcc/ada/atree.adb | 6 + gcc/ada/checks.adb | 270 ++++++------ gcc/ada/checks.ads | 12 +- gcc/ada/cstand.adb | 4 +- .../gnat_rm/implementation_defined_attributes.rst | 2 +- gcc/ada/einfo.adb | 17 +- gcc/ada/einfo.ads | 9 - gcc/ada/exp_aggr.adb | 5 +- gcc/ada/exp_attr.adb | 24 +- gcc/ada/exp_ch11.adb | 4 +- gcc/ada/exp_ch3.adb | 14 +- gcc/ada/exp_disp.adb | 5 + gcc/ada/exp_imgv.adb | 15 +- gcc/ada/exp_tss.ads | 7 +- gcc/ada/exp_util.adb | 14 +- gcc/ada/gnat_rm.texi | 4 +- gcc/ada/libgnat/a-calfor.ads | 8 + gcc/ada/libgnat/a-catizo.adb | 10 +- gcc/ada/libgnat/a-catizo.ads | 8 +- gcc/ada/libgnat/a-cofuve.ads | 3 +- gcc/ada/libgnat/a-nudira.adb | 11 + gcc/ada/libgnat/a-nudira.ads | 6 + gcc/ada/libgnat/s-os_lib.adb | 258 ++++++----- gcc/ada/libgnat/s-stopoo.ads | 7 +- gcc/ada/par-ch3.adb | 2 +- gcc/ada/par-ch4.adb | 8 +- gcc/ada/restrict.ads | 1 + gcc/ada/rtsfind.adb | 156 ++++++- gcc/ada/rtsfind.ads | 101 +---- gcc/ada/scng.adb | 4 +- gcc/ada/sem.adb | 4 +- gcc/ada/sem_aggr.adb | 13 +- gcc/ada/sem_attr.adb | 28 +- gcc/ada/sem_attr.ads | 37 +- gcc/ada/sem_ch10.adb | 2 +- gcc/ada/sem_ch12.adb | 10 +- gcc/ada/sem_ch3.adb | 107 +++-- gcc/ada/sem_ch3.ads | 3 +- gcc/ada/sem_ch8.adb | 2 +- gcc/ada/sem_ch9.adb | 18 + gcc/ada/sem_eval.adb | 21 +- gcc/ada/sem_eval.ads | 4 +- gcc/ada/sem_prag.adb | 77 ++-- gcc/ada/sem_util.adb | 141 +++--- gcc/ada/sem_util.ads | 10 +- gcc/ada/snames.ads-tmpl | 2 +- gcc/alloc-pool.h | 6 + gcc/attribs.c | 59 +++ gcc/attribs.h | 12 +- gcc/builtins.c | 126 ++++-- gcc/builtins.h | 3 +- gcc/c-family/ChangeLog | 7 + gcc/c-family/c-attribs.c | 29 +- gcc/c-family/c-pretty-print.c | 11 +- gcc/c/c-decl.c | 30 +- gcc/calls.c | 83 +--- gcc/cfgexpand.c | 3 +- gcc/config/i386/i386.h | 2 +- gcc/config/i386/i386.md | 86 ++++ gcc/cp/ChangeLog | 30 ++ gcc/cp/call.c | 4 +- gcc/cp/cp-tree.def | 4 +- gcc/cp/error.c | 9 +- gcc/d/ChangeLog | 67 +++ gcc/d/d-attribs.cc | 4 +- gcc/d/d-builtins.cc | 39 +- gcc/d/d-codegen.cc | 48 +- gcc/d/d-compiler.cc | 8 +- gcc/d/d-ctfloat.cc | 2 +- gcc/d/d-incpath.cc | 10 +- gcc/d/d-lang.cc | 123 +++--- gcc/d/d-port.cc | 4 +- gcc/d/d-target.cc | 136 +++--- gcc/d/d-tree.h | 1 + gcc/d/decl.cc | 48 +- gcc/d/dmd/MERGE | 2 +- gcc/d/dmd/access.c | 8 +- gcc/d/dmd/aggregate.h | 2 +- gcc/d/dmd/aliasthis.c | 2 +- gcc/d/dmd/aliasthis.h | 2 +- gcc/d/dmd/apply.c | 4 +- gcc/d/dmd/arrayop.c | 8 +- gcc/d/dmd/arraytypes.h | 5 +- gcc/d/dmd/attrib.c | 144 +++--- gcc/d/dmd/attrib.h | 10 +- gcc/d/dmd/blockexit.c | 10 +- gcc/d/dmd/canthrow.c | 12 +- gcc/d/dmd/clone.c | 38 +- gcc/d/dmd/compiler.h | 3 +- gcc/d/dmd/complex_t.h | 2 +- gcc/d/dmd/cond.c | 17 +- gcc/d/dmd/cond.h | 10 +- gcc/d/dmd/constfold.c | 60 +-- gcc/d/dmd/cppmangle.c | 30 +- gcc/d/dmd/ctfe.h | 2 +- gcc/d/dmd/ctfeexpr.c | 92 ++-- gcc/d/dmd/dcast.c | 50 +-- gcc/d/dmd/dclass.c | 96 ++-- gcc/d/dmd/declaration.c | 68 ++- gcc/d/dmd/declaration.h | 2 +- gcc/d/dmd/delegatize.c | 2 +- gcc/d/dmd/denum.c | 22 +- gcc/d/dmd/dimport.c | 26 +- gcc/d/dmd/dinterpret.c | 172 ++++---- gcc/d/dmd/dmacro.c | 2 +- gcc/d/dmd/dmangle.c | 10 +- gcc/d/dmd/dmodule.c | 64 +-- gcc/d/dmd/doc.c | 58 +-- gcc/d/dmd/doc.h | 2 +- gcc/d/dmd/dscope.c | 12 +- gcc/d/dmd/dstruct.c | 54 +-- gcc/d/dmd/dsymbol.c | 44 +- gcc/d/dmd/dsymbol.h | 2 +- gcc/d/dmd/dtemplate.c | 412 ++++++++--------- gcc/d/dmd/dversion.c | 2 +- gcc/d/dmd/entity.c | 2 +- gcc/d/dmd/enum.h | 2 +- gcc/d/dmd/errors.h | 2 +- gcc/d/dmd/escape.c | 56 +-- gcc/d/dmd/expression.c | 116 ++--- gcc/d/dmd/expression.h | 2 +- gcc/d/dmd/expressionsem.c | 162 ++++--- gcc/d/dmd/func.c | 120 ++--- gcc/d/dmd/globals.h | 27 +- gcc/d/dmd/hdrgen.c | 120 ++--- gcc/d/dmd/hdrgen.h | 2 +- gcc/d/dmd/iasm.c | 2 +- gcc/d/dmd/iasmgcc.c | 8 +- gcc/d/dmd/identifier.c | 2 +- gcc/d/dmd/identifier.h | 2 +- gcc/d/dmd/idgen.c | 2 +- gcc/d/dmd/impcnvgen.c | 2 +- gcc/d/dmd/imphint.c | 2 +- gcc/d/dmd/import.h | 2 +- gcc/d/dmd/init.c | 32 +- gcc/d/dmd/init.h | 2 +- gcc/d/dmd/initsem.c | 38 +- gcc/d/dmd/intrange.c | 2 +- gcc/d/dmd/intrange.h | 2 +- gcc/d/dmd/json.c | 38 +- gcc/d/dmd/json.h | 2 +- gcc/d/dmd/lexer.c | 2 +- gcc/d/dmd/lexer.h | 2 +- gcc/d/dmd/macro.h | 2 +- gcc/d/dmd/mangle.h | 2 +- gcc/d/dmd/mars.h | 2 +- gcc/d/dmd/module.h | 2 +- gcc/d/dmd/mtype.c | 228 +++++----- gcc/d/dmd/mtype.h | 8 +- gcc/d/dmd/nogc.c | 6 +- gcc/d/dmd/nspace.c | 20 +- gcc/d/dmd/nspace.h | 2 +- gcc/d/dmd/objc.c | 2 +- gcc/d/dmd/objc.h | 2 +- gcc/d/dmd/opover.c | 42 +- gcc/d/dmd/optimize.c | 20 +- gcc/d/dmd/parse.c | 40 +- gcc/d/dmd/parse.h | 2 +- gcc/d/dmd/root/aav.c | 2 +- gcc/d/dmd/root/aav.h | 2 +- gcc/d/dmd/root/array.h | 230 +++++----- gcc/d/dmd/root/bitarray.h | 32 ++ gcc/d/dmd/root/checkedint.c | 2 +- gcc/d/dmd/root/checkedint.h | 2 +- gcc/d/dmd/root/ctfloat.h | 2 +- gcc/d/dmd/root/dcompat.h | 14 +- gcc/d/dmd/root/file.c | 2 +- gcc/d/dmd/root/file.h | 2 +- gcc/d/dmd/root/filename.c | 6 +- gcc/d/dmd/root/filename.h | 2 +- gcc/d/dmd/root/hash.h | 2 +- gcc/d/dmd/root/object.h | 2 +- gcc/d/dmd/root/outbuffer.c | 2 +- gcc/d/dmd/root/outbuffer.h | 2 +- gcc/d/dmd/root/port.h | 2 +- gcc/d/dmd/root/rmem.c | 2 +- gcc/d/dmd/root/rmem.h | 13 +- gcc/d/dmd/root/root.h | 2 +- gcc/d/dmd/root/rootobject.c | 2 +- gcc/d/dmd/root/speller.c | 2 +- gcc/d/dmd/root/speller.h | 2 +- gcc/d/dmd/root/stringtable.c | 2 +- gcc/d/dmd/root/stringtable.h | 4 +- gcc/d/dmd/safe.c | 6 +- gcc/d/dmd/sapply.c | 8 +- gcc/d/dmd/scope.h | 4 +- gcc/d/dmd/sideeffect.c | 2 +- gcc/d/dmd/statement.c | 54 +-- gcc/d/dmd/statement.h | 2 +- gcc/d/dmd/statementsem.c | 114 ++--- gcc/d/dmd/staticassert.c | 2 +- gcc/d/dmd/staticassert.h | 2 +- gcc/d/dmd/staticcond.c | 2 +- gcc/d/dmd/target.h | 114 +++-- gcc/d/dmd/template.h | 2 +- gcc/d/dmd/tokens.c | 2 +- gcc/d/dmd/tokens.h | 2 +- gcc/d/dmd/traits.c | 38 +- gcc/d/dmd/typesem.c | 4 +- gcc/d/dmd/utf.c | 2 +- gcc/d/dmd/utf.h | 2 +- gcc/d/dmd/utils.c | 2 +- gcc/d/dmd/version.h | 2 +- gcc/d/dmd/visitor.h | 2 +- gcc/d/expr.cc | 70 +-- gcc/d/modules.cc | 29 +- gcc/d/toir.cc | 24 +- gcc/d/typeinfo.cc | 58 +-- gcc/d/types.cc | 25 +- gcc/doc/extend.texi | 12 +- gcc/emit-rtl.c | 63 +-- gcc/expr.c | 74 ++++ gcc/fortran/ChangeLog | 7 + gcc/fortran/decl.c | 9 +- gcc/fortran/gfortran.h | 3 +- gcc/fortran/misc.c | 2 +- gcc/fortran/trans-common.c | 6 +- gcc/gimplify.c | 3 +- gcc/testsuite/ChangeLog | 141 ++++++ .../c-c++-common/Wsizeof-pointer-memaccess1.c | 2 + .../c-c++-common/goacc/struct-enter-exit-data-1.c | 27 ++ .../c-c++-common/goacc/uninit-dim-clause.c | 12 +- .../goacc/uninit-firstprivate-clause.c | 2 +- .../c-c++-common/goacc/uninit-if-clause.c | 16 +- .../c-c++-common/goacc/uninit-use-device-clause.c | 2 +- gcc/testsuite/c-c++-common/gomp/pr70550-1.c | 16 +- gcc/testsuite/c-c++-common/gomp/pr70550-2.c | 16 +- gcc/testsuite/c-c++-common/pr59223.c | 2 +- gcc/testsuite/c-c++-common/uninit-pr51010.c | 4 +- gcc/testsuite/g++.dg/20090107-1.C | 2 +- gcc/testsuite/g++.dg/20090121-1.C | 2 +- gcc/testsuite/g++.dg/cpp0x/constexpr-ptrsub2.C | 4 + gcc/testsuite/g++.dg/cpp2a/nontype-class38.C | 30 ++ gcc/testsuite/g++.dg/ext/attr-access.C | 4 +- gcc/testsuite/g++.dg/torture/pr95493.C | 62 +++ gcc/testsuite/g++.dg/warn/Wnonnull5.C | 108 +++++ gcc/testsuite/gcc.dg/Warray-bounds-52.c | 3 + gcc/testsuite/gcc.dg/Warray-bounds-53.c | 3 + gcc/testsuite/gcc.dg/Warray-bounds-54.c | 6 +- .../gcc.dg/Wbuiltin-declaration-mismatch-ignore.c | 11 + gcc/testsuite/gcc.dg/Wstringop-overflow-33.c | 40 ++ gcc/testsuite/gcc.dg/attr-access-none.c | 38 ++ gcc/testsuite/gcc.dg/attr-access-read-only.c | 2 +- gcc/testsuite/gcc.dg/attr-access-read-write.c | 2 +- gcc/testsuite/gcc.dg/attr-access-write-only.c | 2 +- gcc/testsuite/gcc.dg/missing-header-fixit-3.c | 2 +- gcc/testsuite/gcc.dg/missing-header-fixit-4.c | 4 + gcc/testsuite/gcc.dg/missing-header-fixit-5.c | 36 ++ gcc/testsuite/gcc.dg/pr59924.c | 2 +- gcc/testsuite/gcc.dg/pr71581.c | 6 +- gcc/testsuite/gcc.dg/tree-ssa/forwprop-6.c | 3 + gcc/testsuite/gcc.dg/ubsan/pr81981.c | 4 +- gcc/testsuite/gcc.dg/ubsan/pr89284.c | 4 +- gcc/testsuite/gcc.dg/uninit-15.c | 2 +- gcc/testsuite/gcc.dg/uninit-32.c | 312 +++++++++++++ gcc/testsuite/gcc.dg/uninit-33.c | 145 ++++++ gcc/testsuite/gcc.dg/uninit-34.c | 58 +++ gcc/testsuite/gcc.dg/uninit-36.c | 237 ++++++++++ gcc/testsuite/gcc.dg/uninit-B-O0.c | 2 +- gcc/testsuite/gcc.dg/uninit-I-O0.c | 2 +- gcc/testsuite/gcc.dg/uninit-pr19430-O0.c | 16 +- gcc/testsuite/gcc.dg/uninit-pr19430.c | 18 +- gcc/testsuite/gcc.dg/uninit-pr95136.c | 63 +++ gcc/testsuite/gcc.dg/vect/pr95539.c | 29 ++ gcc/testsuite/gcc.target/aarch64/pr95254.c | 19 + gcc/testsuite/gcc.target/i386/pr67609.c | 2 +- gcc/testsuite/gcc.target/i386/pr95535-1.c | 54 +++ gcc/testsuite/gcc.target/i386/pr95535-2.c | 54 +++ gcc/testsuite/gfortran.dg/assignment_4.f90 | 2 +- .../gfortran.dg/goacc/uninit-dim-clause.f95 | 12 +- .../goacc/uninit-firstprivate-clause.f95 | 2 +- .../gfortran.dg/goacc/uninit-if-clause.f95 | 8 +- .../gfortran.dg/goacc/uninit-use-device-clause.f95 | 2 +- gcc/testsuite/gfortran.dg/pr66545_2.f90 | 8 +- gcc/tree-ssa-math-opts.c | 65 +-- gcc/tree-ssa-uninit.c | 490 ++++++++++++++++----- gcc/tree-vect-data-refs.c | 2 +- gcc/tree-vect-stmts.c | 19 +- libgcc/ChangeLog | 9 + libgomp/ChangeLog | 94 ++++ libgomp/oacc-mem.c | 84 +--- .../libgomp.oacc-c-c++-common/struct-copyout-1.c | 38 ++ .../libgomp.oacc-c-c++-common/struct-copyout-2.c | 44 ++ libstdc++-v3/ChangeLog | 55 +++ libstdc++-v3/include/bits/deque.tcc | 51 +++ libstdc++-v3/include/bits/iterator_concepts.h | 153 ++++--- libstdc++-v3/include/bits/stl_algo.h | 27 +- libstdc++-v3/include/bits/stl_algobase.h | 49 +++ libstdc++-v3/include/bits/stl_iterator.h | 38 +- libstdc++-v3/include/bits/streambuf_iterator.h | 17 +- libstdc++-v3/include/debug/safe_iterator.tcc | 6 + .../copy/streambuf_iterators/char/4.cc | 26 ++ .../streambuf_iterators/char/debug/deque_neg.cc | 46 ++ .../copy_n/debug/istreambuf_ite_deque_neg.cc | 50 +++ .../25_algorithms/copy_n/istreambuf_iterator/2.cc | 56 +++ .../copy_n/istreambuf_iterator/deque.cc | 56 +++ 299 files changed, 6589 insertions(+), 3304 deletions(-) create mode 100644 gcc/d/dmd/root/bitarray.h create mode 100644 gcc/testsuite/c-c++-common/goacc/struct-enter-exit-data-1.c create mode 100644 gcc/testsuite/g++.dg/cpp0x/constexpr-ptrsub2.C create mode 100644 gcc/testsuite/g++.dg/cpp2a/nontype-class38.C create mode 100644 gcc/testsuite/g++.dg/torture/pr95493.C create mode 100644 gcc/testsuite/g++.dg/warn/Wnonnull5.C create mode 100644 gcc/testsuite/gcc.dg/Wbuiltin-declaration-mismatch-ignore.c create mode 100644 gcc/testsuite/gcc.dg/Wstringop-overflow-33.c create mode 100644 gcc/testsuite/gcc.dg/attr-access-none.c create mode 100644 gcc/testsuite/gcc.dg/missing-header-fixit-5.c create mode 100644 gcc/testsuite/gcc.dg/uninit-32.c create mode 100644 gcc/testsuite/gcc.dg/uninit-33.c create mode 100644 gcc/testsuite/gcc.dg/uninit-34.c create mode 100644 gcc/testsuite/gcc.dg/uninit-36.c create mode 100644 gcc/testsuite/gcc.dg/uninit-pr95136.c create mode 100644 gcc/testsuite/gcc.dg/vect/pr95539.c create mode 100644 gcc/testsuite/gcc.target/aarch64/pr95254.c create mode 100644 gcc/testsuite/gcc.target/i386/pr95535-1.c create mode 100644 gcc/testsuite/gcc.target/i386/pr95535-2.c create mode 100644 libgomp/testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c create mode 100644 libgomp/testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c create mode 100644 libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/debug/deque_neg.cc create mode 100644 libstdc++-v3/testsuite/25_algorithms/copy_n/debug/istreambuf_ite_deque_neg.cc create mode 100644 libstdc++-v3/testsuite/25_algorithms/copy_n/istreambuf_iterator/2.cc create mode 100644 libstdc++-v3/testsuite/25_algorithms/copy_n/istreambuf_iterator/deque.cc Current branch master is up to date. Adjusting file timestamps