[PATCH] D41217: [Concepts] Concept Specialization Expressions

Saar Raz via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sat Aug 18 01:18:17 PDT 2018


saar.raz added inline comments.


================
Comment at: lib/Sema/SemaTemplateInstantiate.cpp:679-681
+      Diags.Report(Active->PointOfInstantiation,
+                   diag::note_constraint_substitution_here)
+          << Active->InstantiationRange;
----------------
rsmith wrote:
> Is this note ever useful? It will presumably always point into the same concept definition that the prior diagnostic also pointed at, and doesn't seem to add anything in the testcases.
> 
> Maybe we could keep the CodeSynthesisContext around as a marker that we've entered a SFINAE context, but not have any corresponding diagnostic. (The note produced for the enclosing `ConstraintsCheck` context covers that.) Or we could remove this and store a flag on the `ConstraintsCheck` to indicate whether we're in a SFINAEable portion of it.
If the concept definition is multiline/contains macros, this would point at the exact place where the problematic constraint occured, we should probably add tests for this case though.
Maybe we can omit the diagnostic when the concept and the constraint are on the same line or something?



Repository:
  rC Clang

https://reviews.llvm.org/D41217





More information about the cfe-commits mailing list