[clang] [C23] Implement N3018: The constexpr specifier for object definitions (PR #73099)

Mariya Podchishchaeva via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 22 09:55:38 PST 2024


================
@@ -14277,6 +14325,113 @@ StmtResult Sema::ActOnCXXForRangeIdentifier(Scope *S, SourceLocation IdentLoc,
                                                       : IdentLoc);
 }
 
+static ImplicitConversionKind GetConversionKind(QualType FromType,
----------------
Fznamznon wrote:

Thanks for the review?
Just to double check that I understand right, are you suggesting to drop the whole approach that reuses C++ narrowing check due to need to keep this `ImplicitConversionKind` construction code, or you're suggesting to somehow find existing code that builds up `StandardConversionSequence` and reuse so there is no additional code that depends on these conversion kinds?

I think I can somehow integrate into `InitializationSequence`, but at the moment I'm having troubles with creating `StandardConversionSequence` object like how it is done there for C++ narrowing check because it has special initialization step which is used only for C++.

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


More information about the cfe-commits mailing list