rjmccall added inline comments.
================ Comment at: lib/Parse/ParseStmtAsm.cpp:696 + return StmtError(); + } + ---------------- svenvh wrote: > rjmccall wrote: > > svenvh wrote: > > > rjmccall wrote: > > > > svenvh wrote: > > > > > rjmccall wrote: > > > > > > You might consider parsing the statement normally and then just > > > > > > diagnosing after the fact, maybe in Sema. You'd have to add the > > > > > > check in a couple different places, though. > > > > > Precisely the reason why I did it in the parser, otherwise we'd have > > > > > to duplicate the check in multiple places. > > > > The downside of this is that the parser recovery is probably very bad. > > > > But since this is asm, it's not likely to matter too much. > > > > > > > > ...is this *also* really only an OpenCL C++ restriction? Maybe we > > > > should read this one as a general restriction that happens to have been > > > > overlooked in the OpenCL C spec. > > > Yes, `asm` is only explicitly restricted in OpenCL C++. Not sure if it's > > > safe to assume `asm` has been overlooked for OpenCL C though, it's not > > > explicitly forbidden so people may be using it. > > Do you have any contact with the OpenCL committee? You might want to > > collect these issues and present them to them. They may just not be aware > > that `asm` is just as much a feature in C as it is in C++, and it would be > > good to understand what the purpose of the `goto` restriction is. > Yes, we can clarify this with Khronos. Shall I leave the `asm` and `goto` > restrictions out of this patch for now until we have clarification? That might be best. It'd be easy enough to apply them later. ================ Comment at: lib/Sema/SemaDecl.cpp:6380 + } + } } ---------------- This is another thing to check out with Khronos, because `_Thread_local` and `__thread` are also available in C. In this case, I think it's almost certain that they intend the restriction to be general, so I'd just proactively apply it in an OpenCL modes. https://reviews.llvm.org/D46022 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits