<rdar://problem/13374267>
Fixed error where objective C methods with selectors names starting with ".cxx_" where causing errors for ARC built binaries. llvm-svn: 176683
This commit is contained in:
parent
503c83ad81
commit
1bbcc03455
|
@ -546,19 +546,21 @@ public:
|
|||
lldb::clang_type_t class_opaque_type,
|
||||
const char *name, // the full symbol name as seen in the symbol table ("-[NString stringWithCString:]")
|
||||
lldb::clang_type_t method_opaque_type,
|
||||
lldb::AccessType access);
|
||||
lldb::AccessType access,
|
||||
bool is_artificial);
|
||||
|
||||
clang::ObjCMethodDecl *
|
||||
AddMethodToObjCObjectType (lldb::clang_type_t class_opaque_type,
|
||||
const char *name, // the full symbol name as seen in the symbol table ("-[NString stringWithCString:]")
|
||||
lldb::clang_type_t method_opaque_type,
|
||||
lldb::AccessType access)
|
||||
lldb::AccessType access,
|
||||
bool is_artificial)
|
||||
{
|
||||
return AddMethodToObjCObjectType (getASTContext(),
|
||||
class_opaque_type,
|
||||
name,
|
||||
method_opaque_type,
|
||||
access);
|
||||
access, is_artificial);
|
||||
}
|
||||
|
||||
static bool
|
||||
|
|
|
@ -6332,7 +6332,8 @@ SymbolFileDWARF::ParseType (const SymbolContext& sc, DWARFCompileUnit* dwarf_cu,
|
|||
clang::ObjCMethodDecl *objc_method_decl = ast.AddMethodToObjCObjectType (class_opaque_type,
|
||||
type_name_cstr,
|
||||
clang_type,
|
||||
accessibility);
|
||||
accessibility,
|
||||
is_artificial);
|
||||
type_handled = objc_method_decl != NULL;
|
||||
if (type_handled)
|
||||
{
|
||||
|
|
|
@ -2644,14 +2644,12 @@ ClangASTContext::ObjCDeclHasIVars (ObjCInterfaceDecl *class_interface_decl, bool
|
|||
}
|
||||
|
||||
ObjCMethodDecl *
|
||||
ClangASTContext::AddMethodToObjCObjectType
|
||||
(
|
||||
ASTContext *ast,
|
||||
clang_type_t class_opaque_type,
|
||||
const char *name, // the full symbol name as seen in the symbol table ("-[NString stringWithCString:]")
|
||||
clang_type_t method_opaque_type,
|
||||
lldb::AccessType access
|
||||
)
|
||||
ClangASTContext::AddMethodToObjCObjectType (ASTContext *ast,
|
||||
clang_type_t class_opaque_type,
|
||||
const char *name, // the full symbol name as seen in the symbol table ("-[NString stringWithCString:]")
|
||||
clang_type_t method_opaque_type,
|
||||
lldb::AccessType access,
|
||||
bool is_artificial)
|
||||
{
|
||||
if (class_opaque_type == NULL || method_opaque_type == NULL)
|
||||
return NULL;
|
||||
|
@ -2682,8 +2680,6 @@ ClangASTContext::AddMethodToObjCObjectType
|
|||
return NULL;
|
||||
|
||||
selector_start++;
|
||||
if (!(::isalpha (selector_start[0]) || selector_start[0] == '_'))
|
||||
return NULL;
|
||||
llvm::SmallVector<IdentifierInfo *, 12> selector_idents;
|
||||
|
||||
size_t len = 0;
|
||||
|
@ -2745,7 +2741,7 @@ ClangASTContext::AddMethodToObjCObjectType
|
|||
name[0] == '-',
|
||||
is_variadic,
|
||||
is_synthesized,
|
||||
true, // is_implicitly_declared
|
||||
is_artificial, // is_implicitly_declared
|
||||
is_defined,
|
||||
imp_control,
|
||||
false /*has_related_result_type*/);
|
||||
|
|
Loading…
Reference in New Issue