Re: [PATCH] D20180: [tooling] Fix missing inline keyworkd, breaking build bot.

2016-05-11 Thread Etienne Bergeron via cfe-commits
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.

2016-05-11 Thread Reid Kleckner via cfe-commits
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.

2016-05-11 Thread Etienne Bergeron via cfe-commits
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.

2016-05-11 Thread Alexander Kornienko via cfe-commits
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.

2016-05-11 Thread Etienne Bergeron via cfe-commits
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.

2016-05-11 Thread Reid Kleckner via cfe-commits
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.

2016-05-11 Thread Etienne Bergeron via cfe-commits
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