[PATCH] D141324: [clang] extend external_source_symbol attribute with the USR clause

Alex Lorenz via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Jan 9 13:38:56 PST 2023


arphaman created this revision.
arphaman added reviewers: bnbarham, ravikandhadai.
Herald added a subscriber: ributzka.
Herald added a reviewer: aaron.ballman.
Herald added a project: All.
arphaman requested review of this revision.

Allow the user to specify a concrete USR in the `external_source_symbol` attribute. That will let Clang's indexer to use Swift USRs for Swift declarations that are represented with C++ declarations.

To allow the sources to conditionally enable this new extension,  `__has_feature` is extended in Clang:

  __has_feature(attribute_external_source_symbol_with_usr)


https://reviews.llvm.org/D141324

Files:
  clang/docs/LanguageExtensions.rst
  clang/include/clang/Basic/Attr.td
  clang/include/clang/Basic/AttrDocs.td
  clang/include/clang/Basic/DiagnosticCommonKinds.td
  clang/include/clang/Basic/DiagnosticParseKinds.td
  clang/include/clang/Basic/Features.def
  clang/include/clang/Parse/Parser.h
  clang/lib/Index/USRGeneration.cpp
  clang/lib/Parse/ParseDecl.cpp
  clang/lib/Parse/Parser.cpp
  clang/lib/Sema/SemaDeclAttr.cpp
  clang/test/AST/ast-dump-attr.cpp
  clang/test/Index/Core/external-source-symbol-attr.m
  clang/test/Parser/attr-external-source-symbol.m
  clang/test/Sema/attr-external-source-symbol.c

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D141324.487546.patch
Type: text/x-patch
Size: 19303 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230109/504665ca/attachment-0001.bin>


More information about the cfe-commits mailing list