On Feb 7, 2012, at 2:35 PM, Benjamin Kramer wrote:

> 
> On 07.02.2012, at 23:00, Chad Rosier wrote:
> 
>> Hi Ben,
>> This change is causing a 8.85% compile-time regression for a number of the 
>> ObjC/ObjC++ benchmarks in SingleSource/UnitTests/.  This was across the 
>> board for all architectures and all optimization levels.  
>> 
>> Here's the results for our -O0 -g -arch i386 configuration:
>> 
>> Performance Regressions - Compile Time       Δ       Previous        Current 
>> σ
>> SingleSource/UnitTests/ObjC++/property-reference-object      8.85%   0.5877  
>> 0.6397  0.0131
>> SingleSource/UnitTests/ObjC++/Hello  8.57%   0.5843  0.6344  0.0128
>> SingleSource/UnitTests/ObjC++/property-reference     7.54%   0.7052  0.7584  
>> 0.0143
>> SingleSource/UnitTests/ObjC/exceptions-2     6.55%   0.3375  0.3596  0.0049
>> SingleSource/UnitTests/ObjC/trivial-interface        6.42%   0.3367  0.3583  
>> 0.0046
>> SingleSource/UnitTests/ObjC/for-in   6.41%   0.3416  0.3635  0.0046
>> SingleSource/UnitTests/ObjC/exceptions-3     6.38%   0.3383  0.3599  0.0043
>> SingleSource/UnitTests/ObjC/exceptions-4     6.37%   0.3391  0.3607  0.0044
>> SingleSource/UnitTests/ObjC/synchronized     6.34%   0.3393  0.3608  0.0045
>> SingleSource/UnitTests/ObjC/property 6.32%   0.3561  0.3786  0.0049
>> SingleSource/UnitTests/ObjC/parameter-passing        6.08%   0.3670  0.3893  
>> 0.0047
>> SingleSource/UnitTests/ObjC/instance-method-metadata 6.07%   0.3424  0.3632  
>> 0.0048
>> SingleSource/UnitTests/ObjC/exceptions       5.77%   0.3521  0.3724  0.0047
>> SingleSource/UnitTests/ObjC/block-byref-aggr 4.29%   0.3635  0.3791  0.0044
>> 
>> Please take a look as soon as possible.
> 
> Reverted in r150006 for now. It's not acceptable for a change like this to 
> change performance significantly. I have to come up with a more clever 
> solution to this.

Agreed.  Thanks, Ben.

