[Lldb-commits] [lldb] r241573 - Fix build after recent clang interface changes

Douglas Gregor dgregor at apple.com
Tue Jul 7 08:35:42 PDT 2015


Sean and Greg,

I pushed the Objective-C lightweight generics feature into Clang last night. Is there anything else on your end that needs to be pushed?

	- Doug

> On Jul 7, 2015, at 3:14 AM, Pavel Labath <labath at google.com> wrote:
> 
> I have made changes to lldb to follow the recent interface changes of
> clang. lldb now (at least) compiles, but I have very little knowledge
> of this part of code, so I would appreciate it if someone could review
> and/or fix this.
> 
> On 7 July 2015 at 11:11, Pavel Labath <labath at google.com> wrote:
>> Author: labath
>> Date: Tue Jul  7 05:11:16 2015
>> New Revision: 241573
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=241573&view=rev
>> Log:
>> Fix build after recent clang interface changes
>> 
>> Modified:
>>    lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
>>    lldb/trunk/source/Symbol/ClangASTContext.cpp
>>    lldb/trunk/source/Symbol/ClangASTImporter.cpp
>>    lldb/trunk/source/Symbol/ClangASTType.cpp
>> 
>> Modified: lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
>> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp?rev=241573&r1=241572&r2=241573&view=diff
>> ==============================================================================
>> --- lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp (original)
>> +++ lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp Tue Jul  7 05:11:16 2015
>> @@ -192,7 +192,8 @@ AppleObjCDeclVendor::GetDeclForISA(ObjCL
>>                                                                                 ast_ctx->getTranslationUnitDecl(),
>>                                                                                 clang::SourceLocation(),
>>                                                                                 &identifier_info,
>> -                                                                                NULL);
>> +                                                                                nullptr,
>> +                                                                                nullptr);
>> 
>>     ClangASTMetadata meta_data;
>>     meta_data.SetISAPtr(isa);
>> @@ -451,8 +452,9 @@ AppleObjCDeclVendor::FinishDecl(clang::O
>>             return;
>> 
>>         FinishDecl(superclass_decl);
>> -
>> -        interface_decl->setSuperClass(superclass_decl);
>> +        clang::ASTContext *context = m_ast_ctx.getASTContext();
>> +        interface_decl->setSuperClass(
>> +                context->getTrivialTypeSourceInfo(context->getObjCInterfaceType(superclass_decl)));
>>     };
>> 
>>     auto instance_method_func = [log, interface_decl, this](const char *name, const char *types) -> bool
>> 
>> Modified: lldb/trunk/source/Symbol/ClangASTContext.cpp
>> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/ClangASTContext.cpp?rev=241573&r1=241572&r2=241573&view=diff
>> ==============================================================================
>> --- lldb/trunk/source/Symbol/ClangASTContext.cpp (original)
>> +++ lldb/trunk/source/Symbol/ClangASTContext.cpp Tue Jul  7 05:11:16 2015
>> @@ -1592,6 +1592,7 @@ ClangASTContext::CreateObjCClass
>>                                                          SourceLocation(),
>>                                                          &ast->Idents.get(name),
>>                                                          nullptr,
>> +                                                         nullptr,
>>                                                          SourceLocation(),
>>                                                          /*isForwardDecl,*/
>>                                                          isInternal);
>> 
>> Modified: lldb/trunk/source/Symbol/ClangASTImporter.cpp
>> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/ClangASTImporter.cpp?rev=241573&r1=241572&r2=241573&view=diff
>> ==============================================================================
>> --- lldb/trunk/source/Symbol/ClangASTImporter.cpp (original)
>> +++ lldb/trunk/source/Symbol/ClangASTImporter.cpp Tue Jul  7 05:11:16 2015
>> @@ -568,7 +568,8 @@ ClangASTImporter::Minion::ImportDefiniti
>>             if (!to_objc_interface->hasDefinition())
>>                 to_objc_interface->startDefinition();
>> 
>> -            to_objc_interface->setSuperClass(imported_from_superclass);
>> +            to_objc_interface->setSuperClass(
>> +                    m_source_ctx->getTrivialTypeSourceInfo(m_source_ctx->getObjCInterfaceType(imported_from_superclass)));
>>         }
>>         while (0);
>>     }
>> 
>> Modified: lldb/trunk/source/Symbol/ClangASTType.cpp
>> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/ClangASTType.cpp?rev=241573&r1=241572&r2=241573&view=diff
>> ==============================================================================
>> --- lldb/trunk/source/Symbol/ClangASTType.cpp (original)
>> +++ lldb/trunk/source/Symbol/ClangASTType.cpp Tue Jul  7 05:11:16 2015
>> @@ -5354,7 +5354,9 @@ ClangASTType::SetObjCSuperClass (const C
>>         clang::ObjCInterfaceDecl *super_interface_decl = superclass_clang_type.GetAsObjCInterfaceDecl ();
>>         if (class_interface_decl && super_interface_decl)
>>         {
>> -            class_interface_decl->setSuperClass(super_interface_decl);
>> +
>> +            class_interface_decl->setSuperClass(
>> +                    m_ast->getTrivialTypeSourceInfo(m_ast->getObjCInterfaceType(super_interface_decl)));
>>             return true;
>>         }
>>     }
>> 
>> 
>> _______________________________________________
>> lldb-commits mailing list
>> lldb-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits





More information about the lldb-commits mailing list