[cfe-commits] r149781 - in /cfe/trunk: include/clang/AST/ include/clang/Sema/ include/clang/Serialization/ lib/AST/ lib/CodeGen/ lib/Sema/ lib/Serialization/ lib/StaticAnalyzer/Checkers/ lib/StaticAnalyzer/Core/ tools/libclang/
Benjamin Kramer
benny.kra at googlemail.com
Tue Feb 7 14:35:19 PST 2012
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.
- 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
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
More information about the cfe-commits
mailing list