[Lldb-commits] [lldb] r124355 - in /lldb/trunk: llvm.zip scripts/build-llvm.pl source/Expression/ASTResultSynthesizer.cpp source/Expression/ClangASTSource.cpp source/Expression/IRForTarget.cpp source/Symbol/ClangASTContext.cpp source/Symbol/ClangASTType.cpp source/Symbol/Function.cpp
Sean Callanan
scallanan at apple.com
Wed Jan 26 20:42:51 PST 2011
Author: spyffe
Date: Wed Jan 26 22:42:51 2011
New Revision: 124355
URL: http://llvm.org/viewvc/llvm-project?rev=124355&view=rev
Log:
Updated Clang to a version that supports propagating
the "virtual" flag when importing a C++ function
declaration. Made changes to LLDB to support other
changes in Clang.
Modified:
lldb/trunk/llvm.zip
lldb/trunk/scripts/build-llvm.pl
lldb/trunk/source/Expression/ASTResultSynthesizer.cpp
lldb/trunk/source/Expression/ClangASTSource.cpp
lldb/trunk/source/Expression/IRForTarget.cpp
lldb/trunk/source/Symbol/ClangASTContext.cpp
lldb/trunk/source/Symbol/ClangASTType.cpp
lldb/trunk/source/Symbol/Function.cpp
Modified: lldb/trunk/llvm.zip
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/llvm.zip?rev=124355&r1=124354&r2=124355&view=diff
==============================================================================
Binary files - no diff available.
Modified: lldb/trunk/scripts/build-llvm.pl
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/build-llvm.pl?rev=124355&r1=124354&r2=124355&view=diff
==============================================================================
--- lldb/trunk/scripts/build-llvm.pl (original)
+++ lldb/trunk/scripts/build-llvm.pl Wed Jan 26 22:42:51 2011
@@ -25,7 +25,7 @@
our $llvm_configuration = $ENV{LLVM_CONFIGURATION};
-our $llvm_revision = "123723";
+our $llvm_revision = "124349";
our $llvm_source_dir = "$ENV{SRCROOT}";
our $cc = "$ENV{DEVELOPER_BIN_DIR}/gcc-4.2";
our $cxx = "$ENV{DEVELOPER_BIN_DIR}/g++-4.2";
Modified: lldb/trunk/source/Expression/ASTResultSynthesizer.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Expression/ASTResultSynthesizer.cpp?rev=124355&r1=124354&r2=124355&view=diff
==============================================================================
--- lldb/trunk/source/Expression/ASTResultSynthesizer.cpp (original)
+++ lldb/trunk/source/Expression/ASTResultSynthesizer.cpp Wed Jan 26 22:42:51 2011
@@ -290,7 +290,7 @@
(last_expr->getObjectKind() == OK_Ordinary);
QualType expr_qual_type = last_expr->getType();
- clang::Type *expr_type = expr_qual_type.getTypePtr();
+ const clang::Type *expr_type = expr_qual_type.getTypePtr();
if (!expr_type)
return false;
Modified: lldb/trunk/source/Expression/ClangASTSource.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Expression/ClangASTSource.cpp?rev=124355&r1=124354&r2=124355&view=diff
==============================================================================
--- lldb/trunk/source/Expression/ClangASTSource.cpp (original)
+++ lldb/trunk/source/Expression/ClangASTSource.cpp Wed Jan 26 22:42:51 2011
@@ -244,7 +244,7 @@
{
QualType qual_type = QualType::getFromOpaquePtr(type);
- if (TagType *tag_type = dyn_cast<clang::TagType>(qual_type))
+ if (const TagType *tag_type = dyn_cast<clang::TagType>(qual_type))
{
TagDecl *tag_decl = tag_type->getDecl();
@@ -252,7 +252,7 @@
return tag_decl;
}
- else if (ObjCObjectType *objc_object_type = dyn_cast<clang::ObjCObjectType>(qual_type))
+ else if (const ObjCObjectType *objc_object_type = dyn_cast<clang::ObjCObjectType>(qual_type))
{
ObjCInterfaceDecl *interface_decl = objc_object_type->getInterface();
Modified: lldb/trunk/source/Expression/IRForTarget.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Expression/IRForTarget.cpp?rev=124355&r1=124354&r2=124355&view=diff
==============================================================================
--- lldb/trunk/source/Expression/IRForTarget.cpp (original)
+++ lldb/trunk/source/Expression/IRForTarget.cpp Wed Jan 26 22:42:51 2011
@@ -271,8 +271,8 @@
if (m_result_is_pointer)
{
clang::QualType pointer_qual_type = result_decl->getType();
- clang::Type *pointer_type = pointer_qual_type.getTypePtr();
- clang::PointerType *pointer_pointertype = dyn_cast<clang::PointerType>(pointer_type);
+ const clang::Type *pointer_type = pointer_qual_type.getTypePtr();
+ const clang::PointerType *pointer_pointertype = dyn_cast<clang::PointerType>(pointer_type);
if (!pointer_pointertype)
{
@@ -1252,6 +1252,7 @@
Value *val = llvm_call_inst->getCalledValue();
ConstantExpr *const_expr = dyn_cast<ConstantExpr>(val);
+ LoadInst *load_inst = dyn_cast<LoadInst>(val);
if (const_expr && const_expr->getOpcode() == Instruction::BitCast)
{
@@ -1269,6 +1270,10 @@
{
return true; // already resolved
}
+ else if (load_inst)
+ {
+ return true; // virtual method call
+ }
else
{
if (m_error_stream)
Modified: lldb/trunk/source/Symbol/ClangASTContext.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/ClangASTContext.cpp?rev=124355&r1=124354&r2=124355&view=diff
==============================================================================
--- lldb/trunk/source/Symbol/ClangASTContext.cpp (original)
+++ lldb/trunk/source/Symbol/ClangASTContext.cpp Wed Jan 26 22:42:51 2011
@@ -75,7 +75,7 @@
case clang::Type::Record:
case clang::Type::Enum:
{
- clang::TagType *tag_type = dyn_cast<clang::TagType>(qual_type.getTypePtr());
+ const clang::TagType *tag_type = dyn_cast<clang::TagType>(qual_type.getTypePtr());
if (tag_type)
{
clang::TagDecl *tag_decl = tag_type->getDecl();
@@ -103,7 +103,7 @@
case clang::Type::ObjCObject:
case clang::Type::ObjCInterface:
{
- clang::ObjCObjectType *objc_class_type = dyn_cast<clang::ObjCObjectType>(qual_type);
+ const clang::ObjCObjectType *objc_class_type = dyn_cast<clang::ObjCObjectType>(qual_type);
if (objc_class_type)
{
clang::ObjCInterfaceDecl *class_interface_decl = objc_class_type->getInterface();
@@ -1078,7 +1078,7 @@
case clang::Type::ObjCObject:
case clang::Type::ObjCInterface:
{
- ObjCObjectType *objc_class_type = dyn_cast<ObjCObjectType>(qual_type.getTypePtr());
+ const ObjCObjectType *objc_class_type = dyn_cast<ObjCObjectType>(qual_type.getTypePtr());
assert (objc_class_type);
if (objc_class_type)
{
@@ -1357,12 +1357,12 @@
const bool is_implicitly_declared = false;
- clang::FunctionType *function_Type = dyn_cast<FunctionType>(method_qual_type.getTypePtr());
+ const clang::FunctionType *function_Type = dyn_cast<FunctionType>(method_qual_type.getTypePtr());
if (function_Type == NULL)
return NULL;
- FunctionProtoType *method_function_prototype (dyn_cast<FunctionProtoType>(function_Type));
+ const FunctionProtoType *method_function_prototype (dyn_cast<FunctionProtoType>(function_Type));
if (!method_function_prototype)
return NULL;
@@ -1494,7 +1494,7 @@
QualType record_qual_type(QualType::getFromOpaquePtr(record_clang_type));
- clang::Type *clang_type = record_qual_type.getTypePtr();
+ const clang::Type *clang_type = record_qual_type.getTypePtr();
if (clang_type)
{
const RecordType *record_type = dyn_cast<RecordType>(clang_type);
@@ -1527,7 +1527,7 @@
}
else
{
- ObjCObjectType *objc_class_type = dyn_cast<ObjCObjectType>(clang_type);
+ const ObjCObjectType *objc_class_type = dyn_cast<ObjCObjectType>(clang_type);
if (objc_class_type)
{
bool is_synthesized = false;
@@ -1610,7 +1610,7 @@
{
QualType qual_type(QualType::getFromOpaquePtr(clang_type));
- RecordType *record_type = dyn_cast<RecordType>(qual_type.getTypePtr());
+ const RecordType *record_type = dyn_cast<RecordType>(qual_type.getTypePtr());
if (record_type)
{
RecordDecl *record_decl = record_type->getDecl();
@@ -1710,12 +1710,12 @@
{
QualType class_qual_type(QualType::getFromOpaquePtr(class_opaque_type));
QualType super_qual_type(QualType::getFromOpaquePtr(super_opaque_type));
- clang::Type *class_type = class_qual_type.getTypePtr();
- clang::Type *super_type = super_qual_type.getTypePtr();
+ const clang::Type *class_type = class_qual_type.getTypePtr();
+ const clang::Type *super_type = super_qual_type.getTypePtr();
if (class_type && super_type)
{
- ObjCObjectType *objc_class_type = dyn_cast<ObjCObjectType>(class_type);
- ObjCObjectType *objc_super_type = dyn_cast<ObjCObjectType>(super_type);
+ const ObjCObjectType *objc_class_type = dyn_cast<ObjCObjectType>(class_type);
+ const ObjCObjectType *objc_super_type = dyn_cast<ObjCObjectType>(super_type);
if (objc_class_type && objc_super_type)
{
ObjCInterfaceDecl *class_interface_decl = objc_class_type->getInterface();
@@ -1754,10 +1754,10 @@
QualType class_qual_type(QualType::getFromOpaquePtr(class_opaque_type));
- clang::Type *class_type = class_qual_type.getTypePtr();
+ const clang::Type *class_type = class_qual_type.getTypePtr();
if (class_type)
{
- ObjCObjectType *objc_class_type = dyn_cast<ObjCObjectType>(class_type);
+ const ObjCObjectType *objc_class_type = dyn_cast<ObjCObjectType>(class_type);
if (objc_class_type)
{
@@ -1799,10 +1799,10 @@
{
QualType class_qual_type(QualType::getFromOpaquePtr(class_opaque_type));
- clang::Type *class_type = class_qual_type.getTypePtr();
+ const clang::Type *class_type = class_qual_type.getTypePtr();
if (class_type)
{
- ObjCObjectType *objc_class_type = dyn_cast<ObjCObjectType>(class_type);
+ const ObjCObjectType *objc_class_type = dyn_cast<ObjCObjectType>(class_type);
if (objc_class_type)
return ObjCDeclHasIVars (objc_class_type->getInterface(), check_superclass);
@@ -1846,11 +1846,11 @@
QualType class_qual_type(QualType::getFromOpaquePtr(class_opaque_type));
- clang::Type *class_type = class_qual_type.getTypePtr();
+ const clang::Type *class_type = class_qual_type.getTypePtr();
if (class_type == NULL)
return NULL;
- ObjCObjectType *objc_class_type = dyn_cast<ObjCObjectType>(class_type);
+ const ObjCObjectType *objc_class_type = dyn_cast<ObjCObjectType>(class_type);
if (objc_class_type == NULL)
return NULL;
@@ -1897,12 +1897,12 @@
QualType method_qual_type (QualType::getFromOpaquePtr (method_opaque_type));
// Populate the method decl with parameter decls
- clang::Type *method_type(method_qual_type.getTypePtr());
+ const clang::Type *method_type(method_qual_type.getTypePtr());
if (method_type == NULL)
return NULL;
- FunctionProtoType *method_function_prototype (dyn_cast<FunctionProtoType>(method_type));
+ const FunctionProtoType *method_function_prototype (dyn_cast<FunctionProtoType>(method_type));
if (!method_function_prototype)
return NULL;
@@ -2175,7 +2175,7 @@
case clang::Type::ObjCInterface:
if (GetCompleteQualType (ast, qual_type))
{
- ObjCObjectType *objc_class_type = dyn_cast<ObjCObjectType>(qual_type.getTypePtr());
+ const ObjCObjectType *objc_class_type = dyn_cast<ObjCObjectType>(qual_type.getTypePtr());
assert (objc_class_type);
if (objc_class_type)
{
@@ -2204,7 +2204,7 @@
case clang::Type::ObjCObjectPointer:
{
- ObjCObjectPointerType *pointer_type = cast<ObjCObjectPointerType>(qual_type.getTypePtr());
+ const ObjCObjectPointerType *pointer_type = cast<ObjCObjectPointerType>(qual_type.getTypePtr());
QualType pointee_type = pointer_type->getPointeeType();
uint32_t num_pointee_children = ClangASTContext::GetNumChildren (ast,
pointee_type.getAsOpaquePtr(),
@@ -2223,7 +2223,7 @@
case clang::Type::Pointer:
{
- PointerType *pointer_type = cast<PointerType>(qual_type.getTypePtr());
+ const PointerType *pointer_type = cast<PointerType>(qual_type.getTypePtr());
QualType pointee_type (pointer_type->getPointeeType());
uint32_t num_pointee_children = ClangASTContext::GetNumChildren (ast,
pointee_type.getAsOpaquePtr(),
@@ -2242,7 +2242,7 @@
case clang::Type::LValueReference:
case clang::Type::RValueReference:
{
- ReferenceType *reference_type = cast<ReferenceType>(qual_type.getTypePtr());
+ const ReferenceType *reference_type = cast<ReferenceType>(qual_type.getTypePtr());
QualType pointee_type = reference_type->getPointeeType();
uint32_t num_pointee_children = ClangASTContext::GetNumChildren (ast,
pointee_type.getAsOpaquePtr(),
@@ -2533,7 +2533,7 @@
case clang::Type::ObjCInterface:
if (GetCompleteQualType (ast, parent_qual_type))
{
- ObjCObjectType *objc_class_type = dyn_cast<ObjCObjectType>(parent_qual_type.getTypePtr());
+ const ObjCObjectType *objc_class_type = dyn_cast<ObjCObjectType>(parent_qual_type.getTypePtr());
assert (objc_class_type);
if (objc_class_type)
{
@@ -2610,7 +2610,7 @@
case clang::Type::ObjCObjectPointer:
{
- ObjCObjectPointerType *pointer_type = cast<ObjCObjectPointerType>(parent_qual_type.getTypePtr());
+ const ObjCObjectPointerType *pointer_type = cast<ObjCObjectPointerType>(parent_qual_type.getTypePtr());
QualType pointee_type = pointer_type->getPointeeType();
if (transparent_pointers && ClangASTContext::IsAggregateType (pointee_type.getAsOpaquePtr()))
@@ -2679,7 +2679,7 @@
case clang::Type::Pointer:
{
- PointerType *pointer_type = cast<PointerType>(parent_qual_type.getTypePtr());
+ const PointerType *pointer_type = cast<PointerType>(parent_qual_type.getTypePtr());
QualType pointee_type = pointer_type->getPointeeType();
// Don't dereference "void *" pointers
@@ -2730,7 +2730,7 @@
case clang::Type::LValueReference:
case clang::Type::RValueReference:
{
- ReferenceType *reference_type = cast<ReferenceType>(parent_qual_type.getTypePtr());
+ const ReferenceType *reference_type = cast<ReferenceType>(parent_qual_type.getTypePtr());
QualType pointee_type(reference_type->getPointeeType());
clang_type_t pointee_clang_type = pointee_type.getAsOpaquePtr();
if (transparent_pointers && ClangASTContext::IsAggregateType (pointee_clang_type))
@@ -3078,7 +3078,7 @@
if (GetCompleteQualType (ast, qual_type))
{
StringRef name_sref(name);
- ObjCObjectType *objc_class_type = dyn_cast<ObjCObjectType>(qual_type.getTypePtr());
+ const ObjCObjectType *objc_class_type = dyn_cast<ObjCObjectType>(qual_type.getTypePtr());
assert (objc_class_type);
if (objc_class_type)
{
@@ -3182,7 +3182,7 @@
case clang::Type::LValueReference:
case clang::Type::RValueReference:
{
- ReferenceType *reference_type = cast<ReferenceType>(qual_type.getTypePtr());
+ const ReferenceType *reference_type = cast<ReferenceType>(qual_type.getTypePtr());
QualType pointee_type = reference_type->getPointeeType();
if (ClangASTContext::IsAggregateType (pointee_type.getAsOpaquePtr()))
@@ -3198,7 +3198,7 @@
case clang::Type::Pointer:
{
- PointerType *pointer_type = cast<PointerType>(qual_type.getTypePtr());
+ const PointerType *pointer_type = cast<PointerType>(qual_type.getTypePtr());
QualType pointee_type = pointer_type->getPointeeType();
if (ClangASTContext::IsAggregateType (pointee_type.getAsOpaquePtr()))
@@ -3314,7 +3314,7 @@
if (GetCompleteQualType (ast, qual_type))
{
StringRef name_sref(name);
- ObjCObjectType *objc_class_type = dyn_cast<ObjCObjectType>(qual_type.getTypePtr());
+ const ObjCObjectType *objc_class_type = dyn_cast<ObjCObjectType>(qual_type.getTypePtr());
assert (objc_class_type);
if (objc_class_type)
{
@@ -3397,7 +3397,7 @@
case clang::Type::LValueReference:
case clang::Type::RValueReference:
{
- ReferenceType *reference_type = cast<ReferenceType>(qual_type.getTypePtr());
+ const ReferenceType *reference_type = cast<ReferenceType>(qual_type.getTypePtr());
QualType pointee_type = reference_type->getPointeeType();
if (ClangASTContext::IsAggregateType (pointee_type.getAsOpaquePtr()))
@@ -3412,7 +3412,7 @@
case clang::Type::Pointer:
{
- PointerType *pointer_type = cast<PointerType>(qual_type.getTypePtr());
+ const PointerType *pointer_type = cast<PointerType>(qual_type.getTypePtr());
QualType pointee_type = pointer_type->getPointeeType();
if (ClangASTContext::IsAggregateType (pointee_type.getAsOpaquePtr()))
@@ -3464,10 +3464,10 @@
if (tag_clang_type)
{
QualType tag_qual_type(QualType::getFromOpaquePtr(tag_clang_type));
- clang::Type *clang_type = tag_qual_type.getTypePtr();
+ const clang::Type *clang_type = tag_qual_type.getTypePtr();
if (clang_type)
{
- TagType *tag_type = dyn_cast<TagType>(clang_type);
+ const TagType *tag_type = dyn_cast<TagType>(clang_type);
if (tag_type)
{
TagDecl *tag_decl = dyn_cast<TagDecl>(tag_type->getDecl());
@@ -3661,10 +3661,10 @@
if (clang_type)
{
QualType qual_type (QualType::getFromOpaquePtr(clang_type));
- clang::Type *t = qual_type.getTypePtr();
+ const clang::Type *t = qual_type.getTypePtr();
if (t)
{
- TagType *tag_type = dyn_cast<TagType>(t);
+ const TagType *tag_type = dyn_cast<TagType>(t);
if (tag_type)
{
TagDecl *tag_decl = tag_type->getDecl();
@@ -3695,7 +3695,7 @@
return true;
}
- ObjCObjectType *objc_class_type = dyn_cast<ObjCObjectType>(qual_type);
+ const ObjCObjectType *objc_class_type = dyn_cast<ObjCObjectType>(qual_type);
if (objc_class_type)
{
@@ -3789,7 +3789,7 @@
{
QualType enum_qual_type (QualType::getFromOpaquePtr(enum_clang_type));
- clang::Type *clang_type = enum_qual_type.getTypePtr();
+ const clang::Type *clang_type = enum_qual_type.getTypePtr();
if (clang_type)
{
const EnumType *enum_type = dyn_cast<EnumType>(clang_type);
@@ -3824,7 +3824,7 @@
assert (identifier_table != NULL);
QualType enum_qual_type (QualType::getFromOpaquePtr(enum_clang_type));
- clang::Type *clang_type = enum_qual_type.getTypePtr();
+ const clang::Type *clang_type = enum_qual_type.getTypePtr();
if (clang_type)
{
const EnumType *enum_type = dyn_cast<EnumType>(clang_type);
@@ -4177,7 +4177,7 @@
case clang::Type::LValueReference:
case clang::Type::RValueReference:
{
- ReferenceType *reference_type = cast<ReferenceType>(qual_type.getTypePtr());
+ const ReferenceType *reference_type = cast<ReferenceType>(qual_type.getTypePtr());
if (reference_type)
return ClangASTContext::IsFunctionPointerType (reference_type->getPointeeType().getAsOpaquePtr());
}
@@ -4192,7 +4192,7 @@
{
if (clang_type)
{
- ConstantArrayType *array = cast<ConstantArrayType>(QualType::getFromOpaquePtr(clang_type).getTypePtr());
+ const ConstantArrayType *array = cast<ConstantArrayType>(QualType::getFromOpaquePtr(clang_type).getTypePtr());
if (array)
return array->getSize().getLimitedValue();
}
Modified: lldb/trunk/source/Symbol/ClangASTType.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/ClangASTType.cpp?rev=124355&r1=124354&r2=124355&view=diff
==============================================================================
--- lldb/trunk/source/Symbol/ClangASTType.cpp (original)
+++ lldb/trunk/source/Symbol/ClangASTType.cpp Wed Jan 26 22:42:51 2011
@@ -522,7 +522,7 @@
bool is_array_of_characters = false;
clang::QualType element_qual_type = array->getElementType();
- clang::Type *canonical_type = element_qual_type->getCanonicalTypeInternal().getTypePtr();
+ const clang::Type *canonical_type = element_qual_type->getCanonicalTypeInternal().getTypePtr();
if (canonical_type)
is_array_of_characters = canonical_type->isCharType();
@@ -898,7 +898,7 @@
ClangASTType::IsDefined (clang_type_t clang_type)
{
clang::QualType qual_type(clang::QualType::getFromOpaquePtr(clang_type));
- clang::TagType *tag_type = dyn_cast<clang::TagType>(qual_type.getTypePtr());
+ const clang::TagType *tag_type = dyn_cast<clang::TagType>(qual_type.getTypePtr());
if (tag_type)
{
clang::TagDecl *tag_decl = tag_type->getDecl();
@@ -908,7 +908,7 @@
}
else
{
- clang::ObjCObjectType *objc_class_type = dyn_cast<clang::ObjCObjectType>(qual_type);
+ const clang::ObjCObjectType *objc_class_type = dyn_cast<clang::ObjCObjectType>(qual_type);
if (objc_class_type)
{
clang::ObjCInterfaceDecl *class_interface_decl = objc_class_type->getInterface();
@@ -951,7 +951,7 @@
llvm::SmallVector<char, 1024> buf;
llvm::raw_svector_ostream llvm_ostrm (buf);
- clang::TagType *tag_type = dyn_cast<clang::TagType>(qual_type.getTypePtr());
+ const clang::TagType *tag_type = dyn_cast<clang::TagType>(qual_type.getTypePtr());
if (tag_type)
{
clang::TagDecl *tag_decl = tag_type->getDecl();
@@ -966,7 +966,7 @@
case clang::Type::ObjCObject:
case clang::Type::ObjCInterface:
{
- clang::ObjCObjectType *objc_class_type = dyn_cast<clang::ObjCObjectType>(qual_type.getTypePtr());
+ const clang::ObjCObjectType *objc_class_type = dyn_cast<clang::ObjCObjectType>(qual_type.getTypePtr());
assert (objc_class_type);
if (objc_class_type)
{
Modified: lldb/trunk/source/Symbol/Function.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/Function.cpp?rev=124355&r1=124354&r2=124355&view=diff
==============================================================================
--- lldb/trunk/source/Symbol/Function.cpp (original)
+++ lldb/trunk/source/Symbol/Function.cpp Wed Jan 26 22:42:51 2011
@@ -404,7 +404,7 @@
{
clang::QualType clang_type (clang::QualType::getFromOpaquePtr(GetType()->GetClangType()));
assert (clang_type->isFunctionType());
- clang::FunctionType *function_type = dyn_cast<clang::FunctionType> (clang_type);
+ const clang::FunctionType *function_type = dyn_cast<clang::FunctionType> (clang_type);
clang::QualType fun_return_qualtype = function_type->getResultType();
const ConstString fun_return_name(ClangASTType::GetClangTypeName(fun_return_qualtype.getAsOpaquePtr()));
@@ -484,7 +484,7 @@
const char *
Function::GetArgumentNameAtIndex (size_t idx)
{
- clang::Type *clang_type = static_cast<clang::QualType *>(GetType()->GetClangType())->getTypePtr();
+ const clang::Type *clang_type = static_cast<clang::QualType *>(GetType()->GetClangType())->getTypePtr();
assert (clang_type->isFunctionType());
if (!clang_type->isFunctionProtoType())
return NULL;
More information about the lldb-commits
mailing list