erichkeane wrote:

> > Missing a bunch of tests as well. Did those disappear?
> 
> We had a discussion about the syntax of this pragma and what we should be 
> supporting. We originally thought about taking the syntax for pragma map from 
> the XL compiler and using it for all of these declaration attribute pragmas. 
> That's what the original PR had. After the original feedback and the fact 
> that that syntax didn't encompass all aspects of C++ we decided to keep these 
> pragmas as being simple identifiers. In the XL compiler the pragma export was 
> only accepted in C. The support for C++ is something we were adding to clang. 
> C++ programs used the _Export keyword in XL. I believe this is similar to 
> other pragmas in clang (eg. pragma weak). The pragma is there for backwards 
> compatibility with C compat source. If you want to decorate C++ names use 
> either the attribute (visibility in this case) or for XL compatibility use 
> the _Export keyword.
> 
> Because I simplified the syntax that is accepted by the pragma, I removed a 
> bunch of tests as well. Hopefully the coverage is still there for the 
> simplified syntax. Please comment if you find something missing.
> 
> > We should also probably have a document somewhere that explains exactly 
> > what this extension is doing, so that we can better understand how to 
> > review it.
> 
> I can definitely do that. Do you know where to put this documentation? For 
> attributes there is the AttrDocs.td. I did not see an equivalent for pragmas.
> 
> Thanks

I mentioned above, its missing a massive amount of dependent cases/etc.  Also, 
the not-allowing-FQNs seems unfortunate, though you're at least testing those 
as errors.

As far as documentation, we have LanguageExtensions.rst that I think this fits 
into.

https://github.com/llvm/llvm-project/pull/141671
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to