This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch master in repository gcc.
from 9f7afa99c67 [committed] Adding missing prototype for __clzhi2 to xstormy port new f9fbf93dc82 c++: P0847R7 (deducing this) - prerequisite changes. [PR102609] new fbc980d8514 c++: P0847R7 (deducing this) - initial functionality. [PR102609] new f8bf6a69e26 c++: P0847R7 (deducing this) - diagnostics. [PR102609] new 07d09f0af10 c++: P0847R7 (deducing this) - xobj lambdas. [PR102609] new bfad006b88e c++: P0847R7 (deducing this) - CWG2586 [PR102609] new 5a6d3b17378 c++: explicit object cleanups new ae3003b20d3 c++: adjust accessor fixits for explicit object parm
The 7 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference.
Summary of changes: gcc/c-family/c-cppbuiltin.cc | 1 + gcc/cp/call.cc | 204 +++-- gcc/cp/class.cc | 289 ++++++- gcc/cp/constexpr.cc | 4 +- gcc/cp/contracts.cc | 6 +- gcc/cp/cp-objcp-common.cc | 4 +- gcc/cp/cp-tree.h | 50 +- gcc/cp/cxx-pretty-print.cc | 6 +- gcc/cp/decl.cc | 212 ++++- gcc/cp/decl2.cc | 2 +- gcc/cp/error.cc | 24 +- gcc/cp/init.cc | 4 +- gcc/cp/lambda.cc | 13 +- gcc/cp/mangle.cc | 4 +- gcc/cp/method.cc | 58 +- gcc/cp/module.cc | 6 +- gcc/cp/parser.cc | 144 +++- gcc/cp/pt.cc | 112 ++- gcc/cp/search.cc | 36 +- gcc/cp/semantics.cc | 51 +- gcc/cp/tree.cc | 12 +- gcc/cp/typeck.cc | 56 +- gcc/testsuite/g++.dg/cpp23/explicit-obj-basic1.C | 114 +++ gcc/testsuite/g++.dg/cpp23/explicit-obj-basic2.C | 28 + gcc/testsuite/g++.dg/cpp23/explicit-obj-basic3.C | 496 ++++++++++++ gcc/testsuite/g++.dg/cpp23/explicit-obj-basic4.C | 113 +++ gcc/testsuite/g++.dg/cpp23/explicit-obj-basic5.C | 33 + gcc/testsuite/g++.dg/cpp23/explicit-obj-basic6.C | 51 ++ .../g++.dg/cpp23/explicit-obj-by-value1.C | 48 ++ .../g++.dg/cpp23/explicit-obj-by-value2.C | 58 ++ .../g++.dg/cpp23/explicit-obj-by-value3.C | 41 + .../g++.dg/cpp23/explicit-obj-by-value4.C | 20 + .../g++.dg/cpp23/explicit-obj-constraints.C | 418 ++++++++++ .../g++.dg/cpp23/explicit-obj-constraints2.C | 462 +++++++++++ .../g++.dg/cpp23/explicit-obj-cxx-dialect-A.C | 7 + .../g++.dg/cpp23/explicit-obj-cxx-dialect-B.C | 7 + .../g++.dg/cpp23/explicit-obj-cxx-dialect-C.C | 9 + .../g++.dg/cpp23/explicit-obj-cxx-dialect-D.C | 8 + .../g++.dg/cpp23/explicit-obj-cxx-dialect-E.C | 8 + gcc/testsuite/g++.dg/cpp23/explicit-obj-default1.C | 57 ++ gcc/testsuite/g++.dg/cpp23/explicit-obj-default2.C | 65 ++ .../g++.dg/cpp23/explicit-obj-diagnostics1.C | 139 ++++ .../g++.dg/cpp23/explicit-obj-diagnostics2.C | 26 + .../g++.dg/cpp23/explicit-obj-diagnostics3.C | 20 + .../g++.dg/cpp23/explicit-obj-diagnostics4.C | 16 + .../g++.dg/cpp23/explicit-obj-diagnostics5.C | 23 + .../g++.dg/cpp23/explicit-obj-diagnostics6.C | 206 +++++ .../g++.dg/cpp23/explicit-obj-diagnostics7.C | 95 +++ .../g++.dg/cpp23/explicit-obj-diagnostics8.C | 68 ++ gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda1.C | 25 + gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda10.C | 39 + gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda11.C | 46 ++ gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda12.C | 103 +++ gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda13.C | 103 +++ gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda2.C | 23 + gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda3.C | 64 ++ gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda4.C | 23 + gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda5.C | 21 + gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda6.C | 873 +++++++++++++++++++++ gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda7.C | 20 + gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda8.C | 87 ++ gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda9.C | 46 ++ .../g++.dg/cpp23/explicit-obj-ops-mem-arrow.C | 28 + .../g++.dg/cpp23/explicit-obj-ops-mem-assignment.C | 27 + .../g++.dg/cpp23/explicit-obj-ops-mem-call.C | 40 + .../g++.dg/cpp23/explicit-obj-ops-mem-subscript.C | 40 + .../g++.dg/cpp23/explicit-obj-ops-non-mem-dep.C | 58 ++ .../cpp23/explicit-obj-ops-non-mem-non-dep.C | 57 ++ .../g++.dg/cpp23/explicit-obj-ops-non-mem.h | 210 +++++ .../g++.dg/cpp23/explicit-obj-ops-requires-mem.C | 171 ++++ .../cpp23/explicit-obj-ops-requires-non-mem.C | 237 ++++++ gcc/testsuite/g++.dg/cpp23/explicit-obj-redecl.C | 246 ++++++ gcc/testsuite/g++.dg/cpp23/explicit-obj-redecl2.C | 161 ++++ gcc/testsuite/g++.dg/cpp23/explicit-obj-redecl3.C | 206 +++++ gcc/testsuite/g++.dg/cpp23/explicit-obj-redecl4.C | 97 +++ gcc/testsuite/g++.dg/cpp23/feat-cxx2b.C | 6 + gcc/testsuite/g++.dg/cpp26/feat-cxx26.C | 6 + ...ccessor-fixits-9.C => accessor-fixits-9-xobj.C} | 14 +- libcc1/libcp1plugin.cc | 2 +- 79 files changed, 6762 insertions(+), 251 deletions(-) create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-basic1.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-basic2.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-basic3.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-basic4.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-basic5.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-basic6.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-by-value1.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-by-value2.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-by-value3.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-by-value4.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-constraints.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-constraints2.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-cxx-dialect-A.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-cxx-dialect-B.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-cxx-dialect-C.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-cxx-dialect-D.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-cxx-dialect-E.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-default1.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-default2.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-diagnostics1.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-diagnostics2.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-diagnostics3.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-diagnostics4.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-diagnostics5.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-diagnostics6.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-diagnostics7.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-diagnostics8.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda1.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda10.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda11.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda12.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda13.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda2.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda3.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda4.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda5.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda6.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda7.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda8.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda9.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-ops-mem-arrow.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-ops-mem-assignment.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-ops-mem-call.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-ops-mem-subscript.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-ops-non-mem-dep.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-ops-non-mem-non-dep.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-ops-non-mem.h create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-ops-requires-mem.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-ops-requires-non-mem.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-redecl.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-redecl2.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-redecl3.C create mode 100644 gcc/testsuite/g++.dg/cpp23/explicit-obj-redecl4.C copy gcc/testsuite/g++.dg/torture/{accessor-fixits-9.C => accessor-fixits-9-xobj.C} (88%)