[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

Chuanqi Xu via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 17 00:05:06 PST 2022


ChuanqiXu added inline comments.


================
Comment at: clang/lib/Sema/SemaTemplate.cpp:2658-2682
+    Expr::EvalResult EVRX, EVRY;
+    if (!DefaultArgumentX->EvaluateAsConstantExpr(EVRX, C) ||
+        !DefaultArgumentY->EvaluateAsConstantExpr(EVRY, C))
+      return false;
+
+    APValue VX = EVRX.Val, VY = EVRY.Val;
+    if (VX.getKind() != VY.getKind())
----------------
urnathan wrote:
> I'm kind of surprised how complex this check is.  Isn't there an AST comparator available somewhere?
I found ODRHash. I think it is much better now.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D118034/new/

https://reviews.llvm.org/D118034



More information about the cfe-commits mailing list