================ @@ -1533,13 +1535,11 @@ class NonTypeTemplateParmDecl final /// Return the constraint introduced by the placeholder type of this non-type /// template parameter (if any). Expr *getPlaceholderTypeConstraint() const { - return hasPlaceholderTypeConstraint() ? *getTrailingObjects<Expr *>() : - nullptr; + return PlaceholderTypeConstraintInitialized ? *getTrailingObjects<Expr *>() + : nullptr; } - void setPlaceholderTypeConstraint(Expr *E) { - *getTrailingObjects<Expr *>() = E; ---------------- alejandro-alvarez-sonarsource wrote:
The flag would allow to discern between "was not initialized" and "was explicitly initialized to null". Now, I have to admit I do not know if the latter is meaningful for a constrained NTTP. https://github.com/llvm/llvm-project/pull/121768 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits