summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruce Mitchener <bruce.mitchener@gmail.com>2015-09-15 04:33:48 +0000
committerBruce Mitchener <bruce.mitchener@gmail.com>2015-09-15 04:33:48 +0000
commit500737e6944a09f90940d0610756ed2ccfc6a01d (patch)
tree3543c0a358f508d4e4de7d7e258794075f2bcba1
parent43ee367d1ee47bac5db494838a80f74e5a53a206 (diff)
downloadbcm5719-llvm-500737e6944a09f90940d0610756ed2ccfc6a01d.tar.gz
bcm5719-llvm-500737e6944a09f90940d0610756ed2ccfc6a01d.zip
Use uint64_t for GoArray size.
Summary: This was int64_t, but all usages of it came from code that was passing in unsigned values. The usages of the array size, except for one, were also treating it as an unsigned value. The usage that treated it as signed was to try to figure out if it was a complete type or not, but the callers creating the array didn't seem to be aware of using -1 as an indicator for an incomplete array. Reviewers: ribrdb, clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12872 llvm-svn: 247662
-rw-r--r--lldb/include/lldb/Symbol/GoASTContext.h2
-rw-r--r--lldb/source/Symbol/GoASTContext.cpp17
2 files changed, 6 insertions, 13 deletions
diff --git a/lldb/include/lldb/Symbol/GoASTContext.h b/lldb/include/lldb/Symbol/GoASTContext.h
index a8834d72d53..5eef837cf67 100644
--- a/lldb/include/lldb/Symbol/GoASTContext.h
+++ b/lldb/include/lldb/Symbol/GoASTContext.h
@@ -70,7 +70,7 @@ class GoASTContext : public TypeSystem
// Creating Types
//----------------------------------------------------------------------
- CompilerType CreateArrayType(const ConstString &name, const CompilerType &element_type, int64_t length);
+ CompilerType CreateArrayType(const ConstString &name, const CompilerType &element_type, uint64_t length);
CompilerType CreateBaseType(int go_kind, const ConstString &type_name_const_str, uint64_t byte_size);
diff --git a/lldb/source/Symbol/GoASTContext.cpp b/lldb/source/Symbol/GoASTContext.cpp
index 6bd3380a84d..20610498ebe 100644
--- a/lldb/source/Symbol/GoASTContext.cpp
+++ b/lldb/source/Symbol/GoASTContext.cpp
@@ -140,20 +140,20 @@ class GoElem : public GoType
class GoArray : public GoElem
{
public:
- GoArray(const ConstString &name, int64_t length, const CompilerType &elem)
+ GoArray(const ConstString &name, uint64_t length, const CompilerType &elem)
: GoElem(KIND_ARRAY, name, elem)
, m_length(length)
{
}
- int64_t
+ uint64_t
GetLength() const
{
return m_length;
}
private:
- int64_t m_length;
+ uint64_t m_length;
GoArray(const GoArray &) = delete;
const GoArray &operator=(const GoArray &) = delete;
};
@@ -311,14 +311,7 @@ GoASTContext::IsArrayType(void *type, CompilerType *element_type, uint64_t *size
GoArray *array = static_cast<GoType *>(type)->GetArray();
if (array)
{
- if (array->GetLength() == -1)
- {
- if (is_incomplete)
- {
- *is_incomplete = true;
- }
- }
- else if (size)
+ if (size)
{
*size = array->GetLength();
}
@@ -1297,7 +1290,7 @@ GoASTContext::DumpTypeDescription(void *type, Stream *s)
}
CompilerType
-GoASTContext::CreateArrayType(const ConstString &name, const CompilerType &element_type, int64_t length)
+GoASTContext::CreateArrayType(const ConstString &name, const CompilerType &element_type, uint64_t length)
{
GoType *type = new GoArray(name, length, element_type);
(*m_types)[name].reset(type);
OpenPOWER on IntegriCloud