File tree Expand file tree Collapse file tree 1 file changed +10
-7
lines changed
lldb/source/Plugins/Language/CPlusPlus Expand file tree Collapse file tree 1 file changed +10
-7
lines changed Original file line number Diff line number Diff line change @@ -111,13 +111,6 @@ lldb_private::formatters::MsvcStlDequeSyntheticFrontEnd::Update() {
111111 if (!block_size.IsValid ())
112112 return lldb::eRefetch;
113113
114- auto element_type = deque_type.GetTypeTemplateArgument (0 );
115- if (!element_type)
116- return lldb::eRefetch;
117- auto element_size = element_type.GetByteSize (nullptr );
118- if (!element_size)
119- return lldb::eRefetch;
120-
121114 auto offset_sp = storage_sp->GetChildMemberWithName (" _Myoff" );
122115 auto map_size_sp = storage_sp->GetChildMemberWithName (" _Mapsize" );
123116 auto map_sp = storage_sp->GetChildMemberWithName (" _Map" );
@@ -138,6 +131,16 @@ lldb_private::formatters::MsvcStlDequeSyntheticFrontEnd::Update() {
138131 if (!ok)
139132 return lldb::eRefetch;
140133
134+ auto element_type = deque_type.GetTypeTemplateArgument (0 );
135+ if (!element_type) {
136+ element_type = map_sp->GetCompilerType ().GetPointeeType ().GetPointeeType ();
137+ if (!element_type)
138+ return lldb::eRefetch;
139+ }
140+ auto element_size = element_type.GetByteSize (nullptr );
141+ if (!element_size)
142+ return lldb::eRefetch;
143+
141144 m_map = map_sp.get ();
142145 m_exe_ctx_ref = m_backend.GetExecutionContextRef ();
143146 m_block_size = block_size.ULongLong ();
You can’t perform that action at this time.
0 commit comments