Skip to content

Commit 08df8c5

Browse files
authored
Merge 2024-03 LWG Motion 13
P2810R4 is_debugger_present is_replaceable
2 parents a863495 + 98ebefe commit 08df8c5

File tree

3 files changed

+18
-2
lines changed

3 files changed

+18
-2
lines changed

source/lib-intro.tex

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3309,6 +3309,13 @@
33093309
operator delete[](void*, std::align_val_t, const std::nothrow_t&)
33103310
\end{codeblock}
33113311

3312+
\pnum
3313+
A \Cpp{} program may provide the definition of
3314+
the following function signature declared in header \libheaderref{debugging}:
3315+
\begin{codeblock}
3316+
bool std::is_debugger_present() noexcept
3317+
\end{codeblock}
3318+
33123319
\pnum
33133320
The program's definitions are used instead of the default versions supplied by
33143321
the implementation\iref{new.delete}.

source/support.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -622,7 +622,7 @@
622622
// \libheader{deque}, \libheader{queue}, \libheader{stack}, \libheader{string}
623623
#define @\defnlibxname{cpp_lib_copyable_function}@ 202306L // also in \libheader{functional}
624624
#define @\defnlibxname{cpp_lib_coroutine}@ 201902L // also in \libheader{coroutine}
625-
#define @\defnlibxname{cpp_lib_debugging}@ 202311L // freestanding, also in \libheader{debugging}
625+
#define @\defnlibxname{cpp_lib_debugging}@ 202403L // freestanding, also in \libheader{debugging}
626626
#define @\defnlibxname{cpp_lib_destroying_delete}@ 201806L // freestanding, also in \libheader{new}
627627
#define @\defnlibxname{cpp_lib_enable_shared_from_this}@ 201603L // also in \libheader{memory}
628628
#define @\defnlibxname{cpp_lib_endian}@ 201907L // freestanding, also in \libheader{bit}

source/utilities.tex

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19320,9 +19320,18 @@
1932019320
\end{itemdecl}
1932119321

1932219322
\begin{itemdescr}
19323+
\pnum
19324+
\replaceable
19325+
A \Cpp{} program may define a function with this function signature, and
19326+
thereby displace the default version defined by the \Cpp{} standard library.
19327+
19328+
\pnum
19329+
\required
19330+
This function has no preconditions.
1932319331

1932419332
\pnum
19325-
The semantics of this function are \impldef{semantics of \tcode{is_debugger_present}}.
19333+
\default
19334+
\impldef{default semantics of \tcode{is_debugger_present}}.
1932619335

1932719336
\begin{note}
1932819337
When tracing the execution of a program with a debugger, an implementation

0 commit comments

Comments
 (0)