summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKamil Rytarowski <n54@gmx.com>2017-06-12 00:28:14 +0000
committerKamil Rytarowski <n54@gmx.com>2017-06-12 00:28:14 +0000
commitdffec3d678db76752f6c2fb1f3b886751a3b1fbd (patch)
treedd74264d69a49d8eb0a5c2cf998dcc46fdf11e87
parentbfd5113ca1020054114602879daab4048574f8e5 (diff)
downloadbcm5719-llvm-dffec3d678db76752f6c2fb1f3b886751a3b1fbd.tar.gz
bcm5719-llvm-dffec3d678db76752f6c2fb1f3b886751a3b1fbd.zip
Initialize SubArch in class Triple
Summary: LLDB built with asan on NetBSD detected issues in the following code: ``` void ArchSpec::Clear() { m_triple = llvm::Triple(); m_core = kCore_invalid; m_byte_order = eByteOrderInvalid; m_distribution_id.Clear(); m_flags = 0; } ``` --- lldb/source/Core/ArchSpec.cpp Runtime error messages: /public/pkgsrc-tmp/wip/lldb-netbsd/work/.buildlink/include/llvm/ADT/Triple.h:44:7: runtime error: load of value 32639, which is not a valid value for type 'SubArchType' /public/pkgsrc-tmp/wip/lldb-netbsd/work/.buildlink/include/llvm/ADT/Triple.h:44:7: runtime error: load of value 3200171710, which is not a valid value for type 'SubArchType' /public/pkgsrc-tmp/wip/lldb-netbsd/work/.buildlink/include/llvm/ADT/Triple.h:44:7: runtime error: load of value 3200171710, which is not a valid value for type 'SubArchType' Correct this issue with initialization of SubArch() in the class Triple constructor. Sponsored by <The NetBSD Foundation> Reviewers: chandlerc, zturner Reviewed By: zturner Subscribers: llvm-commits, zturner Differential Revision: https://reviews.llvm.org/D33845 llvm-svn: 305178
-rw-r--r--llvm/include/llvm/ADT/Triple.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/include/llvm/ADT/Triple.h b/llvm/include/llvm/ADT/Triple.h
index 07626982d28..26a991812a3 100644
--- a/llvm/include/llvm/ADT/Triple.h
+++ b/llvm/include/llvm/ADT/Triple.h
@@ -239,7 +239,9 @@ public:
/// Default constructor is the same as an empty string and leaves all
/// triple fields unknown.
- Triple() : Data(), Arch(), Vendor(), OS(), Environment(), ObjectFormat() {}
+ Triple()
+ : Data(), Arch(), SubArch(), Vendor(), OS(), Environment(),
+ ObjectFormat() {}
explicit Triple(const Twine &Str);
Triple(const Twine &ArchStr, const Twine &VendorStr, const Twine &OSStr);
OpenPOWER on IntegriCloud