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
