Skip to content
Snippets Groups Projects
  • Jonathan Wakely's avatar
    b78e0ce2
    libstdc++: Define std::expected for C++23 (P0323R12) · b78e0ce2
    Jonathan Wakely authored
    Because this adds a new class template called std::unexpected, we have
    to stop declaring the std::unexpected() function (which was deprecated
    in C++11 and removed in C++17).
    
    libstdc++-v3/ChangeLog:
    
    	* doc/doxygen/user.cfg.in: Add new header.
    	* include/Makefile.am: Likewise.
    	* include/Makefile.in: Regenerate.
    	* include/precompiled/stdc++.h: Add new header.
    	* include/std/version (__cpp_lib_expected): Define.
    	* libsupc++/exception [__cplusplus > 202002] (unexpected)
    	(unexpected_handler, set_unexpected): Do not declare for C++23.
    	* include/std/expected: New file.
    	* testsuite/20_util/expected/assign.cc: New test.
    	* testsuite/20_util/expected/cons.cc: New test.
    	* testsuite/20_util/expected/illformed_neg.cc: New test.
    	* testsuite/20_util/expected/observers.cc: New test.
    	* testsuite/20_util/expected/requirements.cc: New test.
    	* testsuite/20_util/expected/swap.cc: New test.
    	* testsuite/20_util/expected/synopsis.cc: New test.
    	* testsuite/20_util/expected/unexpected.cc: New test.
    	* testsuite/20_util/expected/version.cc: New test.
    b78e0ce2
    History
    libstdc++: Define std::expected for C++23 (P0323R12)
    Jonathan Wakely authored
    Because this adds a new class template called std::unexpected, we have
    to stop declaring the std::unexpected() function (which was deprecated
    in C++11 and removed in C++17).
    
    libstdc++-v3/ChangeLog:
    
    	* doc/doxygen/user.cfg.in: Add new header.
    	* include/Makefile.am: Likewise.
    	* include/Makefile.in: Regenerate.
    	* include/precompiled/stdc++.h: Add new header.
    	* include/std/version (__cpp_lib_expected): Define.
    	* libsupc++/exception [__cplusplus > 202002] (unexpected)
    	(unexpected_handler, set_unexpected): Do not declare for C++23.
    	* include/std/expected: New file.
    	* testsuite/20_util/expected/assign.cc: New test.
    	* testsuite/20_util/expected/cons.cc: New test.
    	* testsuite/20_util/expected/illformed_neg.cc: New test.
    	* testsuite/20_util/expected/observers.cc: New test.
    	* testsuite/20_util/expected/requirements.cc: New test.
    	* testsuite/20_util/expected/swap.cc: New test.
    	* testsuite/20_util/expected/synopsis.cc: New test.
    	* testsuite/20_util/expected/unexpected.cc: New test.
    	* testsuite/20_util/expected/version.cc: New test.