sammccall added a comment. In D112996#3102925 <https://reviews.llvm.org/D112996#3102925>, @ckandeler wrote:
>> WDYT about detecting QT headers specifically? It seems hacky, but I don't >> see a way out of this that doesn't involve hardcoding some filenames. Are >> they in a directory like `"qt-11/QFoo"` that we can recognize? Even Q >> followed by another capital letter might be a good enough heuristic. >> (The docs suggest it's just `<QFoo>` but the docs also say to use angle >> brackets so I'm not sure whether to believe them) > > The headers are, as far as I can tell, always located in a directory whose > name starts with "Qt". This parent directory is also in the include path, so > e.g. to get access to QString, which is located under QtCore/, you'd > typically just write: > > #include <QString> > > This is the recommended, documented way of pulling in headers. > Though you could also write: > > #include <QtCore/QString> > > as the parent parent directory is also in the list of include paths. > > Looking at the code, it seems we have access to the parent directory, so we > could do that name check (which I suppose has less potential for false > positives than checking the file name). Yeah, that makes sense to me. Also a bit cheaper since we only have to do this once per parent dir. > For framework builds, the directory would be "Headers", which also seems safe. I agree extensionless headers in frameworks seem fine to show. We already know which includepath entries are frameworks, so we can just use that info directly (see line 9674) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D112996/new/ https://reviews.llvm.org/D112996 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits