[cfe-commits] r161872 - in /cfe/trunk: include/clang/AST/DeclBase.h include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h lib/AST/DeclPrinter.cpp lib/AST/DumpXML.cpp lib/StaticAnalyzer/Core/CallEvent.cpp

Alexander Kornienko alexfh at google.com
Tue Aug 21 14:58:56 PDT 2012


On Tue, Aug 14, 2012 at 7:50 AM, Benjamin Kramer
<benny.kra at googlemail.com>wrote:

> Author: d0k
> Date: Tue Aug 14 09:50:32 2012
> New Revision: 161872
>
> URL: http://llvm.org/viewvc/llvm-project?rev=161872&view=rev
> Log:
> Do NOT use inline functions with LLVM_ATTRIBUTE_USED.
>
> The function will be emitted into every single TU including the header!
>
> Modified:
>     cfe/trunk/include/clang/AST/DeclBase.h
>     cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
>     cfe/trunk/lib/AST/DeclPrinter.cpp
>     cfe/trunk/lib/AST/DumpXML.cpp
>     cfe/trunk/lib/StaticAnalyzer/Core/CallEvent.cpp
>
> Modified: cfe/trunk/include/clang/AST/DeclBase.h
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclBase.h?rev=161872&r1=161871&r2=161872&view=diff
>
> ==============================================================================
> --- cfe/trunk/include/clang/AST/DeclBase.h (original)
> +++ cfe/trunk/include/clang/AST/DeclBase.h Tue Aug 14 09:50:32 2012
> @@ -858,10 +858,10 @@
>                           raw_ostream &Out, const PrintingPolicy &Policy,
>                           unsigned Indentation = 0);
>    // Debuggers don't usually respect default arguments.
> -  LLVM_ATTRIBUTE_USED void dump() const { dump(llvm::errs()); }
> +  LLVM_ATTRIBUTE_USED void dump() const;
>    void dump(raw_ostream &Out) const;
>    // Debuggers don't usually respect default arguments.
> -  LLVM_ATTRIBUTE_USED void dumpXML() const { dumpXML(llvm::errs()); }
> +  LLVM_ATTRIBUTE_USED void dumpXML() const;
>    void dumpXML(raw_ostream &OS) const;
>
>  private:
>
> Modified:
> cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h?rev=161872&r1=161871&r2=161872&view=diff
>
> ==============================================================================
> --- cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
> (original)
> +++ cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
> Tue Aug 14 09:50:32 2012
> @@ -328,7 +328,7 @@
>
>    // For debugging purposes only
>    void dump(raw_ostream &Out) const;
> -  LLVM_ATTRIBUTE_USED void dump() const { dump(llvm::errs()); }
> +  LLVM_ATTRIBUTE_USED void dump() const;
>
>    static bool classof(const CallEvent *) { return true; }
>  };
>
> Modified: cfe/trunk/lib/AST/DeclPrinter.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/DeclPrinter.cpp?rev=161872&r1=161871&r2=161872&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/AST/DeclPrinter.cpp (original)
> +++ cfe/trunk/lib/AST/DeclPrinter.cpp Tue Aug 14 09:50:32 2012
> @@ -175,6 +175,10 @@
>    Printer.VisitDeclContext(const_cast<DeclContext *>(this),
> /*Indent=*/false);
>  }
>
> +void Decl::dump() const {
> +  dump(llvm::errs());
> +}
> +
>  void Decl::dump(raw_ostream &Out) const {
>    PrintingPolicy Policy = getASTContext().getPrintingPolicy();
>    Policy.Dump = true;
>
> Modified: cfe/trunk/lib/AST/DumpXML.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/DumpXML.cpp?rev=161872&r1=161871&r2=161872&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/AST/DumpXML.cpp (original)
> +++ cfe/trunk/lib/AST/DumpXML.cpp Tue Aug 14 09:50:32 2012
> @@ -1022,12 +1022,17 @@
>  };
>  }
>
> +void Decl::dumpXML() const {
> +  dump(llvm::errs());
>
You definitely want to call dumpXML(llvm::errs()) here.


> +}
> +
>  void Decl::dumpXML(raw_ostream &out) const {
>    XMLDumper(out, getASTContext()).dispatch(const_cast<Decl*>(this));
>  }
>
>  #else /* ifndef NDEBUG */
>
> +void Decl::dumpXML() const {}
>  void Decl::dumpXML(raw_ostream &out) const {}
>
>  #endif
>
> Modified: cfe/trunk/lib/StaticAnalyzer/Core/CallEvent.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/CallEvent.cpp?rev=161872&r1=161871&r2=161872&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/StaticAnalyzer/Core/CallEvent.cpp (original)
> +++ cfe/trunk/lib/StaticAnalyzer/Core/CallEvent.cpp Tue Aug 14 09:50:32
> 2012
> @@ -207,6 +207,10 @@
>    return ArgE->getSourceRange();
>  }
>
> +void CallEvent::dump() const {
> +  dump(llvm::errs());
> +}
> +
>  void CallEvent::dump(raw_ostream &Out) const {
>    ASTContext &Ctx = getState()->getStateManager().getContext();
>    if (const Expr *E = getOriginExpr()) {
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>



-- 
Best regards,
Alexander Kornienko
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120821/52394a74/attachment.html>


More information about the cfe-commits mailing list