const type_base_sptr
get_type() const;
+ void
+ set_type(type_base_sptr&);
+
const type_base*
get_naked_type() const;
ABG_ASSERT(type);
}
- if (!type)
+ if (!type && !result)
return result;
string name, linkage_name;
{
// We were called to append properties that might have been
// missing from the first version of the variable. And usually
- // that missing property is the mangled name.
+ // that missing property is the mangled name or the type.
if (!linkage_name.empty())
result->set_linkage_name(linkage_name);
+
+ if (type)
+ result->set_type(type);
}
// Check if a variable symbol with this name is exported by the elf
naked_type_(t.get()),
binding_(b)
{}
+
+ /// Setter of the type of the variable.
+ ///
+ /// @param t the new variable type.
+ void
+ set_type(type_base_sptr t)
+ {
+ type_ = t;
+ naked_type_ = t.get();
+ }
}; // end struct var_decl::priv
/// Constructor of the @ref var_decl type.
var_decl::get_type() const
{return priv_->type_.lock();}
+/// Setter of the type of the variable.
+///
+/// @param the new type of the variable.
+void
+var_decl::set_type(type_base_sptr& t)
+{priv_->set_type(t);}
+
/// Getter of the type of the variable.
///
/// This getter returns a bare pointer, as opposed to a smart pointer.
test-diff-filter/test-PR29387-v1.o \
test-diff-filter/test-PR29387-v0.o \
test-diff-filter/test-PR29387-report.txt \
+test-diff-filter/test-PR29811-unknown-size-array-dwarf-ctf-CTF.o \
+test-diff-filter/test-PR29811-unknown-size-array-dwarf-ctf-DWARF.o \
+test-diff-filter/test-PR29811-unknown-size-array-dwarf-ctf-report.txt \
+test-diff-filter/test-PR29811-unknown-size-array-dwarf-ctf.c \
\
test-diff-suppr/test0-type-suppr-v0.cc \
test-diff-suppr/test0-type-suppr-v1.cc \
</data-member>
<data-member access='private' static='yes'>
<!-- static tcmalloc::PageHeapAllocator<tcmalloc::Span> tcmalloc::Static::span_allocator_ -->
- <var-decl name='span_allocator_' type-id='type-id-1507' mangled-name='_ZN8tcmalloc6Static15span_allocator_E' visibility='default' filepath='src/static_vars.h' line='99' column='1' elf-symbol-id='_ZN8tcmalloc6Static15span_allocator_E'/>
+ <var-decl name='span_allocator_' type-id='type-id-1281' mangled-name='_ZN8tcmalloc6Static15span_allocator_E' visibility='default' filepath='src/static_vars.h' line='99' column='1' elf-symbol-id='_ZN8tcmalloc6Static15span_allocator_E'/>
</data-member>
<data-member access='private' static='yes'>
<!-- static tcmalloc::PageHeapAllocator<tcmalloc::StackTrace> tcmalloc::Static::stacktrace_allocator_ -->
- <var-decl name='stacktrace_allocator_' type-id='type-id-1510' mangled-name='_ZN8tcmalloc6Static21stacktrace_allocator_E' visibility='default' filepath='src/static_vars.h' line='100' column='1' elf-symbol-id='_ZN8tcmalloc6Static21stacktrace_allocator_E'/>
+ <var-decl name='stacktrace_allocator_' type-id='type-id-1147' mangled-name='_ZN8tcmalloc6Static21stacktrace_allocator_E' visibility='default' filepath='src/static_vars.h' line='100' column='1' elf-symbol-id='_ZN8tcmalloc6Static21stacktrace_allocator_E'/>
</data-member>
<data-member access='private' static='yes'>
<!-- static tcmalloc::Span tcmalloc::Static::sampled_objects_ -->
</data-member>
<data-member access='private' static='yes'>
<!-- static tcmalloc::PageHeapAllocator<tcmalloc::StackTraceTable::Bucket> tcmalloc::Static::bucket_allocator_ -->
- <var-decl name='bucket_allocator_' type-id='type-id-1554' mangled-name='_ZN8tcmalloc6Static17bucket_allocator_E' visibility='default' filepath='src/static_vars.h' line='102' column='1' elf-symbol-id='_ZN8tcmalloc6Static17bucket_allocator_E'/>
+ <var-decl name='bucket_allocator_' type-id='type-id-1305' mangled-name='_ZN8tcmalloc6Static17bucket_allocator_E' visibility='default' filepath='src/static_vars.h' line='102' column='1' elf-symbol-id='_ZN8tcmalloc6Static17bucket_allocator_E'/>
</data-member>
<data-member access='private' static='yes'>
<!-- static tcmalloc::StackTrace* tcmalloc::Static::growth_stacks_ -->
--- /dev/null
+/*
+ Compile this file twice. Once with DWARF debug info and once with
+ CTF debug info:
+
+ gcc -g -c test-PR29811-unknown-size-array-dwarf-ctf.c -o test-PR29811-unknown-size-array-dwarf-ctf-DWARF.o
+
+ gcc -gctf -c test-PR29811-unknown-size-array-dwarf-ctf.c -o test-PR29811-unknown-size-array-dwarf-ctf-CTF.o
+
+*/
+extern unsigned int is_basic_table[];
+
+unsigned int is_basic_table[] = {0};
<var-decl name='central_cache_' type-id='type-id-1431' mangled-name='_ZN8tcmalloc6Static14central_cache_E' visibility='default' filepath='src/static_vars.h' line='98' column='1' elf-symbol-id='_ZN8tcmalloc6Static14central_cache_E'/>
</data-member>
<data-member access='private' static='yes'>
- <var-decl name='span_allocator_' type-id='type-id-1507' mangled-name='_ZN8tcmalloc6Static15span_allocator_E' visibility='default' filepath='src/static_vars.h' line='99' column='1' elf-symbol-id='_ZN8tcmalloc6Static15span_allocator_E'/>
+ <var-decl name='span_allocator_' type-id='type-id-1281' mangled-name='_ZN8tcmalloc6Static15span_allocator_E' visibility='default' filepath='src/static_vars.h' line='99' column='1' elf-symbol-id='_ZN8tcmalloc6Static15span_allocator_E'/>
</data-member>
<data-member access='private' static='yes'>
- <var-decl name='stacktrace_allocator_' type-id='type-id-1510' mangled-name='_ZN8tcmalloc6Static21stacktrace_allocator_E' visibility='default' filepath='src/static_vars.h' line='100' column='1' elf-symbol-id='_ZN8tcmalloc6Static21stacktrace_allocator_E'/>
+ <var-decl name='stacktrace_allocator_' type-id='type-id-1147' mangled-name='_ZN8tcmalloc6Static21stacktrace_allocator_E' visibility='default' filepath='src/static_vars.h' line='100' column='1' elf-symbol-id='_ZN8tcmalloc6Static21stacktrace_allocator_E'/>
</data-member>
<data-member access='private' static='yes'>
<var-decl name='sampled_objects_' type-id='type-id-144' mangled-name='_ZN8tcmalloc6Static16sampled_objects_E' visibility='default' filepath='src/static_vars.h' line='101' column='1' elf-symbol-id='_ZN8tcmalloc6Static16sampled_objects_E'/>
</data-member>
<data-member access='private' static='yes'>
- <var-decl name='bucket_allocator_' type-id='type-id-1554' mangled-name='_ZN8tcmalloc6Static17bucket_allocator_E' visibility='default' filepath='src/static_vars.h' line='102' column='1' elf-symbol-id='_ZN8tcmalloc6Static17bucket_allocator_E'/>
+ <var-decl name='bucket_allocator_' type-id='type-id-1305' mangled-name='_ZN8tcmalloc6Static17bucket_allocator_E' visibility='default' filepath='src/static_vars.h' line='102' column='1' elf-symbol-id='_ZN8tcmalloc6Static17bucket_allocator_E'/>
</data-member>
<data-member access='private' static='yes'>
<var-decl name='growth_stacks_' type-id='type-id-1560' mangled-name='_ZN8tcmalloc6Static14growth_stacks_E' visibility='default' filepath='src/static_vars.h' line='108' column='1' elf-symbol-id='_ZN8tcmalloc6Static14growth_stacks_E'/>
"data/test-diff-filter/test-PR29387-report.txt",
"output/test-diff-filter/test-PR29387-report.txt",
},
+#ifdef WITH_CTF
+ {
+ "data/test-diff-filter/test-PR29811-unknown-size-array-dwarf-ctf-DWARF.o",
+ "data/test-diff-filter/test-PR29811-unknown-size-array-dwarf-ctf-CTF.o",
+ "--ctf --no-default-suppression",
+ "data/test-diff-filter/test-PR29811-unknown-size-array-dwarf-ctf-report.txt",
+ "output/test-diff-filter/test-PR29811-unknown-size-array-dwarf-ctf-report.txt",
+ },
+#endif
// This should be the last entry
{NULL, NULL, NULL, NULL, NULL}
};