> - Ben
> 
>> 
>> Regards,
>> Chad
>> 
>> 
>> On Feb 4, 2012, at 4:31 AM, Benjamin Kramer wrote:
>> 
>>> Author: d0k
>>> Date: Sat Feb  4 06:31:12 2012
>>> New Revision: 149781
>>> 
>>> URL: http://llvm.org/viewvc/llvm-project?rev=149781&view=rev
>>> Log:
>>> Move various diagnostic operator<< overloads out of line and remove 
>>> includes of Diagnostic.h.
>>> 
>>> Fix all the files that depended on transitive includes of Diagnostic.h.
>>> With this patch in place changing a diagnostic no longer requires a full 
>>> rebuild of the StaticAnalyzer.
>>> 
>>> Modified:
>>>  cfe/trunk/include/clang/AST/ASTContext.h
>>>  cfe/trunk/include/clang/AST/Decl.h
>>>  cfe/trunk/include/clang/AST/DeclarationName.h
>>>  cfe/trunk/include/clang/AST/Mangle.h
>>>  cfe/trunk/include/clang/AST/NestedNameSpecifier.h
>>>  cfe/trunk/include/clang/AST/Type.h
>>>  cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h
>>>  cfe/trunk/include/clang/Sema/DelayedDiagnostic.h
>>>  cfe/trunk/include/clang/Sema/Sema.h
>>>  cfe/trunk/include/clang/Sema/SemaFixItUtils.h
>>>  cfe/trunk/include/clang/Serialization/ASTWriter.h
>>>  cfe/trunk/lib/AST/ASTContext.cpp
>>>  cfe/trunk/lib/AST/Decl.cpp
>>>  cfe/trunk/lib/AST/DeclCXX.cpp
>>>  cfe/trunk/lib/AST/DeclarationName.cpp
>>>  cfe/trunk/lib/AST/ExprConstant.cpp
>>>  cfe/trunk/lib/AST/ItaniumMangle.cpp
>>>  cfe/trunk/lib/AST/NestedNameSpecifier.cpp
>>>  cfe/trunk/lib/AST/Type.cpp
>>>  cfe/trunk/lib/CodeGen/CGCXXABI.cpp
>>>  cfe/trunk/lib/CodeGen/CGDebugInfo.cpp
>>>  cfe/trunk/lib/CodeGen/CodeGenTBAA.cpp
>>>  cfe/trunk/lib/Sema/AnalysisBasedWarnings.cpp
>>>  cfe/trunk/lib/Serialization/ASTWriter.cpp
>>>  cfe/trunk/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
>>>  cfe/trunk/lib/StaticAnalyzer/Checkers/AttrNonNullChecker.cpp
>>>  cfe/trunk/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
>>>  cfe/trunk/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp
>>>  cfe/trunk/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
>>>  cfe/trunk/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp
>>>  cfe/trunk/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
>>>  cfe/trunk/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
>>>  cfe/trunk/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
>>>  cfe/trunk/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
>>>  cfe/trunk/lib/StaticAnalyzer/Core/AnalysisManager.cpp
>>>  cfe/trunk/lib/StaticAnalyzer/Core/BugReporter.cpp
>>>  cfe/trunk/lib/StaticAnalyzer/Core/CheckerRegistry.cpp
>>>  cfe/trunk/tools/libclang/IndexingContext.h
>>> 
>>> Modified: cfe/trunk/include/clang/AST/ASTContext.h
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ASTContext.h?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/include/clang/AST/ASTContext.h (original)
>>> +++ cfe/trunk/include/clang/AST/ASTContext.h Sat Feb  4 06:31:12 2012
>>> @@ -18,7 +18,6 @@
>>> #include "clang/Basic/IdentifierTable.h"
>>> #include "clang/Basic/LangOptions.h"
>>> #include "clang/Basic/OperatorKinds.h"
>>> -#include "clang/Basic/PartialDiagnostic.h"
>>> #include "clang/Basic/VersionTuple.h"
>>> #include "clang/AST/Decl.h"
>>> #include "clang/AST/NestedNameSpecifier.h"
>>> 
>>> Modified: cfe/trunk/include/clang/AST/Decl.h
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Decl.h?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/include/clang/AST/Decl.h (original)
>>> +++ cfe/trunk/include/clang/AST/Decl.h Sat Feb  4 06:31:12 2012
>>> @@ -41,7 +41,11 @@
>>> class UnresolvedSetImpl;
>>> class LabelStmt;
>>> class Module;
>>> -  
>>> +
>>> +// Forward declare PartialDiagnosticAt.
>>> +// FIXME: This shouldn't be here.
>>> +typedef std::pair<SourceLocation, PartialDiagnostic> PartialDiagnosticAt;
>>> +
>>> /// \brief A container of type source information.
>>> ///
>>> /// A client can read the relevant info using TypeLoc wrappers, e.g:
>>> @@ -3175,18 +3179,11 @@
>>> 
>>> /// Insertion operator for diagnostics.  This allows sending NamedDecl's
>>> /// into a diagnostic with <<.
>>> -inline const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB,
>>> -                                           const NamedDecl* ND) {
>>> -  DB.AddTaggedVal(reinterpret_cast<intptr_t>(ND),
>>> -                  DiagnosticsEngine::ak_nameddecl);
>>> -  return DB;
>>> -}
>>> -inline const PartialDiagnostic &operator<<(const PartialDiagnostic &PD,
>>> -                                           const NamedDecl* ND) {
>>> -  PD.AddTaggedVal(reinterpret_cast<intptr_t>(ND),
>>> -                  DiagnosticsEngine::ak_nameddecl);
>>> -  return PD;
>>> -}
>>> +const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB,
>>> +                                    const NamedDecl* ND);
>>> +
>>> +const PartialDiagnostic &operator<<(const PartialDiagnostic &PD,
>>> +                                    const NamedDecl* ND);
>>> 
>>> template<typename decl_type>
>>> void Redeclarable<decl_type>::setPreviousDeclaration(decl_type *PrevDecl) {
>>> 
>>> Modified: cfe/trunk/include/clang/AST/DeclarationName.h
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclarationName.h?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/include/clang/AST/DeclarationName.h (original)
>>> +++ cfe/trunk/include/clang/AST/DeclarationName.h Sat Feb  4 06:31:12 2012
>>> @@ -16,7 +16,6 @@
>>> #include "clang/Basic/IdentifierTable.h"
>>> #include "clang/AST/Type.h"
>>> #include "clang/AST/CanonicalType.h"
>>> -#include "clang/Basic/PartialDiagnostic.h"
>>> 
>>> namespace llvm {
>>> template <typename T> struct DenseMapInfo;
>>> @@ -517,24 +516,16 @@
>>> 
>>> /// Insertion operator for diagnostics.  This allows sending 
>>> DeclarationName's
>>> /// into a diagnostic with <<.
>>> -inline const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB,
>>> -                                           DeclarationName N) {
>>> -  DB.AddTaggedVal(N.getAsOpaqueInteger(),
>>> -                  DiagnosticsEngine::ak_declarationname);
>>> -  return DB;
>>> -}
>>> +const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB,
>>> +                                    DeclarationName N);
>>> 
>>> /// Insertion operator for partial diagnostics.  This allows binding
>>> /// DeclarationName's into a partial diagnostic with <<.
>>> -inline const PartialDiagnostic &operator<<(const PartialDiagnostic &PD,
>>> -                                           DeclarationName N) {
>>> -  PD.AddTaggedVal(N.getAsOpaqueInteger(),
>>> -                  DiagnosticsEngine::ak_declarationname);
>>> -  return PD;
>>> -}
>>> +const PartialDiagnostic &operator<<(const PartialDiagnostic &PD,
>>> +                                    DeclarationName N);
>>> 
>>> inline raw_ostream &operator<<(raw_ostream &OS,
>>> -                                     DeclarationNameInfo DNInfo) {
>>> +                               DeclarationNameInfo DNInfo) {
>>> DNInfo.printName(OS);
>>> return OS;
>>> }
>>> 
>>> Modified: cfe/trunk/include/clang/AST/Mangle.h
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Mangle.h?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/include/clang/AST/Mangle.h (original)
>>> +++ cfe/trunk/include/clang/AST/Mangle.h Sat Feb  4 06:31:12 2012
>>> @@ -27,6 +27,8 @@
>>> class CXXConstructorDecl;
>>> class CXXDestructorDecl;
>>> class CXXMethodDecl;
>>> +  class DeclContext;
>>> +  class DiagnosticsEngine;
>>> class FunctionDecl;
>>> class NamedDecl;
>>> class ObjCMethodDecl;
>>> 
>>> Modified: cfe/trunk/include/clang/AST/NestedNameSpecifier.h
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/NestedNameSpecifier.h?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/include/clang/AST/NestedNameSpecifier.h (original)
>>> +++ cfe/trunk/include/clang/AST/NestedNameSpecifier.h Sat Feb  4 06:31:12 
>>> 2012
>>> @@ -14,13 +14,14 @@
>>> #ifndef LLVM_CLANG_AST_NESTEDNAMESPECIFIER_H
>>> #define LLVM_CLANG_AST_NESTEDNAMESPECIFIER_H
>>> 
>>> -#include "clang/Basic/Diagnostic.h"
>>> +#include "clang/Basic/SourceLocation.h"
>>> #include "llvm/ADT/FoldingSet.h"
>>> #include "llvm/ADT/PointerIntPair.h"
>>> 
>>> namespace clang {
>>> 
>>> class ASTContext;
>>> +class DiagnosticBuilder;
>>> class NamespaceAliasDecl;
>>> class NamespaceDecl;
>>> class IdentifierInfo;
>>> @@ -464,12 +465,8 @@
>>> 
>>> /// Insertion operator for diagnostics.  This allows sending
>>> /// NestedNameSpecifiers into a diagnostic with <<.
>>> -inline const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB,
>>> -                                           NestedNameSpecifier *NNS) {
>>> -  DB.AddTaggedVal(reinterpret_cast<intptr_t>(NNS),
>>> -                  DiagnosticsEngine::ak_nestednamespec);
>>> -  return DB;
>>> -}
>>> +const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB,
>>> +                                    NestedNameSpecifier *NNS);
>>> 
>>> }
>>> 
>>> 
>>> Modified: cfe/trunk/include/clang/AST/Type.h
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Type.h?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/include/clang/AST/Type.h (original)
>>> +++ cfe/trunk/include/clang/AST/Type.h Sat Feb  4 06:31:12 2012
>>> @@ -14,11 +14,9 @@
>>> #ifndef LLVM_CLANG_AST_TYPE_H
>>> #define LLVM_CLANG_AST_TYPE_H
>>> 
>>> -#include "clang/Basic/Diagnostic.h"
>>> #include "clang/Basic/ExceptionSpecificationType.h"
>>> #include "clang/Basic/IdentifierTable.h"
>>> #include "clang/Basic/Linkage.h"
>>> -#include "clang/Basic/PartialDiagnostic.h"
>>> #include "clang/Basic/Visibility.h"
>>> #include "clang/AST/NestedNameSpecifier.h"
>>> #include "clang/AST/TemplateName.h"
>>> @@ -94,6 +92,7 @@
>>> class ExtQuals;
>>> class ExtQualsTypeCommonBase;
>>> struct PrintingPolicy;
>>> +  class PartialDiagnostic;
>>> 
>>> template <typename> class CanQual;
>>> typedef CanQual<Type> CanQualType;
>>> @@ -4799,21 +4798,11 @@
>>> 
>>> /// Insertion operator for diagnostics.  This allows sending QualType's 
>>> into a
>>> /// diagnostic with <<.
>>> -inline const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB,
>>> -                                           QualType T) {
>>> -  DB.AddTaggedVal(reinterpret_cast<intptr_t>(T.getAsOpaquePtr()),
>>> -                  DiagnosticsEngine::ak_qualtype);
>>> -  return DB;
>>> -}
>>> +const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB, QualType 
>>> T);
>>> 
>>> /// Insertion operator for partial diagnostics.  This allows sending 
>>> QualType's
>>> /// into a diagnostic with <<.
>>> -inline const PartialDiagnostic &operator<<(const PartialDiagnostic &PD,
>>> -                                           QualType T) {
>>> -  PD.AddTaggedVal(reinterpret_cast<intptr_t>(T.getAsOpaquePtr()),
>>> -                  DiagnosticsEngine::ak_qualtype);
>>> -  return PD;
>>> -}
>>> +const PartialDiagnostic &operator<<(const PartialDiagnostic &PD, QualType 
>>> T);
>>> 
>>> // Helper class template that is used by Type::getAs to ensure that one does
>>> // not try to look through a qualified type to get to an array type.
>>> 
>>> Modified: cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h (original)
>>> +++ cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h Sat Feb  4 06:31:12 
>>> 2012
>>> @@ -24,6 +24,7 @@
>>> namespace clang {
>>> 
>>> class Decl;
>>> +class Preprocessor;
>>> 
>>> /// \brief Default priority values for code-completion results based
>>> /// on their kind.
>>> 
>>> Modified: cfe/trunk/include/clang/Sema/DelayedDiagnostic.h
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/DelayedDiagnostic.h?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/include/clang/Sema/DelayedDiagnostic.h (original)
>>> +++ cfe/trunk/include/clang/Sema/DelayedDiagnostic.h Sat Feb  4 06:31:12 
>>> 2012
>>> @@ -22,6 +22,7 @@
>>> #define LLVM_CLANG_SEMA_DELAYED_DIAGNOSTIC_H
>>> 
>>> #include "clang/AST/DeclCXX.h"
>>> +#include "clang/Basic/PartialDiagnostic.h"
>>> 
>>> namespace clang {
>>> namespace sema {
>>> 
>>> Modified: cfe/trunk/include/clang/Sema/Sema.h
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/Sema.h?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/include/clang/Sema/Sema.h (original)
>>> +++ cfe/trunk/include/clang/Sema/Sema.h Sat Feb  4 06:31:12 2012
>>> @@ -30,6 +30,7 @@
>>> #include "clang/AST/ExternalASTSource.h"
>>> #include "clang/AST/TypeLoc.h"
>>> #include "clang/Lex/ModuleLoader.h"
>>> +#include "clang/Basic/PartialDiagnostic.h"
>>> #include "clang/Basic/Specifiers.h"
>>> #include "clang/Basic/TemplateKinds.h"
>>> #include "clang/Basic/TypeTraits.h"
>>> 
>>> Modified: cfe/trunk/include/clang/Sema/SemaFixItUtils.h
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/SemaFixItUtils.h?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/include/clang/Sema/SemaFixItUtils.h (original)
>>> +++ cfe/trunk/include/clang/Sema/SemaFixItUtils.h Sat Feb  4 06:31:12 2012
>>> @@ -14,6 +14,7 @@
>>> #define LLVM_CLANG_SEMA_FIXITUTILS_H
>>> 
>>> #include "clang/AST/Expr.h"
>>> +#include "clang/Basic/Diagnostic.h"
>>> 
>>> namespace clang {
>>> 
>>> 
>>> Modified: cfe/trunk/include/clang/Serialization/ASTWriter.h
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Serialization/ASTWriter.h?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/include/clang/Serialization/ASTWriter.h (original)
>>> +++ cfe/trunk/include/clang/Serialization/ASTWriter.h Sat Feb  4 06:31:12 
>>> 2012
>>> @@ -43,6 +43,7 @@
>>> class NestedNameSpecifier;
>>> class CXXBaseSpecifier;
>>> class CXXCtorInitializer;
>>> +class DiagnosticsEngine;
>>> class FPOptions;
>>> class HeaderSearch;
>>> class IdentifierResolver;
>>> 
>>> Modified: cfe/trunk/lib/AST/ASTContext.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ASTContext.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/AST/ASTContext.cpp (original)
>>> +++ cfe/trunk/lib/AST/ASTContext.cpp Sat Feb  4 06:31:12 2012
>>> @@ -24,6 +24,7 @@
>>> #include "clang/AST/RecordLayout.h"
>>> #include "clang/AST/Mangle.h"
>>> #include "clang/Basic/Builtins.h"
>>> +#include "clang/Basic/PartialDiagnostic.h"
>>> #include "clang/Basic/SourceManager.h"
>>> #include "clang/Basic/TargetInfo.h"
>>> #include "llvm/ADT/SmallString.h"
>>> 
>>> Modified: cfe/trunk/lib/AST/Decl.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/Decl.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/AST/Decl.cpp (original)
>>> +++ cfe/trunk/lib/AST/Decl.cpp Sat Feb  4 06:31:12 2012
>>> @@ -25,6 +25,7 @@
>>> #include "clang/Basic/Builtins.h"
>>> #include "clang/Basic/IdentifierTable.h"
>>> #include "clang/Basic/Module.h"
>>> +#include "clang/Basic/PartialDiagnostic.h"
>>> #include "clang/Basic/Specifiers.h"
>>> #include "clang/Basic/TargetInfo.h"
>>> #include "llvm/Support/ErrorHandling.h"
>>> @@ -2959,3 +2960,17 @@
>>> 
>>> return SourceRange(getLocation(), getIdentifierLocs().back());
>>> }
>>> +
>>> +const DiagnosticBuilder &clang::operator<<(const DiagnosticBuilder &DB,
>>> +                                           const NamedDecl* ND) {
>>> +  DB.AddTaggedVal(reinterpret_cast<intptr_t>(ND),
>>> +                  DiagnosticsEngine::ak_nameddecl);
>>> +  return DB;
>>> +}
>>> +
>>> +const PartialDiagnostic &clang::operator<<(const PartialDiagnostic &PD,
>>> +                                           const NamedDecl* ND) {
>>> +  PD.AddTaggedVal(reinterpret_cast<intptr_t>(ND),
>>> +                  DiagnosticsEngine::ak_nameddecl);
>>> +  return PD;
>>> +}
>>> 
>>> Modified: cfe/trunk/lib/AST/DeclCXX.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/DeclCXX.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/AST/DeclCXX.cpp (original)
>>> +++ cfe/trunk/lib/AST/DeclCXX.cpp Sat Feb  4 06:31:12 2012
>>> @@ -20,6 +20,7 @@
>>> #include "clang/AST/ExprCXX.h"
>>> #include "clang/AST/TypeLoc.h"
>>> #include "clang/Basic/IdentifierTable.h"
>>> +#include "clang/Basic/PartialDiagnostic.h"
>>> #include "llvm/ADT/STLExtras.h"
>>> #include "llvm/ADT/SmallPtrSet.h"
>>> using namespace clang;
>>> 
>>> Modified: cfe/trunk/lib/AST/DeclarationName.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/DeclarationName.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/AST/DeclarationName.cpp (original)
>>> +++ cfe/trunk/lib/AST/DeclarationName.cpp Sat Feb  4 06:31:12 2012
>>> @@ -18,6 +18,7 @@
>>> #include "clang/AST/TypeLoc.h"
>>> #include "clang/AST/TypeOrdering.h"
>>> #include "clang/Basic/IdentifierTable.h"
>>> +#include "clang/Basic/PartialDiagnostic.h"
>>> #include "llvm/ADT/DenseMap.h"
>>> #include "llvm/ADT/FoldingSet.h"
>>> #include "llvm/Support/ErrorHandling.h"
>>> @@ -620,3 +621,17 @@
>>> }
>>> llvm_unreachable("Unexpected declaration name kind");
>>> }
>>> +
>>> +const DiagnosticBuilder &clang::operator<<(const DiagnosticBuilder &DB,
>>> +                                           DeclarationName N) {
>>> +  DB.AddTaggedVal(N.getAsOpaqueInteger(),
>>> +                  DiagnosticsEngine::ak_declarationname);
>>> +  return DB;
>>> +}
>>> +
>>> +const PartialDiagnostic &clang::operator<<(const PartialDiagnostic &PD,
>>> +                                           DeclarationName N) {
>>> +  PD.AddTaggedVal(N.getAsOpaqueInteger(),
>>> +                  DiagnosticsEngine::ak_declarationname);
>>> +  return PD;
>>> +}
>>> 
>>> Modified: cfe/trunk/lib/AST/ExprConstant.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ExprConstant.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/AST/ExprConstant.cpp (original)
>>> +++ cfe/trunk/lib/AST/ExprConstant.cpp Sat Feb  4 06:31:12 2012
>>> @@ -42,6 +42,7 @@
>>> #include "clang/AST/ASTDiagnostic.h"
>>> #include "clang/AST/Expr.h"
>>> #include "clang/Basic/Builtins.h"
>>> +#include "clang/Basic/PartialDiagnostic.h"
>>> #include "clang/Basic/TargetInfo.h"
>>> #include "llvm/ADT/SmallString.h"
>>> #include <cstring>
>>> 
>>> Modified: cfe/trunk/lib/AST/ItaniumMangle.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ItaniumMangle.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/AST/ItaniumMangle.cpp (original)
>>> +++ cfe/trunk/lib/AST/ItaniumMangle.cpp Sat Feb  4 06:31:12 2012
>>> @@ -24,6 +24,7 @@
>>> #include "clang/AST/ExprObjC.h"
>>> #include "clang/AST/TypeLoc.h"
>>> #include "clang/Basic/ABI.h"
>>> +#include "clang/Basic/Diagnostic.h"
>>> #include "clang/Basic/SourceManager.h"
>>> #include "clang/Basic/TargetInfo.h"
>>> #include "llvm/ADT/StringExtras.h"
>>> 
>>> Modified: cfe/trunk/lib/AST/NestedNameSpecifier.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/NestedNameSpecifier.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/AST/NestedNameSpecifier.cpp (original)
>>> +++ cfe/trunk/lib/AST/NestedNameSpecifier.cpp Sat Feb  4 06:31:12 2012
>>> @@ -18,6 +18,7 @@
>>> #include "clang/AST/PrettyPrinter.h"
>>> #include "clang/AST/Type.h"
>>> #include "clang/AST/TypeLoc.h"
>>> +#include "clang/Basic/Diagnostic.h"
>>> #include "llvm/Support/raw_ostream.h"
>>> #include <cassert>
>>> 
>>> @@ -639,3 +640,9 @@
>>> return NestedNameSpecifierLoc(Representation, Mem);
>>> }
>>> 
>>> +const DiagnosticBuilder &clang::operator<<(const DiagnosticBuilder &DB,
>>> +                                           NestedNameSpecifier *NNS) {
>>> +  DB.AddTaggedVal(reinterpret_cast<intptr_t>(NNS),
>>> +                  DiagnosticsEngine::ak_nestednamespec);
>>> +  return DB;
>>> +}
>>> 
>>> Modified: cfe/trunk/lib/AST/Type.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/Type.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/AST/Type.cpp (original)
>>> +++ cfe/trunk/lib/AST/Type.cpp Sat Feb  4 06:31:12 2012
>>> @@ -20,6 +20,7 @@
>>> #include "clang/AST/Expr.h"
>>> #include "clang/AST/PrettyPrinter.h"
>>> #include "clang/AST/TypeVisitor.h"
>>> +#include "clang/Basic/PartialDiagnostic.h"
>>> #include "clang/Basic/Specifiers.h"
>>> #include "llvm/ADT/APSInt.h"
>>> #include "llvm/ADT/StringExtras.h"
>>> @@ -2309,3 +2310,17 @@
>>> 
>>> return true;
>>> }
>>> +
>>> +const DiagnosticBuilder &clang::operator<<(const DiagnosticBuilder &DB,
>>> +                                           QualType T) {
>>> +  DB.AddTaggedVal(reinterpret_cast<intptr_t>(T.getAsOpaquePtr()),
>>> +                  DiagnosticsEngine::ak_qualtype);
>>> +  return DB;
>>> +}
>>> +
>>> +const PartialDiagnostic &clang::operator<<(const PartialDiagnostic &PD,
>>> +                                           QualType T) {
>>> +  PD.AddTaggedVal(reinterpret_cast<intptr_t>(T.getAsOpaquePtr()),
>>> +                  DiagnosticsEngine::ak_qualtype);
>>> +  return PD;
>>> +}
>>> 
>>> Modified: cfe/trunk/lib/CodeGen/CGCXXABI.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGCXXABI.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/CodeGen/CGCXXABI.cpp (original)
>>> +++ cfe/trunk/lib/CodeGen/CGCXXABI.cpp Sat Feb  4 06:31:12 2012
>>> @@ -13,6 +13,7 @@
>>> //===----------------------------------------------------------------------===//
>>> 
>>> #include "CGCXXABI.h"
>>> +#include "clang/Basic/Diagnostic.h"
>>> 
>>> using namespace clang;
>>> using namespace CodeGen;
>>> 
>>> Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDebugInfo.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/CodeGen/CGDebugInfo.cpp (original)
>>> +++ cfe/trunk/lib/CodeGen/CGDebugInfo.cpp Sat Feb  4 06:31:12 2012
>>> @@ -21,8 +21,9 @@
>>> #include "clang/AST/DeclTemplate.h"
>>> #include "clang/AST/Expr.h"
>>> #include "clang/AST/RecordLayout.h"
>>> -#include "clang/Basic/SourceManager.h"
>>> +#include "clang/Basic/Diagnostic.h"
>>> #include "clang/Basic/FileManager.h"
>>> +#include "clang/Basic/SourceManager.h"
>>> #include "clang/Basic/Version.h"
>>> #include "clang/Frontend/CodeGenOptions.h"
>>> #include "llvm/Constants.h"
>>> 
>>> Modified: cfe/trunk/lib/CodeGen/CodeGenTBAA.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenTBAA.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/CodeGen/CodeGenTBAA.cpp (original)
>>> +++ cfe/trunk/lib/CodeGen/CodeGenTBAA.cpp Sat Feb  4 06:31:12 2012
>>> @@ -22,6 +22,7 @@
>>> #include "llvm/Metadata.h"
>>> #include "llvm/Constants.h"
>>> #include "llvm/Type.h"
>>> +#include "llvm/ADT/STLExtras.h"
>>> using namespace clang;
>>> using namespace CodeGen;
>>> 
>>> 
>>> Modified: cfe/trunk/lib/Sema/AnalysisBasedWarnings.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/AnalysisBasedWarnings.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/Sema/AnalysisBasedWarnings.cpp (original)
>>> +++ cfe/trunk/lib/Sema/AnalysisBasedWarnings.cpp Sat Feb  4 06:31:12 2012
>>> @@ -16,6 +16,7 @@
>>> #include "clang/Sema/AnalysisBasedWarnings.h"
>>> #include "clang/Sema/SemaInternal.h"
>>> #include "clang/Sema/ScopeInfo.h"
>>> +#include "clang/Basic/PartialDiagnostic.h"
>>> #include "clang/Basic/SourceManager.h"
>>> #include "clang/Basic/SourceLocation.h"
>>> #include "clang/Lex/Preprocessor.h"
>>> 
>>> Modified: cfe/trunk/lib/Serialization/ASTWriter.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTWriter.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/Serialization/ASTWriter.cpp (original)
>>> +++ cfe/trunk/lib/Serialization/ASTWriter.cpp Sat Feb  4 06:31:12 2012
>>> @@ -29,6 +29,7 @@
>>> #include "clang/Lex/PreprocessingRecord.h"
>>> #include "clang/Lex/Preprocessor.h"
>>> #include "clang/Lex/HeaderSearch.h"
>>> +#include "clang/Basic/Diagnostic.h"
>>> #include "clang/Basic/FileManager.h"
>>> #include "clang/Basic/FileSystemStatCache.h"
>>> #include "clang/Basic/OnDiskHashTable.h"
>>> 
>>> Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp (original)
>>> +++ cfe/trunk/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp Sat Feb  
>>> 4 06:31:12 2012
>>> @@ -19,6 +19,7 @@
>>> #include "clang/StaticAnalyzer/Core/BugReporter/BugType.h"
>>> #include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h"
>>> #include "clang/AST/CharUnits.h"
>>> +#include "llvm/ADT/STLExtras.h"
>>> 
>>> using namespace clang;
>>> using namespace ento;
>>> 
>>> Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/AttrNonNullChecker.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/AttrNonNullChecker.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/StaticAnalyzer/Checkers/AttrNonNullChecker.cpp (original)
>>> +++ cfe/trunk/lib/StaticAnalyzer/Checkers/AttrNonNullChecker.cpp Sat Feb  4 
>>> 06:31:12 2012
>>> @@ -17,6 +17,7 @@
>>> #include "clang/StaticAnalyzer/Core/CheckerManager.h"
>>> #include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h"
>>> #include "clang/StaticAnalyzer/Core/BugReporter/BugType.h"
>>> +#include "llvm/ADT/STLExtras.h"
>>> 
>>> using namespace clang;
>>> using namespace ento;
>>> 
>>> Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/CStringChecker.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/StaticAnalyzer/Checkers/CStringChecker.cpp (original)
>>> +++ cfe/trunk/lib/StaticAnalyzer/Checkers/CStringChecker.cpp Sat Feb  4 
>>> 06:31:12 2012
>>> @@ -18,6 +18,7 @@
>>> #include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h"
>>> #include "clang/StaticAnalyzer/Core/BugReporter/BugType.h"
>>> #include "clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h"
>>> +#include "llvm/ADT/STLExtras.h"
>>> #include "llvm/ADT/StringSwitch.h"
>>> 
>>> using namespace clang;
>>> 
>>> Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp (original)
>>> +++ cfe/trunk/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp Sat Feb  4 
>>> 06:31:12 2012
>>> @@ -17,6 +17,7 @@
>>> #include "clang/StaticAnalyzer/Core/CheckerManager.h"
>>> #include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h"
>>> #include "clang/StaticAnalyzer/Core/BugReporter/BugType.h"
>>> +#include "llvm/ADT/STLExtras.h"
>>> 
>>> using namespace clang;
>>> using namespace ento;
>>> 
>>> Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/MallocChecker.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/StaticAnalyzer/Checkers/MallocChecker.cpp (original)
>>> +++ cfe/trunk/lib/StaticAnalyzer/Checkers/MallocChecker.cpp Sat Feb  4 
>>> 06:31:12 2012
>>> @@ -21,6 +21,7 @@
>>> #include "clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h"
>>> #include "clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h"
>>> #include "llvm/ADT/ImmutableMap.h"
>>> +#include "llvm/ADT/STLExtras.h"
>>> using namespace clang;
>>> using namespace ento;
>>> 
>>> 
>>> Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp (original)
>>> +++ cfe/trunk/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp Sat Feb  4 
>>> 06:31:12 2012
>>> @@ -20,6 +20,7 @@
>>> #include "clang/StaticAnalyzer/Core/BugReporter/BugType.h"
>>> #include "clang/StaticAnalyzer/Checkers/DereferenceChecker.h"
>>> #include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h"
>>> +#include "llvm/ADT/STLExtras.h"
>>> 
>>> using namespace clang;
>>> using namespace ento;
>>> 
>>> Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp (original)
>>> +++ cfe/trunk/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp Sat Feb  4 
>>> 06:31:12 2012
>>> @@ -19,6 +19,7 @@
>>> #include "clang/StaticAnalyzer/Core/BugReporter/BugType.h"
>>> #include "clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h"
>>> #include "llvm/ADT/ImmutableList.h"
>>> +#include "llvm/ADT/STLExtras.h"
>>> 
>>> using namespace clang;
>>> using namespace ento;
>>> 
>>> Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/StreamChecker.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/StaticAnalyzer/Checkers/StreamChecker.cpp (original)
>>> +++ cfe/trunk/lib/StaticAnalyzer/Checkers/StreamChecker.cpp Sat Feb  4 
>>> 06:31:12 2012
>>> @@ -20,6 +20,7 @@
>>> #include "clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h"
>>> #include "clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h"
>>> #include "llvm/ADT/ImmutableMap.h"
>>> +#include "llvm/ADT/STLExtras.h"
>>> 
>>> using namespace clang;
>>> using namespace ento;
>>> 
>>> Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp (original)
>>> +++ cfe/trunk/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp Sat Feb  4 
>>> 06:31:12 2012
>>> @@ -19,6 +19,7 @@
>>> #include "clang/StaticAnalyzer/Core/BugReporter/BugType.h"
>>> #include "clang/Basic/TargetInfo.h"
>>> #include "llvm/ADT/Optional.h"
>>> +#include "llvm/ADT/STLExtras.h"
>>> #include "llvm/ADT/StringSwitch.h"
>>> #include <fcntl.h>
>>> 
>>> 
>>> Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp (original)
>>> +++ cfe/trunk/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp Sat Feb  4 
>>> 06:31:12 2012
>>> @@ -20,6 +20,7 @@
>>> #include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h"
>>> #include "clang/StaticAnalyzer/Core/BugReporter/BugType.h"
>>> #include "clang/AST/CharUnits.h"
>>> +#include "llvm/ADT/STLExtras.h"
>>> 
>>> using namespace clang;
>>> using namespace ento;
>>> 
>>> Modified: cfe/trunk/lib/StaticAnalyzer/Core/AnalysisManager.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/AnalysisManager.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/StaticAnalyzer/Core/AnalysisManager.cpp (original)
>>> +++ cfe/trunk/lib/StaticAnalyzer/Core/AnalysisManager.cpp Sat Feb  4 
>>> 06:31:12 2012
>>> @@ -10,6 +10,7 @@
>>> #include "clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h"
>>> #include "clang/Index/Entity.h"
>>> #include "clang/Index/Indexer.h"
>>> +#include "llvm/ADT/STLExtras.h"
>>> 
>>> using namespace clang;
>>> using namespace ento;
>>> 
>>> Modified: cfe/trunk/lib/StaticAnalyzer/Core/BugReporter.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/BugReporter.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/StaticAnalyzer/Core/BugReporter.cpp (original)
>>> +++ cfe/trunk/lib/StaticAnalyzer/Core/BugReporter.cpp Sat Feb  4 06:31:12 
>>> 2012
>>> @@ -21,6 +21,7 @@
>>> #include "clang/AST/Expr.h"
>>> #include "clang/AST/ParentMap.h"
>>> #include "clang/AST/StmtObjC.h"
>>> +#include "clang/Basic/Diagnostic.h"
>>> #include "clang/Basic/SourceManager.h"
>>> #include "clang/Analysis/ProgramPoint.h"
>>> #include "clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h"
>>> 
>>> Modified: cfe/trunk/lib/StaticAnalyzer/Core/CheckerRegistry.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/CheckerRegistry.cpp?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/StaticAnalyzer/Core/CheckerRegistry.cpp (original)
>>> +++ cfe/trunk/lib/StaticAnalyzer/Core/CheckerRegistry.cpp Sat Feb  4 
>>> 06:31:12 2012
>>> @@ -10,6 +10,7 @@
>>> #include "clang/StaticAnalyzer/Core/CheckerRegistry.h"
>>> #include "clang/StaticAnalyzer/Core/CheckerOptInfo.h"
>>> #include "llvm/ADT/SetVector.h"
>>> +#include "llvm/ADT/STLExtras.h"
>>> 
>>> using namespace clang;
>>> using namespace ento;
>>> 
>>> Modified: cfe/trunk/tools/libclang/IndexingContext.h
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/IndexingContext.h?rev=149781&r1=149780&r2=149781&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/tools/libclang/IndexingContext.h (original)
>>> +++ cfe/trunk/tools/libclang/IndexingContext.h Sat Feb  4 06:31:12 2012
>>> @@ -13,12 +13,14 @@
>>> #include "clang/AST/DeclObjC.h"
>>> #include "clang/AST/DeclGroup.h"
>>> #include "llvm/ADT/DenseSet.h"
>>> +#include "llvm/ADT/IntrusiveRefCntPtr.h"
>>> 
>>> namespace clang {
>>> class FileEntry;
>>> class ObjCPropertyDecl;
>>> class ClassTemplateDecl;
>>> class FunctionTemplateDecl;
>>> +  class Preprocessor;
>>> class TypeAliasTemplateDecl;
>>> 
>>> namespace cxindex {
>>> 
>>> 
>>> _______________________________________________
>>> cfe-commits mailing list
>>> [email protected]
>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>> 
> 


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to