tra added inline comments.

================
Comment at: test/SemaCUDA/constexpr-ctor.cu:14-27
+template <class T> struct B {
+  T a;
+  constexpr B() = default;
+};
+
+template <class T> struct C {
+  T a;
----------------
yaxunl wrote:
> tra wrote:
> > Do we really need three identical templates? If they are needed to let 
> > compiler emit multiple diagnostics, perhaps we could just add another 
> > template parameter so we can get different instantiations.
> the error is emitted on the default ctor of the template. If we do not use 
> different templates, all errors are emitted on the same line, we cannot make 
> sure some instantiations do not cause error and some instantiations should 
> cause error.
> 
> Adding template parameter will not help, because the error will still be 
> emitted to the same line.
Having multiple errors attributed to the same source is OK. You can specify 
expected count. E.g.
`dev-error 2 {{something}}`. Single template appears to be sufficient 
(https://godbolt.org/z/G3WvYD).

You'll have different note diags emitted for individual errors, so checking 
them would both provide more info about that exactly the problem is and will 
verify that they are reported in the correct locations. Right now you are 
describing what/where triggers an error that as a comment. Letting compiler 
verify that instead would be better, IMO.




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

https://reviews.llvm.org/D68753



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to