mirror of
git://sourceware.org/git/libabigail.git
synced 2025-03-30 07:18:32 +00:00
dwarf-reader,ir: Fix endless loop while analyzing DWARF from Modula-2
While reading the DWARF of libm2iso.so.19.0.0 from the package libgm2-14.2.1-1.fc40.x86_64.rpm (Modula-2 library for the gcc-gm2 package), abidw crashes due to a stack overflow, because of an endless loop while trying to print the type names for DIEs in the DWARF reader. This is due to this kind of recursive construct of an anonymous type at offset 0xf1: [ f1] structure_type abbrev: 30 byte_size (data1) 32 decl_file (data1) RTentity.mod (12) decl_line (data1) 34 decl_column (data1) 23 sibling (ref_udata) [ 126] [ f7] member abbrev: 64 name (GNU_strp_alt) "left" decl_file (data1) RTentity.mod (12) decl_line (data1) 35 decl_column (data1) 26 type (ref_udata) [ 126] data_member_location (data1) 0 [...] Consider the data member name "left" at offset 0xf7. The offset of it's type DIE is 0x126. Here is the DIE at offset 0x126: [ 126] pointer_type abbrev: 48 byte_size (implicit_const) 8 type (ref_udata) [ f1] It's a pointer to a type described by the DIE at offset ... 0xf1. That is a cycle in the graph of that anonymous type, right there. To name an anonymous struct like this, the DWARF reader constructs its "flat representation". Namely, the idea is to represent the struct by a string that looks like: "struct {type1 data1, type2 data2}" For that, the DWARF reader walks the DIE tree and emit the flat representation recursively. But here, because the DIE tree contains a cycle, the code goes into an endless loop. There is a similar issue with function types Note that later, when the libabigail IR is built, we face a similar problem. This patch introduces cycle detection & avoidance in the code that emit type names in the DWARF reader and in the Libabigail IR. It adds the libgm2 RPM to the testsuite and self-compares it using abipkgdiff, in the test-diff-pkg test harness. * src/abg-dwarf-reader.cc (die_qualified_type_name) (die_qualified_decl_name, die_qualified_type_name_empty) (die_function_signature, die_pretty_print_type) (die_pretty_print_decl, die_pretty_print) (reader::{get_die_qualified_type_name}): Take a new guard parameter. Pass it to all the type name construction function, all the way down to die_class_flat_representation and die_return_and_parm_names_from_fn_type_die. (die_qualified_name, die_type_name) (die_class_or_enum_flat_representation) (die_class_or_enum_flat_representation) (reader::{get_die_pretty_type_representation, get_die_pretty_representation}): Add an overload that takes a guard parameter and rewrite the previous overload in terms of the new one. (die_class_flat_representation) (die_return_and_parm_names_from_fn_type_die): Take a new guard parameter. Use it to detect and avoid cycles during the construction of the type name. * src/abg-ir-priv.h (class_or_union::priv::is_printing_flat_representation_): Define new data member. (class_or_union::priv::{set,unset,is}_printing_flat_representation): Define member functions. (function_type::priv::is_pretty_printing_): Define new data member. (function_type::priv::{set,unset,}_is_pretty_printing): Define member functions. * src/abg-ir.cc (get_class_or_union_flat_representation) (add_outer_pointer_to_fn_type_expr): Implement cycle detection and avoidance for recursive classes and function types. * tests/data/test-diff-pkg/libgm2-14.2.1-1.fc40.x86_64-self-check-report.txt: New test reference output. * tests/data/test-diff-pkg/libgm2-14.2.1-1.fc40.x86_64.rpm: New input RPM. * tests/data/test-read-dwarf/test-libandroid.so.abi: Adjust. * tests/data/Makefile.am: Add the new test material to source distribution. * tests/test-diff-pkg.cc (in_out_specs): Add the new test inputs to the test harness. Signed-off-by: Dodji Seketeli <dodji@redhat.com>
This commit is contained in:
parent
32be4dd23c
commit
00d8507648
File diff suppressed because it is too large
Load Diff
@ -1598,6 +1598,7 @@ struct class_or_union::priv
|
||||
string_mem_fn_ptr_map_type signature_2_mem_fn_map_;
|
||||
member_function_templates member_function_templates_;
|
||||
member_class_templates member_class_templates_;
|
||||
bool is_printing_flat_representation_ = false;
|
||||
|
||||
priv()
|
||||
{}
|
||||
@ -1759,6 +1760,36 @@ struct class_or_union::priv
|
||||
return comparison_started(*first, *second);
|
||||
return false;
|
||||
}
|
||||
|
||||
/// Set the 'is_printing_flat_representation_' boolean to true.
|
||||
///
|
||||
/// That boolean marks the fact that the current @ref class_or_union
|
||||
/// (and its sub-types graph) is being walked for the purpose of
|
||||
/// printing its flat representation. This is useful to detect
|
||||
/// cycles in the graph and avoid endless loops.
|
||||
void
|
||||
set_printing_flat_representation()
|
||||
{is_printing_flat_representation_ = true;}
|
||||
|
||||
/// Set the 'is_printing_flat_representation_' boolean to false.
|
||||
///
|
||||
/// That boolean marks the fact that the current @ref class_or_union
|
||||
/// (and its sub-types graph) is being walked for the purpose of
|
||||
/// printing its flat representation. This is useful to detect
|
||||
/// cycles in the graph and avoid endless loops.
|
||||
void
|
||||
unset_printing_flat_representation()
|
||||
{is_printing_flat_representation_ = false;}
|
||||
|
||||
/// Getter of the 'is_printing_flat_representation_' boolean.
|
||||
///
|
||||
/// That boolean marks the fact that the current @ref class_or_union
|
||||
/// (and its sub-types graph) is being walked for the purpose of
|
||||
/// printing its flat representation. This is useful to detect
|
||||
/// cycles in the graph and avoid endless loops.
|
||||
bool
|
||||
is_printing_flat_representation() const
|
||||
{return is_printing_flat_representation_;}
|
||||
}; // end struct class_or_union::priv
|
||||
|
||||
// <function_type::priv definitions>
|
||||
@ -1771,7 +1802,7 @@ struct function_type::priv
|
||||
interned_string cached_name_;
|
||||
interned_string internal_cached_name_;
|
||||
interned_string temp_internal_cached_name_;
|
||||
|
||||
bool is_pretty_printing_ = false;
|
||||
priv()
|
||||
{}
|
||||
|
||||
@ -1834,6 +1865,36 @@ struct function_type::priv
|
||||
||
|
||||
env.priv_->right_fn_types_being_compared_.count(&second));
|
||||
}
|
||||
|
||||
/// Set the 'is_pretty_printing_' boolean to true.
|
||||
///
|
||||
/// That boolean marks the fact that the current @ref function_type
|
||||
/// (and its sub-types graph) is being walked for the purpose of
|
||||
/// printing its flat representation. This is useful to detect
|
||||
/// cycles in the graph and avoid endless loops.
|
||||
void
|
||||
set_is_pretty_printing()
|
||||
{is_pretty_printing_ = true;}
|
||||
|
||||
/// Set the 'is_pretty_printing_' boolean to false.
|
||||
///
|
||||
/// That boolean marks the fact that the current @ref function_type
|
||||
/// (and its sub-types graph) is being walked for the purpose of
|
||||
/// printing its flat representation. This is useful to detect
|
||||
/// cycles in the graph and avoid endless loops.
|
||||
void
|
||||
unset_is_pretty_printing()
|
||||
{is_pretty_printing_ = false;}
|
||||
|
||||
/// Getter of the 'is_pretty_printing_' boolean.
|
||||
///
|
||||
/// That boolean marks the fact that the current @ref function_type
|
||||
/// (and its sub-types graph) is being walked for the purpose of
|
||||
/// printing its flat representation. This is useful to detect
|
||||
/// cycles in the graph and avoid endless loops.
|
||||
bool
|
||||
is_pretty_printing() const
|
||||
{return is_pretty_printing_;}
|
||||
};// end struc function_type::priv
|
||||
|
||||
// </function_type::priv definitions>
|
||||
|
@ -9302,6 +9302,21 @@ get_class_or_union_flat_representation(const class_or_union& cou,
|
||||
if (!cou.get_is_anonymous())
|
||||
repr += name;
|
||||
|
||||
if (cou.priv_->is_printing_flat_representation())
|
||||
{
|
||||
// We have just detected a cycle while walking the sub-tree
|
||||
// of this class or union type for the purpose of printing
|
||||
// its flat representation. We need to get out of here
|
||||
// pronto or else we'll be spinning endlessly.
|
||||
repr += "{}";
|
||||
return repr;
|
||||
}
|
||||
|
||||
// Let's mark this class or union type to signify that we started
|
||||
// walking its sub-tree. This is to detect potential cycles and
|
||||
// avoid looping endlessly.
|
||||
cou.priv_->set_printing_flat_representation();
|
||||
|
||||
repr += "{";
|
||||
|
||||
if (!one_line)
|
||||
@ -9348,6 +9363,11 @@ get_class_or_union_flat_representation(const class_or_union& cou,
|
||||
else
|
||||
repr += indent + "}";
|
||||
|
||||
// Let's unmark this class or union type to signify that we are done
|
||||
// walking its sub-tree. This was to detect potential cycles and
|
||||
// avoid looping endlessly.
|
||||
cou.priv_->unset_printing_flat_representation();
|
||||
|
||||
return repr;
|
||||
}
|
||||
|
||||
@ -28585,6 +28605,18 @@ add_outer_pointer_to_fn_type_expr(const type_base* p,
|
||||
if (!pointed_to_fn)
|
||||
return "";
|
||||
|
||||
if (pointed_to_fn->priv_->is_pretty_printing())
|
||||
// We have just detected a cycle while walking the sub-tree of
|
||||
// this function type for the purpose of printing its
|
||||
// representation. We need to get out of here pronto or else
|
||||
// we'll be spinning endlessly.
|
||||
return "";
|
||||
|
||||
// Let's mark thie function type to signify that we started walking
|
||||
// its subtree. This is to detect potential cycles and avoid
|
||||
// looping endlessly.
|
||||
pointed_to_fn->priv_->set_is_pretty_printing();
|
||||
|
||||
std::ostringstream left, right, inner;
|
||||
|
||||
inner << "(" << star_or_ref << input << ")";
|
||||
@ -28619,6 +28651,10 @@ add_outer_pointer_to_fn_type_expr(const type_base* p,
|
||||
else
|
||||
ABG_ASSERT_NOT_REACHED;
|
||||
|
||||
// Lets unmark this function type to signify that we are done
|
||||
// walking its subtree. This was to detect potential cycles and
|
||||
// avoid looping endlessly.
|
||||
pointed_to_fn->priv_->unset_is_pretty_printing();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -2408,6 +2408,9 @@ test-diff-pkg/wireshark/wireshark-debuginfo-3.4.9-1.fc36.x86_64.rpm \
|
||||
test-diff-pkg/PR29610/guestfs-tools-1.51.6-2.el9.s390x-self-check-report.txt \
|
||||
test-diff-pkg/PR29610/guestfs-tools-1.51.6-2.el9.s390x.rpm \
|
||||
test-diff-pkg/PR29610/guestfs-tools-debuginfo-1.51.6-2.el9.s390x.rpm \
|
||||
test-diff-pkg/libgm2-14.2.1-1.fc40.x86_64-self-check-report.txt \
|
||||
test-diff-pkg/libgm2-14.2.1-1.fc40.x86_64.rpm \
|
||||
test-diff-pkg/libgm2-debuginfo-14.2.1-1.fc40.x86_64.rpm \
|
||||
\
|
||||
test-diff-pkg-ctf/tarpkg-0-dir1.tar \
|
||||
test-diff-pkg-ctf/dirpkg-0-report-0.txt \
|
||||
|
@ -0,0 +1,5 @@
|
||||
==== SELF CHECK SUCCEEDED for 'libm2iso.so.19.0.0' ====
|
||||
==== SELF CHECK SUCCEEDED for 'libm2pim.so.19.0.0' ====
|
||||
==== SELF CHECK SUCCEEDED for 'libm2log.so.19.0.0' ====
|
||||
==== SELF CHECK SUCCEEDED for 'libm2cor.so.19.0.0' ====
|
||||
==== SELF CHECK SUCCEEDED for 'libm2min.so.19.0.0' ====
|
BIN
tests/data/test-diff-pkg/libgm2-14.2.1-1.fc40.x86_64.rpm
Normal file
BIN
tests/data/test-diff-pkg/libgm2-14.2.1-1.fc40.x86_64.rpm
Normal file
Binary file not shown.
Binary file not shown.
@ -1947,13 +1947,7 @@
|
||||
<type-decl name='long long int' size-in-bits='64' hash='55e6262ccf4af918#3' id='95e97e60'/>
|
||||
<type-decl name='short int' size-in-bits='16' hash='bda4242a54aecaa8#4' id='95e97e61'/>
|
||||
<type-decl name='signed char' size-in-bits='8' hash='c34c714b7bd801ea' id='28577a57'/>
|
||||
<array-type-def dimensions='1' type-id='0ad725ff' size-in-bits='96' hash='9caa389e6a5e592c' id='69cdedfe'>
|
||||
<subrange length='3' lower-bound='0' upper-bound='2' type-id='7ff19f0f' size-in-bits='64' is-anonymous='yes' hash='749db43716aefd44' id='56f209d2'/>
|
||||
</array-type-def>
|
||||
<array-type-def dimensions='1' type-id='97219ec5' size-in-bits='88' hash='2c73aca4ea068c22' id='f533aa25'>
|
||||
<subrange length='11' lower-bound='0' upper-bound='10' type-id='7ff19f0f' size-in-bits='64' is-anonymous='yes' hash='8d07be1bd8607c92' id='847bc017'/>
|
||||
</array-type-def>
|
||||
<array-type-def dimensions='1' type-id='06725de7' size-in-bits='96' hash='1a2b10a83b2ef05a#2' id='69cdedff'>
|
||||
<array-type-def dimensions='1' type-id='06725de7' size-in-bits='96' hash='1a2b10a83b2ef05a' id='69cdedfe'>
|
||||
<subrange length='3' lower-bound='0' upper-bound='2' type-id='7ff19f0f' size-in-bits='64' is-anonymous='yes' hash='749db43716aefd44' id='56f209d2'/>
|
||||
</array-type-def>
|
||||
<array-type-def dimensions='1' type-id='1a8dd50d' size-in-bits='80' hash='b585a6404b9ae4e9' id='dafbcf1a'>
|
||||
@ -5047,7 +5041,7 @@
|
||||
</enum-decl>
|
||||
</member-type>
|
||||
<member-type access='public'>
|
||||
<union-decl name='__anonymous_union__1' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='935' column='1' hash='ed870e4bc7b77db3#10' id='ac5ab595'>
|
||||
<union-decl name='__anonymous_union__1' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='935' column='1' hash='ed870e4bc7b77db3#9' id='ac5ab595'>
|
||||
<member-type access='public'>
|
||||
<class-decl name='__anonymous_struct__' is-struct='yes' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='936' column='1' hash='e3c7da06ba24a990#9' id='e7f43f72'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
@ -5067,7 +5061,7 @@
|
||||
</union-decl>
|
||||
</member-type>
|
||||
<member-type access='public'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='925' column='1' hash='c740232d2e1cdd57#15' id='ac5ab596'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='925' column='1' hash='c740232d2e1cdd57#14' id='ac5ab596'>
|
||||
<member-type access='public'>
|
||||
<class-decl name='__anonymous_struct__' is-struct='yes' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='926' column='1' hash='aac728d6da5f694#22' id='e7f43f73'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
@ -5087,7 +5081,7 @@
|
||||
</union-decl>
|
||||
</member-type>
|
||||
<member-type access='public'>
|
||||
<union-decl name='__anonymous_union__4' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='1063' column='1' hash='6059b9fb7dce2859#16' id='ac5ab597'>
|
||||
<union-decl name='__anonymous_union__4' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='1063' column='1' hash='6059b9fb7dce2859#15' id='ac5ab597'>
|
||||
<member-type access='public'>
|
||||
<class-decl name='__anonymous_struct__' is-struct='yes' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='1064' column='1' hash='b61ae8d6d989248e#23' id='e7f43f74'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
@ -5107,7 +5101,7 @@
|
||||
</union-decl>
|
||||
</member-type>
|
||||
<member-type access='public'>
|
||||
<union-decl name='__anonymous_union__7' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='1142' column='1' hash='cd3bc70619ee23af#17' id='ac5ab598'>
|
||||
<union-decl name='__anonymous_union__7' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='1142' column='1' hash='cd3bc70619ee23af#16' id='ac5ab598'>
|
||||
<member-type access='public'>
|
||||
<class-decl name='__anonymous_struct__' is-struct='yes' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='1143' column='1' hash='37d1281f7e3be45#24' id='e7f43f75'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
@ -5127,7 +5121,7 @@
|
||||
</union-decl>
|
||||
</member-type>
|
||||
<member-type access='public'>
|
||||
<union-decl name='__anonymous_union__5' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='1079' column='1' hash='5abf542c7b35997f#18' id='ac5ab599'>
|
||||
<union-decl name='__anonymous_union__5' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='1079' column='1' hash='5abf542c7b35997f#17' id='ac5ab599'>
|
||||
<member-type access='public'>
|
||||
<class-decl name='__anonymous_struct__' is-struct='yes' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='1080' column='1' hash='d3daca7ab95a51c5#25' id='e7f43f76'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
@ -5147,7 +5141,7 @@
|
||||
</union-decl>
|
||||
</member-type>
|
||||
<member-type access='public'>
|
||||
<union-decl name='__anonymous_union__3' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='1045' column='1' hash='d1b264356af9255d#19' id='ac5ab59a'>
|
||||
<union-decl name='__anonymous_union__3' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='1045' column='1' hash='d1b264356af9255d#18' id='ac5ab59a'>
|
||||
<member-type access='public'>
|
||||
<class-decl name='__anonymous_struct__' is-struct='yes' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='1046' column='1' hash='37a08bae371b31f#26' id='e7f43f77'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
@ -5173,7 +5167,7 @@
|
||||
</union-decl>
|
||||
</member-type>
|
||||
<member-type access='public'>
|
||||
<union-decl name='__anonymous_union__2' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='1005' column='1' hash='a727fad6321045f9#20' id='ac5ab59b'>
|
||||
<union-decl name='__anonymous_union__2' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='1005' column='1' hash='a727fad6321045f9#19' id='ac5ab59b'>
|
||||
<member-type access='public'>
|
||||
<class-decl name='__anonymous_struct__' is-struct='yes' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='1006' column='1' hash='9c2703112c3abd25#27' id='e7f43f78'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
@ -5196,7 +5190,7 @@
|
||||
</union-decl>
|
||||
</member-type>
|
||||
<member-type access='public'>
|
||||
<union-decl name='__anonymous_union__8' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='1183' column='1' hash='2a565d503287af69#21' id='ac5ab59c'>
|
||||
<union-decl name='__anonymous_union__8' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='1183' column='1' hash='2a565d503287af69#20' id='ac5ab59c'>
|
||||
<member-type access='public'>
|
||||
<class-decl name='__anonymous_struct__' is-struct='yes' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='1184' column='1' hash='760b18022756be73#28' id='e7f43f79'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
@ -5219,7 +5213,7 @@
|
||||
</union-decl>
|
||||
</member-type>
|
||||
<member-type access='public'>
|
||||
<union-decl name='__anonymous_union__6' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='1133' column='1' hash='47d92029a9401d1a#22' id='ac5ab59d'>
|
||||
<union-decl name='__anonymous_union__6' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='1133' column='1' hash='47d92029a9401d1a#21' id='ac5ab59d'>
|
||||
<member-type access='public'>
|
||||
<class-decl name='__anonymous_struct__' is-struct='yes' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h' line='1134' column='1' hash='3a628ce9a788e3b#29' id='e7f43f7a'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
@ -6910,14 +6904,14 @@
|
||||
<member-type access='private'>
|
||||
<class-decl name='__raw' is-struct='yes' visibility='default' size-in-bits='96' filepath='external/libcxx/include/string' line='770' column='1' hash='aa491674e975810c' id='b392097c'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
<var-decl name='__words' type-id='69cdedff' visibility='default' filepath='external/libcxx/include/string' line='772' column='1'/>
|
||||
<var-decl name='__words' type-id='69cdedfe' visibility='default' filepath='external/libcxx/include/string' line='772' column='1'/>
|
||||
</data-member>
|
||||
</class-decl>
|
||||
</member-type>
|
||||
<member-type access='private'>
|
||||
<class-decl name='__rep' is-struct='yes' visibility='default' size-in-bits='96' filepath='external/libcxx/include/string' line='775' column='1' hash='c942516d73070a86' id='ca9cbb0d'>
|
||||
<member-type access='public'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='96' is-anonymous='yes' filepath='external/libcxx/include/string' line='777' column='1' hash='d56fa847a0b248ac#7' id='ac5ab59e'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='96' is-anonymous='yes' filepath='external/libcxx/include/string' line='777' column='1' hash='d56fa847a0b248ac#6' id='ac5ab59e'>
|
||||
<data-member access='public'>
|
||||
<var-decl name='__l' type-id='eb6fbf8c' visibility='default' filepath='external/libcxx/include/string' line='779' column='1'/>
|
||||
</data-member>
|
||||
@ -6937,7 +6931,17 @@
|
||||
<member-type access='private'>
|
||||
<class-decl name='__short' is-struct='yes' visibility='default' size-in-bits='96' filepath='external/libcxx/include/string' line='754' column='1' hash='a8fc8200c70d1e62' id='801f5164'>
|
||||
<member-type access='public'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='16' is-anonymous='yes' filepath='external/libcxx/include/string' line='756' column='1' hash='32859f59288806c7#27' id='ac5ab59f'>
|
||||
<union-decl name='__anonymous_union__1' visibility='default' size-in-bits='8' is-anonymous='yes' filepath='external/libcxx/include/string' line='756' column='1' hash='3d1573fecb7fa82f#25' id='ac5ab59f'>
|
||||
<data-member access='public'>
|
||||
<var-decl name='__size_' type-id='002ac4a6' visibility='default' filepath='external/libcxx/include/string' line='758' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public'>
|
||||
<var-decl name='__lx' type-id='97219ec5' visibility='default' filepath='external/libcxx/include/string' line='759' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
</member-type>
|
||||
<member-type access='public'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='16' is-anonymous='yes' filepath='external/libcxx/include/string' line='756' column='1' hash='32859f59288806c7#26' id='ac5ab5a0'>
|
||||
<data-member access='public'>
|
||||
<var-decl name='__size_' type-id='002ac4a6' visibility='default' filepath='external/libcxx/include/string' line='758' column='1'/>
|
||||
</data-member>
|
||||
@ -6947,7 +6951,7 @@
|
||||
</union-decl>
|
||||
</member-type>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
<var-decl name='' type-id='ac5ab59f' visibility='default' filepath='external/libcxx/include/string' line='756' column='1'/>
|
||||
<var-decl name='' type-id='ac5ab5a0' visibility='default' filepath='external/libcxx/include/string' line='756' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='16'>
|
||||
<var-decl name='__data_' type-id='dafbcf1a' visibility='default' filepath='external/libcxx/include/string' line='761' column='1'/>
|
||||
@ -9916,63 +9920,10 @@
|
||||
<class-decl name='__wrap_iter<const int *>' visibility='default' is-declaration-only='yes' id='27a9a4b2'/>
|
||||
<class-decl name='__wrap_iter<int *>' visibility='default' is-declaration-only='yes' id='a55d0f63'/>
|
||||
<class-decl name='basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >' visibility='default' is-declaration-only='yes' id='27619c1f'>
|
||||
<member-type access='private'>
|
||||
<class-decl name='__long' is-struct='yes' visibility='default' size-in-bits='96' filepath='external/libcxx/include/string' line='736' column='1' hash='66f6f1b77bba80fe' id='b1d75bc8'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
<var-decl name='__cap_' type-id='0ad725ff' visibility='default' filepath='external/libcxx/include/string' line='738' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='32'>
|
||||
<var-decl name='__size_' type-id='0ad725ff' visibility='default' filepath='external/libcxx/include/string' line='739' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='64'>
|
||||
<var-decl name='__data_' type-id='fbcf9148' visibility='default' filepath='external/libcxx/include/string' line='740' column='1'/>
|
||||
</data-member>
|
||||
</class-decl>
|
||||
</member-type>
|
||||
<member-type access='private'>
|
||||
<class-decl name='__raw' is-struct='yes' visibility='default' size-in-bits='96' filepath='external/libcxx/include/string' line='770' column='1' hash='aa491674e975810c' id='5eacdba8'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
<var-decl name='__words' type-id='69cdedfe' visibility='default' filepath='external/libcxx/include/string' line='772' column='1'/>
|
||||
</data-member>
|
||||
</class-decl>
|
||||
</member-type>
|
||||
<member-type access='private'>
|
||||
<class-decl name='__rep' is-struct='yes' visibility='default' size-in-bits='96' filepath='external/libcxx/include/string' line='775' column='1' hash='c942516d73070a86' id='4da3c689'>
|
||||
<member-type access='public'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='96' is-anonymous='yes' filepath='external/libcxx/include/string' line='777' column='1' hash='d56fa847a0b248ac#6' id='ac5ab5a0'>
|
||||
<data-member access='public'>
|
||||
<var-decl name='__l' type-id='b1d75bc8' visibility='default' filepath='external/libcxx/include/string' line='779' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public'>
|
||||
<var-decl name='__s' type-id='6582ed08' visibility='default' filepath='external/libcxx/include/string' line='780' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public'>
|
||||
<var-decl name='__r' type-id='5eacdba8' visibility='default' filepath='external/libcxx/include/string' line='781' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
</member-type>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
<var-decl name='' type-id='ac5ab5a0' visibility='default' filepath='external/libcxx/include/string' line='777' column='1'/>
|
||||
</data-member>
|
||||
</class-decl>
|
||||
</member-type>
|
||||
<member-type access='private'>
|
||||
<class-decl name='__short' is-struct='yes' visibility='default' size-in-bits='96' filepath='external/libcxx/include/string' line='754' column='1' hash='c2904657344ab2e8' id='6582ed08'>
|
||||
<member-type access='public'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='8' is-anonymous='yes' filepath='external/libcxx/include/string' line='756' column='1' hash='3d1573fecb7fa82f#26' id='ac5ab5a1'>
|
||||
<data-member access='public'>
|
||||
<var-decl name='__size_' type-id='002ac4a6' visibility='default' filepath='external/libcxx/include/string' line='758' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public'>
|
||||
<var-decl name='__lx' type-id='97219ec5' visibility='default' filepath='external/libcxx/include/string' line='759' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
</member-type>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
<var-decl name='' type-id='ac5ab5a1' visibility='default' filepath='external/libcxx/include/string' line='756' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='8'>
|
||||
<var-decl name='__data_' type-id='f533aa25' visibility='default' filepath='external/libcxx/include/string' line='761' column='1'/>
|
||||
<var-decl name='' type-id='ac5ab59e' visibility='default' filepath='external/libcxx/include/string' line='777' column='1'/>
|
||||
</data-member>
|
||||
</class-decl>
|
||||
</member-type>
|
||||
@ -13795,7 +13746,7 @@
|
||||
</array-type-def>
|
||||
<class-decl name='AAdditionalInfoEvent' is-struct='yes' visibility='default' size-in-bits='512' filepath='frameworks/native/include/android/sensor.h' line='419' column='1' hash='69f7937078f1fd70' id='fa893a23'>
|
||||
<member-type access='public'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='448' is-anonymous='yes' filepath='frameworks/native/include/android/sensor.h' line='422' column='1' hash='6831d5d8d91c30b#5' id='ac5ab5a2'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='448' is-anonymous='yes' filepath='frameworks/native/include/android/sensor.h' line='422' column='1' hash='6831d5d8d91c30b#5' id='ac5ab5a1'>
|
||||
<data-member access='public'>
|
||||
<var-decl name='data_int32' type-id='75a6af5f' visibility='default' filepath='frameworks/native/include/android/sensor.h' line='423' column='1'/>
|
||||
</data-member>
|
||||
@ -13811,7 +13762,7 @@
|
||||
<var-decl name='serial' type-id='3ff5601b' visibility='default' filepath='frameworks/native/include/android/sensor.h' line='421' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='64'>
|
||||
<var-decl name='' type-id='ac5ab5a2' visibility='default' filepath='frameworks/native/include/android/sensor.h' line='422' column='1'/>
|
||||
<var-decl name='' type-id='ac5ab5a1' visibility='default' filepath='frameworks/native/include/android/sensor.h' line='422' column='1'/>
|
||||
</data-member>
|
||||
</class-decl>
|
||||
<class-decl name='ADynamicSensorEvent' is-struct='yes' visibility='default' size-in-bits='64' filepath='frameworks/native/include/android/sensor.h' line='414' column='1' hash='cd48ea2ebf2f8d02' id='984bb689'>
|
||||
@ -13841,9 +13792,9 @@
|
||||
<class-decl name='ASensor' is-struct='yes' visibility='default' size-in-bits='8' filepath='frameworks/native/libs/sensor/include/sensor/Sensor.h' line='34' column='1' hash='4d06e3b7a0148f51' id='68510cba'/>
|
||||
<class-decl name='ASensorEvent' is-struct='yes' visibility='default' size-in-bits='832' filepath='frameworks/native/include/android/sensor.h' line='429' column='1' hash='8279321a4980b2d5' id='38b55796'>
|
||||
<member-type access='public'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='512' is-anonymous='yes' filepath='frameworks/native/include/android/sensor.h' line='435' column='1' hash='b4a03193cc93ae49#25' id='ac5ab5a3'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='512' is-anonymous='yes' filepath='frameworks/native/include/android/sensor.h' line='435' column='1' hash='b4a03193cc93ae49#24' id='ac5ab5a2'>
|
||||
<member-type access='public'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='512' is-anonymous='yes' filepath='frameworks/native/include/android/sensor.h' line='436' column='1' hash='723839694026a99a#2' id='ac5ab5a4'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='512' is-anonymous='yes' filepath='frameworks/native/include/android/sensor.h' line='436' column='1' hash='723839694026a99a#2' id='ac5ab5a3'>
|
||||
<data-member access='public'>
|
||||
<var-decl name='data' type-id='73273128' visibility='default' filepath='frameworks/native/include/android/sensor.h' line='437' column='1'/>
|
||||
</data-member>
|
||||
@ -13892,7 +13843,7 @@
|
||||
</union-decl>
|
||||
</member-type>
|
||||
<member-type access='public'>
|
||||
<union-decl name='__anonymous_union__1' visibility='default' size-in-bits='512' is-anonymous='yes' filepath='frameworks/native/include/android/sensor.h' line='453' column='1' hash='430ca475f1ff438f#24' id='ac5ab5a5'>
|
||||
<union-decl name='__anonymous_union__1' visibility='default' size-in-bits='512' is-anonymous='yes' filepath='frameworks/native/include/android/sensor.h' line='453' column='1' hash='430ca475f1ff438f#23' id='ac5ab5a4'>
|
||||
<data-member access='public'>
|
||||
<var-decl name='data' type-id='c5d13f42' visibility='default' filepath='frameworks/native/include/android/sensor.h' line='454' column='1'/>
|
||||
</data-member>
|
||||
@ -13902,10 +13853,10 @@
|
||||
</union-decl>
|
||||
</member-type>
|
||||
<data-member access='public'>
|
||||
<var-decl name='' type-id='ac5ab5a4' visibility='default' filepath='frameworks/native/include/android/sensor.h' line='436' column='1'/>
|
||||
<var-decl name='' type-id='ac5ab5a3' visibility='default' filepath='frameworks/native/include/android/sensor.h' line='436' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public'>
|
||||
<var-decl name='u64' type-id='ac5ab5a5' visibility='default' filepath='frameworks/native/include/android/sensor.h' line='456' column='1'/>
|
||||
<var-decl name='u64' type-id='ac5ab5a4' visibility='default' filepath='frameworks/native/include/android/sensor.h' line='456' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
</member-type>
|
||||
@ -13925,7 +13876,7 @@
|
||||
<var-decl name='timestamp' type-id='9da381c4' visibility='default' filepath='frameworks/native/include/android/sensor.h' line='434' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='192'>
|
||||
<var-decl name='' type-id='ac5ab5a3' visibility='default' filepath='frameworks/native/include/android/sensor.h' line='435' column='1'/>
|
||||
<var-decl name='' type-id='ac5ab5a2' visibility='default' filepath='frameworks/native/include/android/sensor.h' line='435' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='704'>
|
||||
<var-decl name='flags' type-id='8f92235e' visibility='default' filepath='frameworks/native/include/android/sensor.h' line='459' column='1'/>
|
||||
@ -13945,7 +13896,7 @@
|
||||
<class-decl name='ASensorManager' is-struct='yes' visibility='default' size-in-bits='8' filepath='frameworks/native/libs/sensor/include/sensor/SensorManager.h' line='39' column='1' hash='63058eee26188df5' id='85c2b5e1'/>
|
||||
<class-decl name='ASensorVector' is-struct='yes' visibility='default' size-in-bits='128' filepath='frameworks/native/include/android/sensor.h' line='367' column='1' hash='28b37a4d28984b7f' id='b6b8bef1'>
|
||||
<member-type access='public'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='96' is-anonymous='yes' filepath='frameworks/native/include/android/sensor.h' line='368' column='1' hash='8cb4011215f4327#4' id='ac5ab5a6'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='96' is-anonymous='yes' filepath='frameworks/native/include/android/sensor.h' line='368' column='1' hash='8cb4011215f4327#4' id='ac5ab5a5'>
|
||||
<member-type access='public'>
|
||||
<class-decl name='__anonymous_struct__1' is-struct='yes' visibility='default' size-in-bits='96' is-anonymous='yes' filepath='frameworks/native/include/android/sensor.h' line='375' column='1' hash='77cf3615cc67fe65#10' id='e7f43f7c'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
@ -13984,7 +13935,7 @@
|
||||
</union-decl>
|
||||
</member-type>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
<var-decl name='' type-id='ac5ab5a6' visibility='default' filepath='frameworks/native/include/android/sensor.h' line='368' column='1'/>
|
||||
<var-decl name='' type-id='ac5ab5a5' visibility='default' filepath='frameworks/native/include/android/sensor.h' line='368' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='96'>
|
||||
<var-decl name='status' type-id='ee31ee44' visibility='default' filepath='frameworks/native/include/android/sensor.h' line='381' column='1'/>
|
||||
@ -13995,7 +13946,7 @@
|
||||
</class-decl>
|
||||
<class-decl name='AUncalibratedEvent' is-struct='yes' visibility='default' size-in-bits='192' filepath='frameworks/native/include/android/sensor.h' line='390' column='1' hash='18c33c9cdfe44822' id='225d4590'>
|
||||
<member-type access='public'>
|
||||
<union-decl name='__anonymous_union__1' visibility='default' size-in-bits='96' is-anonymous='yes' filepath='frameworks/native/include/android/sensor.h' line='399' column='1' hash='2b2f55233e5567c2' id='ac5ab5a7'>
|
||||
<union-decl name='__anonymous_union__1' visibility='default' size-in-bits='96' is-anonymous='yes' filepath='frameworks/native/include/android/sensor.h' line='399' column='1' hash='2b2f55233e5567c2' id='ac5ab5a6'>
|
||||
<member-type access='public'>
|
||||
<class-decl name='__anonymous_struct__' is-struct='yes' visibility='default' size-in-bits='96' is-anonymous='yes' filepath='frameworks/native/include/android/sensor.h' line='401' column='1' hash='c98ff6e1fea129d#20' id='e7f43f7e'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
@ -14018,7 +13969,7 @@
|
||||
</union-decl>
|
||||
</member-type>
|
||||
<member-type access='public'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='96' is-anonymous='yes' filepath='frameworks/native/include/android/sensor.h' line='391' column='1' hash='5c19442da194a87d#3' id='ac5ab5a8'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='96' is-anonymous='yes' filepath='frameworks/native/include/android/sensor.h' line='391' column='1' hash='5c19442da194a87d#3' id='ac5ab5a7'>
|
||||
<member-type access='public'>
|
||||
<class-decl name='__anonymous_struct__' is-struct='yes' visibility='default' size-in-bits='96' is-anonymous='yes' filepath='frameworks/native/include/android/sensor.h' line='393' column='1' hash='b3d6a0c378751b63#21' id='e7f43f7f'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
@ -14041,10 +13992,10 @@
|
||||
</union-decl>
|
||||
</member-type>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
<var-decl name='' type-id='ac5ab5a8' visibility='default' filepath='frameworks/native/include/android/sensor.h' line='391' column='1'/>
|
||||
<var-decl name='' type-id='ac5ab5a7' visibility='default' filepath='frameworks/native/include/android/sensor.h' line='391' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='96'>
|
||||
<var-decl name='' type-id='ac5ab5a7' visibility='default' filepath='frameworks/native/include/android/sensor.h' line='399' column='1'/>
|
||||
<var-decl name='' type-id='ac5ab5a6' visibility='default' filepath='frameworks/native/include/android/sensor.h' line='399' column='1'/>
|
||||
</data-member>
|
||||
</class-decl>
|
||||
<typedef-decl name='AAdditionalInfoEvent' type-id='fa893a23' size-in-bits='512' filepath='frameworks/native/include/android/sensor.h' line='426' column='1' hash='73d005fce13ea9c3' id='1f241bc2'/>
|
||||
@ -17359,7 +17310,7 @@
|
||||
<member-type access='private'>
|
||||
<class-decl name='fp32' is-struct='yes' visibility='default' size-in-bits='32' filepath='frameworks/native/libs/math/include/math/half.h' line='69' column='1' hash='15cf2f2215139963' id='908282ea'>
|
||||
<member-type access='public'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/native/libs/math/include/math/half.h' line='70' column='1' hash='b2237cbeead02d48#23' id='ac5ab5a9'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/native/libs/math/include/math/half.h' line='70' column='1' hash='b2237cbeead02d48#22' id='ac5ab5a8'>
|
||||
<data-member access='public'>
|
||||
<var-decl name='bits' type-id='8f92235e' visibility='default' filepath='frameworks/native/libs/math/include/math/half.h' line='71' column='1'/>
|
||||
</data-member>
|
||||
@ -17369,7 +17320,7 @@
|
||||
</union-decl>
|
||||
</member-type>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
<var-decl name='' type-id='ac5ab5a9' visibility='default' filepath='frameworks/native/libs/math/include/math/half.h' line='70' column='1'/>
|
||||
<var-decl name='' type-id='ac5ab5a8' visibility='default' filepath='frameworks/native/libs/math/include/math/half.h' line='70' column='1'/>
|
||||
</data-member>
|
||||
</class-decl>
|
||||
</member-type>
|
||||
@ -18095,7 +18046,7 @@
|
||||
</enum-decl>
|
||||
</member-type>
|
||||
<member-type access='private'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='128' is-anonymous='yes' filepath='frameworks/native/libs/math/include/math/quat.h' line='65' column='1' hash='e0b5c7d6425e9fa2#11' id='ac5ab5aa'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='128' is-anonymous='yes' filepath='frameworks/native/libs/math/include/math/quat.h' line='65' column='1' hash='e0b5c7d6425e9fa2#10' id='ac5ab5a9'>
|
||||
<member-type access='public'>
|
||||
<class-decl name='__anonymous_struct__' is-struct='yes' visibility='default' size-in-bits='128' is-anonymous='yes' filepath='frameworks/native/libs/math/include/math/quat.h' line='66' column='1' hash='69308f3d5cc7569c#17' id='e7f43f81'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
@ -18127,7 +18078,7 @@
|
||||
</union-decl>
|
||||
</member-type>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
<var-decl name='' type-id='ac5ab5aa' visibility='default' filepath='frameworks/native/libs/math/include/math/quat.h' line='65' column='1'/>
|
||||
<var-decl name='' type-id='ac5ab5a9' visibility='default' filepath='frameworks/native/libs/math/include/math/quat.h' line='65' column='1'/>
|
||||
</data-member>
|
||||
</class-decl>
|
||||
<class-decl name='TVec2<android::half>' visibility='default' size-in-bits='32' filepath='frameworks/native/libs/math/include/math/vec2.h' line='36' column='1' hash='d215062a5e9f901e' id='36acd966'>
|
||||
@ -18144,7 +18095,7 @@
|
||||
</enum-decl>
|
||||
</member-type>
|
||||
<member-type access='private'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/native/libs/math/include/math/vec2.h' line='49' column='1' hash='ca29371daae4659b#9' id='ac5ab5ab'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/native/libs/math/include/math/vec2.h' line='49' column='1' hash='ca29371daae4659b#8' id='ac5ab5aa'>
|
||||
<member-type access='public'>
|
||||
<class-decl name='__anonymous_struct__2' is-struct='yes' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='frameworks/native/libs/math/include/math/vec2.h' line='52' column='1' hash='dc7d927766edc838#4' id='e7f43f82'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
@ -18187,7 +18138,7 @@
|
||||
</union-decl>
|
||||
</member-type>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
<var-decl name='' type-id='ac5ab5ab' visibility='default' filepath='frameworks/native/libs/math/include/math/vec2.h' line='49' column='1'/>
|
||||
<var-decl name='' type-id='ac5ab5aa' visibility='default' filepath='frameworks/native/libs/math/include/math/vec2.h' line='49' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' static='yes'>
|
||||
<var-decl name='SIZE' type-id='d0fa5dde' visibility='default' filepath='frameworks/native/libs/math/include/math/vec2.h' line='55' column='1'/>
|
||||
@ -18207,7 +18158,7 @@
|
||||
</enum-decl>
|
||||
</member-type>
|
||||
<member-type access='private'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='64' is-anonymous='yes' filepath='frameworks/native/libs/math/include/math/vec2.h' line='49' column='1' hash='a19e3683e0cb86c8#14' id='ac5ab5ac'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='64' is-anonymous='yes' filepath='frameworks/native/libs/math/include/math/vec2.h' line='49' column='1' hash='a19e3683e0cb86c8#13' id='ac5ab5ab'>
|
||||
<member-type access='public'>
|
||||
<class-decl name='__anonymous_struct__2' is-struct='yes' visibility='default' size-in-bits='64' is-anonymous='yes' filepath='frameworks/native/libs/math/include/math/vec2.h' line='52' column='1' hash='ce0849595868c2cf#13' id='e7f43f85'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
@ -18250,7 +18201,7 @@
|
||||
</union-decl>
|
||||
</member-type>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
<var-decl name='' type-id='ac5ab5ac' visibility='default' filepath='frameworks/native/libs/math/include/math/vec2.h' line='49' column='1'/>
|
||||
<var-decl name='' type-id='ac5ab5ab' visibility='default' filepath='frameworks/native/libs/math/include/math/vec2.h' line='49' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' static='yes'>
|
||||
<var-decl name='SIZE' type-id='d0fa5dde' visibility='default' filepath='frameworks/native/libs/math/include/math/vec2.h' line='55' column='1'/>
|
||||
@ -18270,7 +18221,7 @@
|
||||
</enum-decl>
|
||||
</member-type>
|
||||
<member-type access='private'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='48' is-anonymous='yes' filepath='frameworks/native/libs/math/include/math/vec3.h' line='47' column='1' hash='b2cb596bd03c67b2#8' id='ac5ab5ad'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='48' is-anonymous='yes' filepath='frameworks/native/libs/math/include/math/vec3.h' line='47' column='1' hash='b2cb596bd03c67b2#7' id='ac5ab5ac'>
|
||||
<member-type access='public'>
|
||||
<class-decl name='__anonymous_struct__2' is-struct='yes' visibility='default' size-in-bits='48' is-anonymous='yes' filepath='frameworks/native/libs/math/include/math/vec3.h' line='50' column='1' hash='6bbee3e9fec99c9a#3' id='e7f43f88'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
@ -18331,7 +18282,7 @@
|
||||
</union-decl>
|
||||
</member-type>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
<var-decl name='' type-id='ac5ab5ad' visibility='default' filepath='frameworks/native/libs/math/include/math/vec3.h' line='47' column='1'/>
|
||||
<var-decl name='' type-id='ac5ab5ac' visibility='default' filepath='frameworks/native/libs/math/include/math/vec3.h' line='47' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' static='yes'>
|
||||
<var-decl name='SIZE' type-id='d0fa5dde' visibility='default' filepath='frameworks/native/libs/math/include/math/vec3.h' line='56' column='1'/>
|
||||
@ -18351,7 +18302,7 @@
|
||||
</enum-decl>
|
||||
</member-type>
|
||||
<member-type access='private'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='96' is-anonymous='yes' filepath='frameworks/native/libs/math/include/math/vec3.h' line='47' column='1' hash='f658c71f3c328519#13' id='ac5ab5ae'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='96' is-anonymous='yes' filepath='frameworks/native/libs/math/include/math/vec3.h' line='47' column='1' hash='f658c71f3c328519#12' id='ac5ab5ad'>
|
||||
<member-type access='public'>
|
||||
<class-decl name='__anonymous_struct__2' is-struct='yes' visibility='default' size-in-bits='96' is-anonymous='yes' filepath='frameworks/native/libs/math/include/math/vec3.h' line='50' column='1' hash='ed8219c196c42335#12' id='e7f43f8b'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
@ -18399,7 +18350,7 @@
|
||||
</union-decl>
|
||||
</member-type>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
<var-decl name='' type-id='ac5ab5ae' visibility='default' filepath='frameworks/native/libs/math/include/math/vec3.h' line='47' column='1'/>
|
||||
<var-decl name='' type-id='ac5ab5ad' visibility='default' filepath='frameworks/native/libs/math/include/math/vec3.h' line='47' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' static='yes'>
|
||||
<var-decl name='SIZE' type-id='d0fa5dde' visibility='default' filepath='frameworks/native/libs/math/include/math/vec3.h' line='56' column='1'/>
|
||||
@ -18419,7 +18370,7 @@
|
||||
</enum-decl>
|
||||
</member-type>
|
||||
<member-type access='private'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='128' is-anonymous='yes' filepath='frameworks/native/libs/math/include/math/vec4.h' line='47' column='1' hash='851ef7d006dad9f6#12' id='ac5ab5af'>
|
||||
<union-decl name='__anonymous_union__' visibility='default' size-in-bits='128' is-anonymous='yes' filepath='frameworks/native/libs/math/include/math/vec4.h' line='47' column='1' hash='851ef7d006dad9f6#11' id='ac5ab5ae'>
|
||||
<member-type access='public'>
|
||||
<class-decl name='__anonymous_struct__2' is-struct='yes' visibility='default' size-in-bits='128' is-anonymous='yes' filepath='frameworks/native/libs/math/include/math/vec4.h' line='50' column='1' hash='1cdfceb0c856cb66#11' id='e7f43f8d'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
@ -18482,7 +18433,7 @@
|
||||
</union-decl>
|
||||
</member-type>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
<var-decl name='' type-id='ac5ab5af' visibility='default' filepath='frameworks/native/libs/math/include/math/vec4.h' line='47' column='1'/>
|
||||
<var-decl name='' type-id='ac5ab5ae' visibility='default' filepath='frameworks/native/libs/math/include/math/vec4.h' line='47' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' static='yes'>
|
||||
<var-decl name='SIZE' type-id='d0fa5dde' visibility='default' filepath='frameworks/native/libs/math/include/math/vec4.h' line='59' column='1'/>
|
||||
|
@ -772,6 +772,18 @@ static InOutSpec in_out_specs[] =
|
||||
"data/test-diff-pkg/PR29610/guestfs-tools-1.51.6-2.el9.s390x-self-check-report.txt",
|
||||
"output/test-diff-pkg/PR29610/guestfs-tools-1.51.6-2.el9.s390x-self-check-report.txt"
|
||||
},
|
||||
{
|
||||
"data/test-diff-pkg/libgm2-14.2.1-1.fc40.x86_64.rpm",
|
||||
"data/test-diff-pkg/libgm2-14.2.1-1.fc40.x86_64.rpm",
|
||||
"--self-check",
|
||||
"",
|
||||
"data/test-diff-pkg/libgm2-debuginfo-14.2.1-1.fc40.x86_64.rpm",
|
||||
"data/test-diff-pkg/libgm2-debuginfo-14.2.1-1.fc40.x86_64.rpm",
|
||||
"",
|
||||
"",
|
||||
"data/test-diff-pkg/libgm2-14.2.1-1.fc40.x86_64-self-check-report.txt",
|
||||
"output/test-diff-pkg/libgm2-14.2.1-1.fc40.x86_64-self-check-report.txt"
|
||||
},
|
||||
#endif // WITH_RPM_ZSTD
|
||||
#endif //WITH_RPM
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user