Re: [PATCH] D20180: [tooling] Fix missing inline keyworkd, breaking build bot.
etienneb added a comment. In http://reviews.llvm.org/D20180#427893, @rnk wrote: > In http://reviews.llvm.org/D20180#427840, @alexfh wrote: > > > `inline` seems to be completely redundant here. Can you try removing it and > > running whatever build configurations were failing without > > http://reviews.llvm.org/D20182? > > > My bad, it's explicit function template specializations that need to be > marked inline when in headers. Hmm, it's my bad! I tried it to solve broken bot. I try it that way because it is implemented with "inline" in ASTMatcherInternal: Example: template <> inline const Stmt *GetBodyMatcher::get(const FunctionDecl &Node) { return Node.doesThisDeclarationHaveABody() ? Node.getBody() : nullptr; } But, it's "explicit template specialisation" in the above case. Revert patch is ready: http://reviews.llvm.org/D20189 Still thanks Reid for helping finding the repro case. Repository: rL LLVM http://reviews.llvm.org/D20180 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] D20180: [tooling] Fix missing inline keyworkd, breaking build bot.
rnk added a comment. In http://reviews.llvm.org/D20180#427840, @alexfh wrote: > `inline` seems to be completely redundant here. Can you try removing it and > running whatever build configurations were failing without > http://reviews.llvm.org/D20182? My bad, it's explicit function template specializations that need to be marked inline when in headers. Repository: rL LLVM http://reviews.llvm.org/D20180 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] D20180: [tooling] Fix missing inline keyworkd, breaking build bot.
etienneb added a comment. I'm sure you're right: they are redundant keywords. I'm preparing the revert patch, and I'm running tests over multiple build types. Repository: rL LLVM http://reviews.llvm.org/D20180 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] D20180: [tooling] Fix missing inline keyworkd, breaking build bot.
alexfh added a subscriber: alexfh. alexfh added a comment. `inline` seems to be completely redundant here. Can you try removing it and running whatever build configurations were failing without http://reviews.llvm.org/D20182? Repository: rL LLVM http://reviews.llvm.org/D20180 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] D20180: [tooling] Fix missing inline keyworkd, breaking build bot.
This revision was automatically updated to reflect the committed changes. Closed by commit rL269224: [tooling] Fix missing inline keyworkd, breaking build bot. (authored by etienneb). Changed prior to commit: http://reviews.llvm.org/D20180?vs=56949&id=56954#toc Repository: rL LLVM http://reviews.llvm.org/D20180 Files: cfe/trunk/include/clang/Tooling/FixIt.h Index: cfe/trunk/include/clang/Tooling/FixIt.h === --- cfe/trunk/include/clang/Tooling/FixIt.h +++ cfe/trunk/include/clang/Tooling/FixIt.h @@ -40,27 +40,27 @@ /// \brief Returns the SourceRange of an given Node. \p Node is typically a ///'Stmt', 'Expr' or a 'Decl'. -template SourceRange getSourceRange(const T &Node) { +template inline SourceRange getSourceRange(const T &Node) { return Node.getSourceRange(); } } // end namespace internal // \brief Returns a textual representation of \p Node. template -StringRef getText(const T &Node, const ASTContext &Context) { +inline StringRef getText(const T &Node, const ASTContext &Context) { return internal::getText(internal::getSourceRange(Node), Context); } // \brief Returns a FixItHint to remove \p Node. // TODO: Add support for related syntactical elements (i.e. comments, ...). -template FixItHint createRemoval(const T &Node) { +template inline FixItHint createRemoval(const T &Node) { return FixItHint::CreateRemoval(internal::getSourceRange(Node)); } // \brief Returns a FixItHint to replace \p Destination by \p Source. template -FixItHint createReplacement(const D &Destination, const S &Source, -const ASTContext &Context) { +inline FixItHint createReplacement(const D &Destination, const S &Source, + const ASTContext &Context) { return FixItHint::CreateReplacement(internal::getSourceRange(Destination), getText(Source, Context)); } Index: cfe/trunk/include/clang/Tooling/FixIt.h === --- cfe/trunk/include/clang/Tooling/FixIt.h +++ cfe/trunk/include/clang/Tooling/FixIt.h @@ -40,27 +40,27 @@ /// \brief Returns the SourceRange of an given Node. \p Node is typically a ///'Stmt', 'Expr' or a 'Decl'. -template SourceRange getSourceRange(const T &Node) { +template inline SourceRange getSourceRange(const T &Node) { return Node.getSourceRange(); } } // end namespace internal // \brief Returns a textual representation of \p Node. template -StringRef getText(const T &Node, const ASTContext &Context) { +inline StringRef getText(const T &Node, const ASTContext &Context) { return internal::getText(internal::getSourceRange(Node), Context); } // \brief Returns a FixItHint to remove \p Node. // TODO: Add support for related syntactical elements (i.e. comments, ...). -template FixItHint createRemoval(const T &Node) { +template inline FixItHint createRemoval(const T &Node) { return FixItHint::CreateRemoval(internal::getSourceRange(Node)); } // \brief Returns a FixItHint to replace \p Destination by \p Source. template -FixItHint createReplacement(const D &Destination, const S &Source, -const ASTContext &Context) { +inline FixItHint createReplacement(const D &Destination, const S &Source, + const ASTContext &Context) { return FixItHint::CreateReplacement(internal::getSourceRange(Destination), getText(Source, Context)); } ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] D20180: [tooling] Fix missing inline keyworkd, breaking build bot.
rnk accepted this revision. rnk added a comment. This revision is now accepted and ready to land. lgtm I don't see how this could be causing the problem, but it's worth a try. They should be marked inline anyway. http://reviews.llvm.org/D20180 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D20180: [tooling] Fix missing inline keyworkd, breaking build bot.
etienneb created this revision. etienneb added a reviewer: rnk. etienneb added a subscriber: cfe-commits. Herald added a subscriber: klimek. The missing keyword "inline" is causing some buildbot to fail. The symbol is not available. see: http://lab.llvm.org:8011/builders/clang-ppc64be-linux-multistage/builds/2281/ http://reviews.llvm.org/D20180 Files: include/clang/Tooling/FixIt.h Index: include/clang/Tooling/FixIt.h === --- include/clang/Tooling/FixIt.h +++ include/clang/Tooling/FixIt.h @@ -40,27 +40,27 @@ /// \brief Returns the SourceRange of an given Node. \p Node is typically a ///'Stmt', 'Expr' or a 'Decl'. -template SourceRange getSourceRange(const T &Node) { +template inline SourceRange getSourceRange(const T &Node) { return Node.getSourceRange(); } } // end namespace internal // \brief Returns a textual representation of \p Node. template -StringRef getText(const T &Node, const ASTContext &Context) { +inline StringRef getText(const T &Node, const ASTContext &Context) { return internal::getText(internal::getSourceRange(Node), Context); } // \brief Returns a FixItHint to remove \p Node. // TODO: Add support for related syntactical elements (i.e. comments, ...). -template FixItHint createRemoval(const T &Node) { +template inline FixItHint createRemoval(const T &Node) { return FixItHint::CreateRemoval(internal::getSourceRange(Node)); } // \brief Returns a FixItHint to replace \p Destination by \p Source. template -FixItHint createReplacement(const D &Destination, const S &Source, -const ASTContext &Context) { +inline FixItHint createReplacement(const D &Destination, const S &Source, + const ASTContext &Context) { return FixItHint::CreateReplacement(internal::getSourceRange(Destination), getText(Source, Context)); } Index: include/clang/Tooling/FixIt.h === --- include/clang/Tooling/FixIt.h +++ include/clang/Tooling/FixIt.h @@ -40,27 +40,27 @@ /// \brief Returns the SourceRange of an given Node. \p Node is typically a ///'Stmt', 'Expr' or a 'Decl'. -template SourceRange getSourceRange(const T &Node) { +template inline SourceRange getSourceRange(const T &Node) { return Node.getSourceRange(); } } // end namespace internal // \brief Returns a textual representation of \p Node. template -StringRef getText(const T &Node, const ASTContext &Context) { +inline StringRef getText(const T &Node, const ASTContext &Context) { return internal::getText(internal::getSourceRange(Node), Context); } // \brief Returns a FixItHint to remove \p Node. // TODO: Add support for related syntactical elements (i.e. comments, ...). -template FixItHint createRemoval(const T &Node) { +template inline FixItHint createRemoval(const T &Node) { return FixItHint::CreateRemoval(internal::getSourceRange(Node)); } // \brief Returns a FixItHint to replace \p Destination by \p Source. template -FixItHint createReplacement(const D &Destination, const S &Source, -const ASTContext &Context) { +inline FixItHint createReplacement(const D &Destination, const S &Source, + const ASTContext &Context) { return FixItHint::CreateReplacement(internal::getSourceRange(Destination), getText(Source, Context)); } ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits