From 1388a453eda30b71e47784dadbfa44e617f3a1ae Mon Sep 17 00:00:00 2001 From: Alisdair Meredith Date: Sun, 22 Jun 2025 21:34:33 +0300 Subject: [PATCH] P3533R2 constexpr virtual inheritance Fixes #7936 Fixes cplusplus/papers#2174 --- source/declarations.tex | 8 +------- source/preprocessor.tex | 1 + 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/source/declarations.tex b/source/declarations.tex index 027b1b69a8..b7e0208a1a 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -947,14 +947,8 @@ \indextext{specifier!\idxcode{constexpr}!function}% \indextext{constexpr function}% A function is \defn{constexpr-suitable} if -\begin{itemize} -\item -it is not a coroutine\iref{dcl.fct.def.coroutine}, and +it is not a coroutine\iref{dcl.fct.def.coroutine}. -\item -if the function is a constructor or destructor, -its class does not have any virtual base classes. -\end{itemize} Except for instantiated constexpr functions, non-templated constexpr functions shall be constexpr-suitable. diff --git a/source/preprocessor.tex b/source/preprocessor.tex index 4de8960776..0c959e7b5d 100644 --- a/source/preprocessor.tex +++ b/source/preprocessor.tex @@ -2328,6 +2328,7 @@ \defnxname{cpp_constexpr_dynamic_alloc} & \tcode{201907L} \\ \rowsep \defnxname{cpp_constexpr_exceptions} & \tcode{202411L} \\ \rowsep \defnxname{cpp_constexpr_in_decltype} & \tcode{201711L} \\ \rowsep +\defnxname{cpp_constexpr_virtual_inheritance} & \tcode{202506L} \\ \rowsep \defnxname{cpp_consteval} & \tcode{202211L} \\ \rowsep \defnxname{cpp_constinit} & \tcode{201907L} \\ \rowsep \defnxname{cpp_contracts} & \tcode{202502L} \\ \rowsep