This is failing on a public bot as well:
http://bb.pgr.jp/builders/cmake-clang-x64-msc16-R

Anna.
On Feb 22, 2013, at 10:49 AM, Anna Zaks <[email protected]> wrote:

> Benjamin,
> 
> Your commits (175895, 175894, 175896) are breaking our internal MSVC build 
> with errors like these:
> 
> 279>CheckerRegistration.cpp
> 279>.\llvm\tools\clang\include\clang/AST/Decl.h(176) : error C2027: use of 
> undefined type 'llvm::raw_ostream'
> 279>        .\llvm\tools\clang\include\clang/Basic/LLVM.h(47) : see 
> declaration of 'llvm::raw_ostream'
> 279>.\llvm\tools\clang\include\clang/AST/Decl.h(176) : error C2027: use of 
> undefined type 'llvm::raw_ostream'
> 279>        .\llvm\tools\clang\include\clang/Basic/LLVM.h(47) : see 
> declaration of 'llvm::raw_ostream'
> 279>.\llvm\include\llvm/Support/raw_ostream.h(309) : error C2504: 
> 'llvm::raw_ostream' : base class undefined
> 279>.\llvm\include\llvm/Support/raw_ostream.h(441) : error C2504: 
> 'llvm::raw_ostream' : base class undefined
> 279>.\llvm\include\llvm/Support/raw_ostream.h(457) : error C3861: 'flush': 
> identifier not found
> 279>.\llvm\include\llvm/Support/raw_ostream.h(465) : error C2504: 
> 'llvm::raw_ostream' : base class undefined
> 279>.\llvm\include\llvm/Support/raw_ostream.h(493) : error C2504: 
> 'llvm::raw_ostream' : base class undefined
> 275>Performing Pre-Link Event...
> ..
> 281>VariableNaming.cpp
> 279>.\llvm\include\llvm/Support/raw_ostream.h(309) : error C2504: 
> 'llvm::raw_ostream' : base class undefined
> 279>.\llvm\include\llvm/Support/raw_ostream.h(441) : error C2504: 
> 'llvm::raw_ostream' : base class undefined
> 279>.\llvm\include\llvm/Support/raw_ostream.h(457) : error C3861: 'flush': 
> identifier not found
> 279>.\llvm\include\llvm/Support/raw_ostream.h(465) : error C2504: 
> 'llvm::raw_ostream' : base class undefined
> 279>.\llvm\include\llvm/Support/raw_ostream.h(493) : error C2504: 
> 'llvm::raw_ostream' : base class undefined
> 283>RemoveCStrCalls.cpp
> 279>..\..\..\..\..\..\tools\clang\lib\StaticAnalyzer\Frontend\AnalysisConsumer.cpp(96)
>  : error C2678: binary '<<' : no operator found which takes a left-hand 
> operand of type 'llvm::raw_svector_ostream' (or there is no acceptable 
> conversion)
> 279>        .\llvm\include\llvm/ADT/APInt.h(1576): could be 
> 'llvm::raw_ostream &llvm::operator <<(llvm::raw_ostream &,const llvm::APInt 
> &)' [found using argument-dependent lookup]
> 279>        .\llvm\include\llvm/ADT/APSInt.h(305): or       
> 'llvm::raw_ostream &llvm::operator <<(llvm::raw_ostream &,const llvm::APSInt 
> &)' [found using argument-dependent lookup]
> 279>        .\llvm\include\llvm/ADT/Twine.h(516): or       'llvm::raw_ostream 
> &llvm::operator <<(llvm::raw_ostream &,const llvm::Twine &)' [found using 
> argument-dependent lookup]
> 279>        
> .\llvm\tools\clang\include\clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h(668):
>  or       'llvm::raw_ostream &llvm::operator <<(llvm::raw_ostream &,const 
> clang::ento::SymExpr *)' [found using argument-dependent lookup]
> 279>        
> .\llvm\tools\clang\include\clang/StaticAnalyzer/Core/PathSensitive/SVals.h(539):
>  or       'llvm::raw_ostream &llvm::operator <<(llvm::raw_ostream 
> &,clang::ento::SVal)' [found using argument-dependent lookup]
> 279>        
> .\llvm\tools\clang\include\clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h(1290):
>  or       'llvm::raw_ostream &llvm::operator <<(llvm::raw_ostream &,const 
> clang::ento::MemRegion *)' [found using argument-dependent lookup]
> 279>        .\llvm\tools\clang\include\clang/Basic/Diagnostic.h(988): or      
>  'const clang::DiagnosticBuilder &clang::operator <<(const 
> clang::DiagnosticBuilder &,llvm::StringRef)'
> 279>        .\llvm\tools\clang\include\clang/Basic/Diagnostic.h(994): or      
>  'const clang::DiagnosticBuilder &clang::operator <<(const 
> clang::DiagnosticBuilder &,const char *)'
> 279>        .\llvm\tools\clang\include\clang/Basic/Diagnostic.h(1001): or     
>   'const clang::DiagnosticBuilder &clang::operator <<(const 
> clang::DiagnosticBuilder &,int)'
> 279>        .\llvm\tools\clang\include\clang/Basic/Diagnostic.h(1006): or     
>   'const clang::DiagnosticBuilder &clang::operator <<(const 
> clang::DiagnosticBuilder &,bool)'
> 279>        .\llvm\tools\clang\include\clang/Basic/Diagnostic.h(1011): or     
>   'const clang::DiagnosticBuilder &clang::operator <<(const 
> clang::DiagnosticBuilder &,unsigned int)'
> 279>        .\llvm\tools\clang\include\clang/Basic/Diagnostic.h(1017): or     
>   'const clang::DiagnosticBuilder &clang::operator <<(const 
> clang::DiagnosticBuilder &,const clang::IdentifierInfo *)'
> 279>        .\llvm\tools\clang\include\clang/Basic/Diagnostic.h(1038): or     
>   'const clang::DiagnosticBuilder &clang::operator <<(const 
> clang::DiagnosticBuilder &,const clang::SourceRange &)'
> 279>        .\llvm\tools\clang\include\clang/Basic/Diagnostic.h(1044): or     
>   'const clang::DiagnosticBuilder &clang::operator <<(const 
> clang::DiagnosticBuilder &,const clang::CharSourceRange &)'
> 279>        .\llvm\tools\clang\include\clang/Basic/Diagnostic.h(1050): or     
>   'const clang::DiagnosticBuilder &clang::operator <<(const 
> clang::DiagnosticBuilder &,const clang::FixItHint &)'
> 279>        .\llvm\tools\clang\include\clang/Basic/PartialDiagnostic.h(390): 
> or       'const clang::DiagnosticBuilder &clang::operator <<(const 
> clang::DiagnosticBuilder &,const clang::PartialDiagnostic &)'
> 279>        .\llvm\tools\clang\include\clang/AST/DeclarationName.h(537): or   
>     'const clang::DiagnosticBuilder &clang::operator <<(const 
> clang::DiagnosticBuilder &,clang::DeclarationName)'
> 279>        .\llvm\tools\clang\include\clang/AST/DeclarationName.h(546): or   
>     'const clang::PartialDiagnostic &clang::operator <<(const 
> clang::PartialDiagnostic &,clang::DeclarationName)'
> 279>        .\llvm\tools\clang\include\clang/AST/DeclarationName.h(553): or   
>     'llvm::raw_ostream &clang::operator <<(llvm::raw_ostream 
> &,clang::DeclarationNameInfo)'
> 279>        .\llvm\tools\clang\include\clang/AST/NestedNameSpecifier.h(472): 
> or       'const clang::DiagnosticBuilder &clang::operator <<(const 
> clang::DiagnosticBuilder &,clang::NestedNameSpecifier *)'
> 279>        .\llvm\tools\clang\include\clang/AST/TemplateName.h(333): or      
>  'const clang::DiagnosticBuilder &clang::operator <<(const 
> clang::DiagnosticBuilder &,clang::TemplateName)'
> 279>        .\llvm\tools\clang\include\clang/AST/Type.h(5058): or       
> 'const clang::DiagnosticBuilder &clang::operator <<(const 
> clang::DiagnosticBuilder &,clang::QualType)'
> 279>        .\llvm\tools\clang\include\clang/AST/Type.h(5067): or       
> 'const clang::PartialDiagnostic &clang::operator <<(const 
> clang::PartialDiagnostic &,clang::QualType)'
> 279>        .\llvm\tools\clang\include\clang/AST/Decl.h(336): or       
> 'llvm::raw_ostream &clang::operator <<(llvm::raw_ostream &,const 
> clang::NamedDecl &)'
> 279>        .\llvm\tools\clang\include\clang/AST/Decl.h(3304): or       
> 'const clang::DiagnosticBuilder &clang::operator <<(const 
> clang::DiagnosticBuilder &,const clang::NamedDecl *)'
> 279>        .\llvm\tools\clang\include\clang/AST/Decl.h(3310): or       
> 'const clang::PartialDiagnostic &clang::operator <<(const 
> clang::PartialDiagnostic &,const clang::NamedDecl *)'
> 279>        .\llvm\tools\clang\include\clang/AST/TemplateBase.h(625): or      
>  'const clang::DiagnosticBuilder &clang::operator <<(const 
> clang::DiagnosticBuilder &,const clang::TemplateArgument &)'
> 279>        .\llvm\tools\clang\include\clang/AST/DeclCXX.h(2989): or       
> 'const clang::DiagnosticBuilder &clang::operator <<(const 
> clang::DiagnosticBuilder &,clang::AccessSpecifier)'
> 279>        .\llvm\tools\clang\include\clang/AST/DeclCXX.h(2992): or       
> 'const clang::PartialDiagnostic &clang::operator <<(const 
> clang::PartialDiagnostic &,clang::AccessSpecifier)'
> 279>        .\llvm\tools\clang\include\clang/AST/DeclObjC.h(1763): or       
> 'llvm::raw_ostream &clang::operator <<(llvm::raw_ostream &,const 
> clang::ObjCCategoryImplDecl &)'
> 279>        .\llvm\tools\clang\include\clang/AST/DeclObjC.h(1917): or       
> 'llvm::raw_ostream &clang::operator <<(llvm::raw_ostream &,const 
> clang::ObjCImplementationDecl &)'
> 279>        .\llvm\tools\clang\include\clang/Basic/VersionTuple.h(135): or    
>    'llvm::raw_ostream &clang::operator <<(llvm::raw_ostream &,const 
> clang::VersionTuple &)'
> 279>        .\llvm\tools\clang\include\clang/Basic/ObjCRuntime.h(307): or     
>   'llvm::raw_ostream &clang::operator <<(llvm::raw_ostream &,const 
> clang::ObjCRuntime &)'
> 279>        .\llvm\tools\clang\include\clang/AST/CanonicalType.h(205): or     
>   'const clang::DiagnosticBuilder &clang::operator <<(const 
> clang::DiagnosticBuilder &,clang::CanQualType)'
> 279>        while trying to match the argument list 
> '(llvm::raw_svector_ostream, const char [3])'
> ..
> On Feb 22, 2013, at 7:46 AM, Benjamin Kramer <[email protected]> wrote:
> 
>> Author: d0k
>> Date: Fri Feb 22 09:46:08 2013
>> New Revision: 175895
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=175895&view=rev
>> Log:
>> Streamify FormatASTNodeDiagnosticArgument.
>> 
>> Modified:
>>    cfe/trunk/lib/AST/ASTDiagnostic.cpp
>> 
>> Modified: cfe/trunk/lib/AST/ASTDiagnostic.cpp
>> URL: 
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ASTDiagnostic.cpp?rev=175895&r1=175894&r2=175895&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/AST/ASTDiagnostic.cpp (original)
>> +++ cfe/trunk/lib/AST/ASTDiagnostic.cpp Fri Feb 22 09:46:08 2013
>> @@ -247,7 +247,8 @@ void clang::FormatASTNodeDiagnosticArgum
>>     ArrayRef<intptr_t> QualTypeVals) {
>>   ASTContext &Context = *static_cast<ASTContext*>(Cookie);
>> 
>> -  std::string S;
>> +  size_t OldEnd = Output.size();
>> +  llvm::raw_svector_ostream OS(Output);
>>   bool NeedQuotes = true;
>> 
>>   switch (Kind) {
>> @@ -259,6 +260,7 @@ void clang::FormatASTNodeDiagnosticArgum
>>       QualType ToType =
>>           QualType::getFromOpaquePtr(reinterpret_cast<void*>(TDT.ToType));
>> 
>> +      std::string S;
>>       if (FormatTemplateTypeDiff(Context, FromType, ToType, TDT.PrintTree,
>>                                  TDT.PrintFromType, TDT.ElideType,
>>                                  TDT.ShowColors, S)) {
>> @@ -266,13 +268,14 @@ void clang::FormatASTNodeDiagnosticArgum
>>         TDT.TemplateDiffUsed = true;
>>         break;
>>       }
>> +      OS << S;
>> 
>>       // Don't fall-back during tree printing.  The caller will handle
>>       // this case.
>>       if (TDT.PrintTree)
>>         return;
>> 
>> -      // Attempting to do a templete diff on non-templates.  Set the 
>> variables
>> +      // Attempting to do a template diff on non-templates.  Set the 
>> variables
>>       // and continue with regular type printing of the appropriate type.
>>       Val = TDT.PrintFromType ? TDT.FromType : TDT.ToType;
>>       ModLen = 0;
>> @@ -284,23 +287,23 @@ void clang::FormatASTNodeDiagnosticArgum
>>              "Invalid modifier for QualType argument");
>> 
>>       QualType Ty(QualType::getFromOpaquePtr(reinterpret_cast<void*>(Val)));
>> -      S = ConvertTypeToDiagnosticString(Context, Ty, PrevArgs, NumPrevArgs,
>> -                                        QualTypeVals);
>> +      OS << ConvertTypeToDiagnosticString(Context, Ty, PrevArgs, 
>> NumPrevArgs,
>> +                                          QualTypeVals);
>>       NeedQuotes = false;
>>       break;
>>     }
>>     case DiagnosticsEngine::ak_declarationname: {
>> -      DeclarationName N = DeclarationName::getFromOpaqueInteger(Val);
>> -      S = N.getAsString();
>> -      
>>       if (ModLen == 9 && !memcmp(Modifier, "objcclass", 9) && ArgLen == 0)
>> -        S = '+' + S;
>> +        OS << '+';
>>       else if (ModLen == 12 && !memcmp(Modifier, "objcinstance", 12)
>>                 && ArgLen==0)
>> -        S = '-' + S;
>> +        OS << '-';
>>       else
>>         assert(ModLen == 0 && ArgLen == 0 &&
>>                "Invalid modifier for DeclarationName argument");
>> +
>> +      DeclarationName N = DeclarationName::getFromOpaqueInteger(Val);
>> +      N.printName(OS);
>>       break;
>>     }
>>     case DiagnosticsEngine::ak_nameddecl: {
>> @@ -313,14 +316,12 @@ void clang::FormatASTNodeDiagnosticArgum
>>         Qualified = false;
>>       }
>>       const NamedDecl *ND = reinterpret_cast<const NamedDecl*>(Val);
>> -      llvm::raw_string_ostream OS(S);
>>       ND->getNameForDiagnostic(OS, Context.getPrintingPolicy(), Qualified);
>>       break;
>>     }
>>     case DiagnosticsEngine::ak_nestednamespec: {
>> -      llvm::raw_string_ostream OS(S);
>> -      reinterpret_cast<NestedNameSpecifier*>(Val)->print(OS,
>> -                                                        
>> Context.getPrintingPolicy());
>> +      NestedNameSpecifier *NNS = 
>> reinterpret_cast<NestedNameSpecifier*>(Val);
>> +      NNS->print(OS, Context.getPrintingPolicy());
>>       NeedQuotes = false;
>>       break;
>>     }
>> @@ -331,42 +332,39 @@ void clang::FormatASTNodeDiagnosticArgum
>>       if (DC->isTranslationUnit()) {
>>         // FIXME: Get these strings from some localized place
>>         if (Context.getLangOpts().CPlusPlus)
>> -          S = "the global namespace";
>> +          OS << "the global namespace";
>>         else
>> -          S = "the global scope";
>> +          OS << "the global scope";
>>       } else if (TypeDecl *Type = dyn_cast<TypeDecl>(DC)) {
>> -        S = ConvertTypeToDiagnosticString(Context, 
>> -                                          Context.getTypeDeclType(Type),
>> -                                          PrevArgs, NumPrevArgs, 
>> QualTypeVals);
>> +        OS << ConvertTypeToDiagnosticString(Context,
>> +                                            Context.getTypeDeclType(Type),
>> +                                            PrevArgs, NumPrevArgs,
>> +                                            QualTypeVals);
>>       } else {
>>         // FIXME: Get these strings from some localized place
>>         NamedDecl *ND = cast<NamedDecl>(DC);
>>         if (isa<NamespaceDecl>(ND))
>> -          S += "namespace ";
>> +          OS << "namespace ";
>>         else if (isa<ObjCMethodDecl>(ND))
>> -          S += "method ";
>> +          OS << "method ";
>>         else if (isa<FunctionDecl>(ND))
>> -          S += "function ";
>> -        
>> -        S += "'";
>> -        {
>> -          llvm::raw_string_ostream OS(S);
>> -          ND->getNameForDiagnostic(OS, Context.getPrintingPolicy(), true);
>> -        }
>> -        S += "'";
>> +          OS << "function ";
>> +
>> +        OS << '\'';
>> +        ND->getNameForDiagnostic(OS, Context.getPrintingPolicy(), true);
>> +        OS << '\'';
>>       }
>>       NeedQuotes = false;
>>       break;
>>     }
>>   }
>> -  
>> -  if (NeedQuotes)
>> -    Output.push_back('\'');
>> -  
>> -  Output.append(S.begin(), S.end());
>> -  
>> -  if (NeedQuotes)
>> +
>> +  OS.flush();
>> +
>> +  if (NeedQuotes) {
>> +    Output.insert(Output.begin()+OldEnd, '\'');
>>     Output.push_back('\'');
>> +  }
>> }
>> 
>> /// TemplateDiff - A class that constructs a pretty string for a pair of
>> 
>> 
>> _______________________________________________
>> 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