2012/10/18 Fariborz Jahanian <fjahan...@apple.com>: > Author: fjahanian > Date: Wed Oct 17 16:58:03 2012 > New Revision: 166130 > > URL: http://llvm.org/viewvc/llvm-project?rev=166130&view=rev > Log: > [Doc parsing]: This patch adds <Declaration> tag to > XML comment for declarations which pretty-prints > declaration. I had to XFAIL one test annotate-comments.cpp. > This test is currently unmaintainable as written. > Dmitri G., can you see what we can do about this test. > We should change this test such that adding a new tag does not wreck > havoc to the test. > > Modified: > cfe/trunk/bindings/xml/comment-xml-schema.rng > cfe/trunk/include/clang/AST/Comment.h > cfe/trunk/include/clang/AST/PrettyPrinter.h > cfe/trunk/lib/AST/Comment.cpp > cfe/trunk/lib/AST/DeclPrinter.cpp > cfe/trunk/test/Index/annotate-comments-availability-attrs.cpp > cfe/trunk/test/Index/annotate-comments.cpp > cfe/trunk/test/Index/overriding-ftemplate-comments.cpp > cfe/trunk/test/Index/overriding-method-comments.mm > cfe/trunk/tools/libclang/CXComment.cpp
> Modified: cfe/trunk/tools/libclang/CXComment.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CXComment.cpp?rev=166130&r1=166129&r2=166130&view=diff > ============================================================================== > --- cfe/trunk/tools/libclang/CXComment.cpp (original) > +++ cfe/trunk/tools/libclang/CXComment.cpp Wed Oct 17 16:58:03 2012 > @@ -16,6 +16,7 @@ > #include "CXComment.h" > #include "CXCursor.h" > > +#include "clang/AST/PrettyPrinter.h" > #include "clang/AST/CommentVisitor.h" > #include "clang/AST/CommentCommandTraits.h" > #include "clang/AST/Decl.h" > @@ -1027,6 +1028,20 @@ > Result << "</Verbatim>"; > } > > +static StringRef getSourceTextOfDeclaration(const DeclInfo *ThisDecl) { > + > + ASTContext &Context = ThisDecl->CurrentDecl->getASTContext(); > + const LangOptions &LangOpts = Context.getLangOpts(); > + std::string SStr; > + llvm::raw_string_ostream S(SStr); > + PrintingPolicy PPolicy(LangOpts); > + PPolicy.SuppressAttributes = true; > + PPolicy.TerseOutput = true; > + ThisDecl->CurrentDecl->print(S, PPolicy, > + /*Indentation*/0, /*PrintInstantiation*/true); > + return S.str(); > +} > + Don't escape local std::string with StringRef. Fixed in r166163. _______________________________________________ cfe-commits mailing list cfe-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits