jdoerfert added inline comments.

================
Comment at: clang/include/clang/Basic/DiagnosticParseKinds.td:1230
-  "unknown '%0' device kind trait in the 'device' context selector set, 
expected"
-  " one of 'host', 'nohost', 'cpu', 'gpu' or 'fpga'">;
 
----------------
ABataev wrote:
> jdoerfert wrote:
> > ABataev wrote:
> > > jdoerfert wrote:
> > > > I would have expected this error to be still accurate, maybe with the 
> > > > addition ", or quoted versions thereof".
> > > Currently, we could emit it only in codegen phase to avoid double 
> > > converting from expression to string. Will emit it there.
> > Why can't we emit this error if the user writes `device={kind(gggggpu)}` 
> > anymore? Even `device={kind("gggggpu")}` should be diagnosable early.
> The main problem here is the conversion and expression evaluation. We convert 
> the data from the expression to strings at the codegen phase. I don't want to 
> do the same thing for the second time in Sema just for diagnostic.
We have to convert it during sema already, actually during parsing. I'm working 
on declare variant begin/end support right now (part of TR8) which needs the 
information during parsing.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D70973



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

Reply via email to