[clang] [clang-cl] Add support for [[msvc::constexpr]] C++11 attribute (PR #71300)

Richard Dzenis via cfe-commits cfe-commits at lists.llvm.org
Thu Dec 7 14:30:59 PST 2023


================
@@ -2884,6 +2884,12 @@ def warn_cxx11_compat_constexpr_body_multiple_return : Warning<
   InGroup<CXXPre14Compat>, DefaultIgnore;
 def note_constexpr_body_previous_return : Note<
   "previous return statement is here">;
+def err_ms_constexpr_not_distinct : Error<
+  "[[msvc::constexpr]] cannot be applied to a %select{constexpr|consteval}0 function %1">;
+def err_ms_constexpr_virtual : Error<"virtual function cannot be [[msvc::constexpr]]">;
+def warn_ms_constexpr_no_effect : Warning<
+  "[[msvc::constexpr]] has effect only on function definitions and return statements">,
----------------
RIscRIpt wrote:

Tbh, I don't remember my reasoning. I can only say that MSVC at this moment does not emit any warning/error: https://godbolt.org/z/YfMxYPqEx

Anyway, I changed subjects Stmt to ReturnStmt.

https://github.com/llvm/llvm-project/pull/71300


More information about the cfe-commits mailing list