[clang] [clang]: support std::meta::info for primitive types (PR #190356)
via cfe-commits
cfe-commits at lists.llvm.org
Sat Apr 4 08:48:35 PDT 2026
================
@@ -18517,6 +18560,23 @@ EvaluateComparisonBinaryOperator(EvalInfo &Info, const BinaryOperator *E,
return Success(CmpResult::Equal, E);
}
+ if (LHSTy->isMetaInfoType() && RHSTy->isMetaInfoType()) {
+ APValue LHSValue, RHSValue;
+ llvm::FoldingSetNodeID LID, RID;
+ if (!Evaluate(LHSValue, Info, E->getLHS()))
+ return false;
+ LHSValue.Profile(LID);
+
----------------
Sirraide wrote:
> Sorry, I meant `getFirstDecl()`; I had forgotten that "canonical" isn't necessarily "first". Agreed; `getFirstDecl()` seems like the way to go.
>
> You could probably find a few bugs in my fork from my confusion of the two lol
Yeah, I’m pretty sure there’ve been cases where this has confused me in the past too...
https://github.com/llvm/llvm-project/pull/190356
More information about the cfe-commits
mailing list