Don't crash if we try to interpret the IR (incorrectly in this case) and can't handle the size. This came from trying to do:
(lldb) p typedef float __attribute__((ext_vector_type(8))) __ext_vector_float8; (__ext_vector_float8)$ymm0
llvm-svn: 180235
diff --git a/lldb/source/Expression/IRInterpreter.cpp b/lldb/source/Expression/IRInterpreter.cpp
index 622ce9c..daa6217 100644
--- a/lldb/source/Expression/IRInterpreter.cpp
+++ b/lldb/source/Expression/IRInterpreter.cpp
@@ -209,9 +209,11 @@
return false;
lldb::offset_t offset = 0;
- uint64_t u64value = value_extractor.GetMaxU64(&offset, value_size);
-
- return AssignToMatchType(scalar, u64value, value->getType());
+ if (value_size <= 8)
+ {
+ uint64_t u64value = value_extractor.GetMaxU64(&offset, value_size);
+ return AssignToMatchType(scalar, u64value, value->getType());
+ }
}
return false;