bnbarham added inline comments.
================ Comment at: clang/test/Index/annotate-comments-objc.m:67-74 +#define DECLARE_ENUMS(name) \ + /** enumFromMacro IS_DOXYGEN_SINGLE */ \ + enum enumFromMacro { A }; \ + /** namedEnumFromMacro IS_DOXYGEN_SINGLE */ \ + enum name { B }; + +/// IS_DOXYGEN_NOT_ATTACHED ---------------- What was the original motivation for the PR here? Was it the `DECLARE_FUNCTIONS` case above? For this case, personally I would expect that something like: ``` #define DEFINE_TAG(name) \ <anytagdecl> name { .... }; /// Comment attached to foo DEFINE_TAG(foo) /// Comment attached to bar DEFINE_TAG(bar) ``` Is far more common than the test case here. To put another way, the previous ``` if (const auto *TD = dyn_cast<TagDecl>(D)) { // If location of the tag decl is inside a macro, but the spelling of // the tag name comes from a macro argument, it looks like a special // macro like NS_ENUM is being used to define the tag decl. In that // case, adjust the source location to the expansion loc so that we can // attach the comment to the tag decl. if (SourceMgr.isMacroArgExpansion(DeclLoc) && TD->isCompleteDefinition()) return SourceMgr.getExpansionLoc(DeclLoc); } ``` Seems more reasonable to me than the hardcoded macro-name check. Even `NS_*`-wise there's also `NS_ERROR_ENUM`, `NS_TYPED_ENUM`, `NS_TYPED_EXTENSIBLE_ENUM`, `NS_CLOSED_ENUM`. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142560/new/ https://reviews.llvm.org/D142560 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits