diff --git a/vndk/tools/header-checker/header-abi-diff/src/abi_diff.cpp b/vndk/tools/header-checker/header-abi-diff/src/abi_diff.cpp index e13d04f0ad76a017717ed5679cd3ed8e8936f71d..ee3e2295cebf29daada3184c23d4cd0be026f706 100644 --- a/vndk/tools/header-checker/header-abi-diff/src/abi_diff.cpp +++ b/vndk/tools/header-checker/header-abi-diff/src/abi_diff.cpp @@ -46,34 +46,16 @@ abi_util::CompatibilityStatusIR HeaderAbiDiff::GenerateCompatibilityReport() { return status; } -template -static void AddTypesToMap(AbiElementMap *dst, - const abi_util::TextFormatToIRReader *tu, - KeyGetter get_key, ValueGetter get_value) { - AddToMap(dst, tu->GetRecordTypes(), get_key, get_value); - AddToMap(dst, tu->GetEnumTypes(), get_key, get_value); - AddToMap(dst, tu->GetPointerTypes(), get_key, get_value); - AddToMap(dst, tu->GetBuiltinTypes(), get_key, get_value); - AddToMap(dst, tu->GetArrayTypes(), get_key, get_value); - AddToMap(dst, tu->GetLvalueReferenceTypes(), get_key, get_value); - AddToMap(dst, tu->GetRvalueReferenceTypes(), get_key, get_value); - AddToMap(dst, tu->GetQualifiedTypes(), get_key, get_value); -} - abi_util::CompatibilityStatusIR HeaderAbiDiff::CompareTUs( const abi_util::TextFormatToIRReader *old_tu, const abi_util::TextFormatToIRReader *new_tu, abi_util::IRDiffDumper *ir_diff_dumper) { // Collect all old and new types in maps, so that we can refer to them by // type name / linker_set_key later. - AbiElementMap old_types; - AbiElementMap new_types; - AddTypesToMap(&old_types, old_tu, - [](auto e) {return e->first;}, - [](auto e) {return &(e->second);}); - AddTypesToMap(&new_types, new_tu, - [](auto e) {return e->first;}, - [](auto e) {return &(e->second);}); + const AbiElementMap old_types = + old_tu->GetTypeGraph(); + const AbiElementMap new_types = + new_tu->GetTypeGraph(); // Collect fills in added, removed ,unsafe and safe function diffs. if (!CollectDynsymExportables(old_tu->GetFunctions(), new_tu->GetFunctions(), @@ -108,42 +90,68 @@ abi_util::CompatibilityStatusIR HeaderAbiDiff::CompareTUs( return combined_status; } +std::pair, + AbiElementMap> +HeaderAbiDiff::ExtractUserDefinedTypes( + const abi_util::TextFormatToIRReader *tu) { + AbiElementMap enum_types; + AbiElementMap record_types; + // Iterate through the ODRListMap, if there is more than 1 element in the + // list, we cannot really unique the type by name, so skip it. If not, add a + // map entry ODRListMapKey -> const Record(Enum)TypeIR *. + for (auto &it : tu->GetODRListMap()) { + auto &odr_list = it.second; + if (odr_list.size() != 1) { + continue; + } + const abi_util::TypeIR *type = *(odr_list.begin()); + switch (type->GetKind()) { + case abi_util::RecordTypeKind: + record_types.emplace(type->GetLinkerSetKey(), + static_cast(type)); + break; + case abi_util::EnumTypeKind: + enum_types.emplace(type->GetLinkerSetKey(), + static_cast(type)); + break; + default: + // Only user defined types should have ODR list entries. + assert(0); + } + } + return std::make_pair(std::move(enum_types), std::move(record_types)); +} + bool HeaderAbiDiff::CollectUserDefinedTypes( const abi_util::TextFormatToIRReader *old_tu, const abi_util::TextFormatToIRReader *new_tu, const AbiElementMap &old_types_map, const AbiElementMap &new_types_map, abi_util::IRDiffDumper *ir_diff_dumper) { + + auto old_enums_and_records_extracted = ExtractUserDefinedTypes(old_tu); + auto new_enums_and_records_extracted = ExtractUserDefinedTypes(new_tu); + return CollectUserDefinedTypesInternal( - old_tu->GetRecordTypes(), new_tu->GetRecordTypes(), old_types_map, + old_enums_and_records_extracted.second, + new_enums_and_records_extracted.second, old_types_map, new_types_map, ir_diff_dumper) && - CollectUserDefinedTypesInternal(old_tu->GetEnumTypes(), - new_tu->GetEnumTypes(), old_types_map, - new_types_map, ir_diff_dumper); + CollectUserDefinedTypesInternal(old_enums_and_records_extracted.first, + new_enums_and_records_extracted.first, + old_types_map, new_types_map, + ir_diff_dumper); } template bool HeaderAbiDiff::CollectUserDefinedTypesInternal( - const AbiElementMap &old_ud_types, - const AbiElementMap &new_ud_types, + const AbiElementMap &old_ud_types_map, + const AbiElementMap &new_ud_types_map, const AbiElementMap &old_types_map, const AbiElementMap &new_types_map, abi_util::IRDiffDumper *ir_diff_dumper) { - // No elf information for records and enums. - AbiElementMap old_ud_types_map; - AbiElementMap new_ud_types_map; - - abi_util::AddToMap(&old_ud_types_map, old_ud_types, - [](auto e) { return e->first;}, - [](auto e) {return &(e->second);}); - - abi_util::AddToMap(&new_ud_types_map, new_ud_types, - [](auto e) { return e->first;}, - [](auto e) {return &(e->second);}); - return Collect(old_ud_types_map, new_ud_types_map, nullptr, nullptr, - ir_diff_dumper) && + ir_diff_dumper, old_types_map, new_types_map) && PopulateCommonElements(old_ud_types_map, new_ud_types_map, old_types_map, new_types_map, ir_diff_dumper, abi_util::DiffMessageIR::Unreferenced); @@ -182,7 +190,7 @@ bool HeaderAbiDiff::CollectDynsymExportables( if (!Collect(old_exportables_map, new_exportables_map, &old_elf_symbol_map, &new_elf_symbol_map, - ir_diff_dumper) || + ir_diff_dumper, old_types_map, new_types_map) || !CollectElfSymbols(old_elf_symbol_map, new_elf_symbol_map, ir_diff_dumper) || !PopulateCommonElements(old_exportables_map, new_exportables_map, @@ -206,13 +214,16 @@ bool HeaderAbiDiff::Collect( const AbiElementMap &new_elements_map, const AbiElementMap *old_elf_map, const AbiElementMap *new_elf_map, - abi_util::IRDiffDumper *ir_diff_dumper) { + abi_util::IRDiffDumper *ir_diff_dumper, + const AbiElementMap &old_types_map, + const AbiElementMap &new_types_map) { if (!PopulateRemovedElements( old_elements_map, new_elements_map, new_elf_map, ir_diff_dumper, - abi_util::DiffMessageIR::Removed) || + abi_util::DiffMessageIR::Removed, old_types_map) || !PopulateRemovedElements(new_elements_map, old_elements_map, old_elf_map, ir_diff_dumper, - abi_util::IRDiffDumper::DiffKind::Added)) { + abi_util::IRDiffDumper::DiffKind::Added, + new_types_map)) { llvm::errs() << "Populating functions in report failed\n"; return false; } @@ -253,10 +264,12 @@ bool HeaderAbiDiff::PopulateRemovedElements( const AbiElementMap &new_elements_map, const AbiElementMap *elf_map, abi_util::IRDiffDumper *ir_diff_dumper, - abi_util::IRDiffDumper::DiffKind diff_kind) { + abi_util::IRDiffDumper::DiffKind diff_kind, + const AbiElementMap &removed_types_map) { std::vector removed_elements = abi_util::FindRemovedElements(old_elements_map, new_elements_map); - if (!DumpLoneElements(removed_elements, elf_map, ir_diff_dumper, diff_kind)) { + if (!DumpLoneElements(removed_elements, elf_map, ir_diff_dumper, diff_kind, + removed_types_map)) { llvm::errs() << "Dumping added / removed element to report failed\n"; return false; } @@ -289,7 +302,8 @@ bool HeaderAbiDiff::DumpLoneElements( std::vector &elements, const AbiElementMap *elf_map, abi_util::IRDiffDumper *ir_diff_dumper, - abi_util::IRDiffDumper::DiffKind diff_kind) { + abi_util::IRDiffDumper::DiffKind diff_kind, + const AbiElementMap &types_map) { // If the record / enum has source file information, skip it. std::smatch source_file_match; std::regex source_file_regex(" at "); @@ -310,7 +324,9 @@ bool HeaderAbiDiff::DumpLoneElements( source_file_regex)) { continue; } - if (!ir_diff_dumper->AddLinkableMessageIR(element, diff_kind)) { + auto element_copy = *element; + ReplaceTypeIdsWithTypeNames(types_map, &element_copy); + if (!ir_diff_dumper->AddLinkableMessageIR(&element_copy, diff_kind)) { llvm::errs() << "Couldn't dump added /removed element\n"; return false; } diff --git a/vndk/tools/header-checker/header-abi-diff/src/abi_diff.h b/vndk/tools/header-checker/header-abi-diff/src/abi_diff.h index 7803c4b24d038d4bd86533eb67d694cc834dbb92..18e785dacf9030d602873fb6bf7c09098ae6b72c 100644 --- a/vndk/tools/header-checker/header-abi-diff/src/abi_diff.h +++ b/vndk/tools/header-checker/header-abi-diff/src/abi_diff.h @@ -16,13 +16,6 @@ #include -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wunused-parameter" -#pragma clang diagnostic ignored "-Wnested-anon-types" -#include "proto/abi_dump.pb.h" -#include "proto/abi_diff.pb.h" -#pragma clang diagnostic pop - #include #include @@ -67,7 +60,9 @@ class HeaderAbiDiff { const AbiElementMap &new_elements_map, const AbiElementMap *old_elf_map, const AbiElementMap *new_elf_map, - abi_util::IRDiffDumper *ir_diff_dumper); + abi_util::IRDiffDumper *ir_diff_dumper, + const AbiElementMap &old_types_map, + const AbiElementMap &new_types_map); bool CollectElfSymbols( const AbiElementMap &old_symbols, @@ -85,7 +80,8 @@ class HeaderAbiDiff { const AbiElementMap &new_elements_map, const AbiElementMap *elf_map, abi_util::IRDiffDumper *ir_diff_dumper, - abi_util::IRDiffDumper::DiffKind diff_kind); + abi_util::IRDiffDumper::DiffKind diff_kind, + const AbiElementMap &types_map); template bool PopulateCommonElements( @@ -109,7 +105,12 @@ class HeaderAbiDiff { std::vector &elements, const AbiElementMap *elf_map, abi_util::IRDiffDumper *ir_diff_dumper, - abi_util::IRDiffDumper::DiffKind diff_kind); + abi_util::IRDiffDumper::DiffKind diff_kind, + const AbiElementMap &old_types_map); + + std::pair, + AbiElementMap> + ExtractUserDefinedTypes(const abi_util::TextFormatToIRReader *tu); bool CollectUserDefinedTypes( const abi_util::TextFormatToIRReader *old_tu, @@ -120,8 +121,8 @@ class HeaderAbiDiff { template bool CollectUserDefinedTypesInternal( - const AbiElementMap &old_ud_types, - const AbiElementMap &new_ud_types, + const AbiElementMap &old_ud_types_map, + const AbiElementMap &new_ud_types_map, const AbiElementMap &old_types_map, const AbiElementMap &new_types_map, abi_util::IRDiffDumper *ir_diff_dumper); diff --git a/vndk/tools/header-checker/header-abi-diff/src/abi_diff_wrappers.cpp b/vndk/tools/header-checker/header-abi-diff/src/abi_diff_wrappers.cpp index a5ef385cb3a553e463218c19e47d51181a141a01..b038d885d69c997e9d4fb48b10e322e78173873a 100644 --- a/vndk/tools/header-checker/header-abi-diff/src/abi_diff_wrappers.cpp +++ b/vndk/tools/header-checker/header-abi-diff/src/abi_diff_wrappers.cpp @@ -21,540 +21,8 @@ namespace abi_diff_wrappers { using abi_util::AbiElementMap; - -static bool IsAccessDownGraded(abi_util::AccessSpecifierIR old_access, - abi_util::AccessSpecifierIR new_access) { - bool access_downgraded = false; - switch (old_access) { - case abi_util::AccessSpecifierIR::ProtectedAccess: - if (new_access == abi_util::AccessSpecifierIR::PrivateAccess) { - access_downgraded = true; - } - break; - case abi_util::AccessSpecifierIR::PublicAccess: - if (new_access != abi_util::AccessSpecifierIR::PublicAccess) { - access_downgraded = true; - } - break; - default: - break; - } - return access_downgraded; -} - -static std::string Unwind(const std::deque *type_queue) { - if (!type_queue) { - return ""; - } - std::string stack_str; - std::deque type_queue_copy = *type_queue; - while (!type_queue_copy.empty()) { - stack_str += type_queue_copy.front() + "-> "; - type_queue_copy.pop_front(); - } - return stack_str; -} - -void DiffWrapperBase::CompareEnumFields( - const std::vector &old_fields, - const std::vector &new_fields, - abi_util::EnumTypeDiffIR *enum_type_diff_ir) { - AbiElementMap old_fields_map; - AbiElementMap new_fields_map; - abi_util::AddToMap(&old_fields_map, old_fields, - [](const abi_util::EnumFieldIR *f) {return f->GetName();}, - [](const abi_util::EnumFieldIR *f) {return f;}); - - abi_util::AddToMap(&new_fields_map, new_fields, - [](const abi_util::EnumFieldIR *f) {return f->GetName();}, - [](const abi_util::EnumFieldIR *f) {return f;}); - - std::vector removed_fields = - abi_util::FindRemovedElements(old_fields_map, new_fields_map); - - std::vector added_fields = - abi_util::FindRemovedElements(new_fields_map, old_fields_map); - - enum_type_diff_ir->SetFieldsAdded(std::move(added_fields)); - - enum_type_diff_ir->SetFieldsRemoved(std::move(removed_fields)); - - std::vector> cf = - abi_util::FindCommonElements(old_fields_map, new_fields_map); - std::vector enum_field_diffs; - for (auto &&common_fields : cf) { - if (common_fields.first->GetValue() != common_fields.second->GetValue()) { - abi_util::EnumFieldDiffIR enum_field_diff_ir(common_fields.first, - common_fields.second); - enum_field_diffs.emplace_back(std::move(enum_field_diff_ir)); - } - } - enum_type_diff_ir->SetFieldsDiff(std::move(enum_field_diffs)); -} - -DiffStatus DiffWrapperBase::CompareEnumTypes( - const abi_util::EnumTypeIR *old_type, const abi_util::EnumTypeIR *new_type, - std::deque *type_queue, - abi_util::DiffMessageIR::DiffKind diff_kind) { - if (old_type->GetUniqueId() != new_type->GetUniqueId()) { - return DiffStatus::direct_diff; - } - auto enum_type_diff_ir = std::make_unique(); - enum_type_diff_ir->SetName(old_type->GetName()); - const std::string &old_underlying_type = old_type->GetUnderlyingType(); - const std::string &new_underlying_type = new_type->GetUnderlyingType(); - if (old_underlying_type != new_underlying_type) { - enum_type_diff_ir->SetUnderlyingTypeDiff( - std::make_unique>( - old_underlying_type, new_underlying_type)); - } - CompareEnumFields(old_type->GetFields(), new_type->GetFields(), - enum_type_diff_ir.get()); - if ((enum_type_diff_ir->IsExtended() || - enum_type_diff_ir->IsIncompatible()) && - !ir_diff_dumper_->AddDiffMessageIR(enum_type_diff_ir.get(), - Unwind(type_queue), diff_kind)) { - llvm::errs() << "AddDiffMessage on EnumTypeDiffIR failed\n"; - ::exit(1); - } - return DiffStatus::no_diff; -} - -bool DiffWrapperBase::CompareVTableComponents( - const abi_util::VTableComponentIR &old_component, - const abi_util::VTableComponentIR &new_component) { - return old_component.GetName() == new_component.GetName() && - old_component.GetValue() == new_component.GetValue() && - old_component.GetKind() == new_component.GetKind(); -} - -bool DiffWrapperBase::CompareVTables( - const abi_util::RecordTypeIR *old_record, - const abi_util::RecordTypeIR *new_record) { - - const std::vector &old_components = - old_record->GetVTableLayout().GetVTableComponents(); - const std::vector &new_components = - new_record->GetVTableLayout().GetVTableComponents(); - if (old_components.size() > new_components.size()) { - // Something in the vtable got deleted. - return false; - } - uint32_t i = 0; - while (i < old_components.size()) { - auto &old_element = old_components.at(i); - auto &new_element = new_components.at(i); - if (!CompareVTableComponents(old_element, new_element)) { - return false; - } - i++; - } - return true; -} - -bool DiffWrapperBase::CompareSizeAndAlignment( - const abi_util::TypeIR *old_type, - const abi_util::TypeIR *new_type) { - return old_type->GetSize() == new_type->GetSize() && - old_type->GetAlignment() == new_type->GetAlignment(); -} - -std::unique_ptr -DiffWrapperBase::CompareCommonRecordFields( - const abi_util::RecordFieldIR *old_field, - const abi_util::RecordFieldIR *new_field, - std::deque *type_queue, - abi_util::DiffMessageIR::DiffKind diff_kind) { - if (old_field->GetOffset() != new_field->GetOffset() || - // TODO: Should this be an inquality check instead ? Some compilers can - // make signatures dependant on absolute values of access specifiers. - IsAccessDownGraded(old_field->GetAccess(), new_field->GetAccess()) || - CompareAndDumpTypeDiff(old_field->GetReferencedType(), - new_field->GetReferencedType(), - type_queue, diff_kind) == - DiffStatus::direct_diff) { - return std::make_unique(old_field, new_field); - } - return nullptr; -} - -std::pair, - std::vector> -DiffWrapperBase::CompareRecordFields( - const std::vector &old_fields, - const std::vector &new_fields, - std::deque *type_queue, - abi_util::DiffMessageIR::DiffKind diff_kind) { - std::pair, - std::vector> diffed_and_removed_fields; - AbiElementMap old_fields_map; - AbiElementMap new_fields_map; - std::map old_fields_offset_map; - std::map new_fields_offset_map; - - abi_util::AddToMap( - &old_fields_map, old_fields, - [](const abi_util::RecordFieldIR *f) {return f->GetName();}, - [](const abi_util::RecordFieldIR *f) {return f;}); - abi_util::AddToMap( - &new_fields_map, new_fields, - [](const abi_util::RecordFieldIR *f) {return f->GetName();}, - [](const abi_util::RecordFieldIR *f) {return f;}); - abi_util::AddToMap( - &old_fields_offset_map, old_fields, - [](const abi_util::RecordFieldIR *f) {return f->GetOffset();}, - [](const abi_util::RecordFieldIR *f) {return f;}); - abi_util::AddToMap( - &new_fields_offset_map, new_fields, - [](const abi_util::RecordFieldIR *f) {return f->GetOffset();}, - [](const abi_util::RecordFieldIR *f) {return f;}); - // If a field is removed from the map field_name -> offset see if another - // field is present at the same offset and compare the size and type etc, - // remove it from the removed fields if they're compatible. - std::vector removed_fields = - abi_util::FindRemovedElements(old_fields_map, new_fields_map); - auto predicate = - [&](const abi_util::RecordFieldIR *removed_field) { - uint64_t old_field_offset = removed_field->GetOffset(); - auto corresponding_field_at_same_offset = - new_fields_offset_map.find(old_field_offset); - // Correctly reported as removed, so do not remove. - if (corresponding_field_at_same_offset == new_fields_offset_map.end()) { - return false; - } - auto comparison_result = CompareCommonRecordFields( - removed_field, corresponding_field_at_same_offset->second, - type_queue, diff_kind); - // No actual diff, so remove it. - return (comparison_result == nullptr); - }; - removed_fields.erase( - std::remove_if(removed_fields.begin(), removed_fields.end(), predicate), - removed_fields.end()); - diffed_and_removed_fields.second = std::move(removed_fields); - std::vector> cf = - abi_util::FindCommonElements(old_fields_map, new_fields_map); - for (auto &&common_fields : cf) { - std::unique_ptr diffed_field_ptr = - CompareCommonRecordFields(common_fields.first, common_fields.second, - type_queue, diff_kind); - if (diffed_field_ptr != nullptr) { - diffed_and_removed_fields.first.emplace_back( - std::move(*(diffed_field_ptr.release()))); - } - } - return diffed_and_removed_fields; -} - -bool DiffWrapperBase::CompareBaseSpecifiers( - const std::vector &old_base_specifiers, - const std::vector &new_base_specifiers, - std::deque *type_queue, - abi_util::DiffMessageIR::DiffKind diff_kind) { - if (old_base_specifiers.size() != new_base_specifiers.size()) { - return false; - } - int i = 0; - while (i < old_base_specifiers.size()) { - if (CompareAndDumpTypeDiff(old_base_specifiers.at(i).GetReferencedType(), - new_base_specifiers.at(i).GetReferencedType(), - type_queue, diff_kind) == - DiffStatus::direct_diff || - (old_base_specifiers.at(i).GetAccess() != - new_base_specifiers.at(i).GetAccess())) { - return false; - } - i++; - } - return true; -} - -void DiffWrapperBase::CompareTemplateInfo( - const std::vector &old_template_elements, - const std::vector &new_template_elements, - std::deque *type_queue, - abi_util::DiffMessageIR::DiffKind diff_kind) { - uint32_t old_template_size = old_template_elements.size(); - assert(old_template_size == new_template_elements.size()); - uint32_t i = 0; - while (i < old_template_size) { - const abi_util::TemplateElementIR &old_template_element = - old_template_elements[i]; - const abi_util::TemplateElementIR &new_template_element = - new_template_elements[i]; - CompareAndDumpTypeDiff(old_template_element.GetReferencedType(), - new_template_element.GetReferencedType(), - type_queue, diff_kind); - i++; - } -} - -DiffStatus DiffWrapperBase::CompareRecordTypes( - const abi_util::RecordTypeIR *old_type, - const abi_util::RecordTypeIR *new_type, - std::deque *type_queue, - abi_util::DiffMessageIR::DiffKind diff_kind) { - auto record_type_diff_ir = std::make_unique(); - // Compare names. - if (old_type->GetUniqueId() != new_type->GetUniqueId()) { - // Do not dump anything since the record types themselves are fundamentally - // different. - return DiffStatus::direct_diff; - } - record_type_diff_ir->SetName(old_type->GetName()); - if (old_type->GetAccess() != new_type->GetAccess()) { - record_type_diff_ir->SetAccessDiff( - std::make_unique( - old_type->GetAccess(), new_type->GetAccess())); - } - - if (!CompareSizeAndAlignment(old_type, new_type)) { - record_type_diff_ir->SetTypeDiff( - std::make_unique( - std::make_pair(old_type->GetSize(), new_type->GetSize()), - std::make_pair(old_type->GetAlignment(), - new_type->GetAlignment()))); - } - if (!CompareVTables(old_type, new_type)) { - record_type_diff_ir->SetVTableLayoutDiff( - std::make_unique( - old_type->GetVTableLayout(), new_type->GetVTableLayout())); - } - std::pair, - std::vector> field_diffs; - field_diffs = CompareRecordFields(old_type->GetFields(), - new_type->GetFields(), type_queue, - diff_kind); - record_type_diff_ir->SetFieldDiffs(std::move(field_diffs.first)); - record_type_diff_ir->SetFieldsRemoved(std::move(field_diffs.second)); - const std::vector &old_bases = - old_type->GetBases(); - const std::vector &new_bases = - new_type->GetBases(); - - if (!CompareBaseSpecifiers(old_bases, new_bases, type_queue, diff_kind)) { - record_type_diff_ir->SetBaseSpecifierDiffs( - std::make_unique(old_bases, - new_bases)); - } - if (record_type_diff_ir->DiffExists() && - !ir_diff_dumper_->AddDiffMessageIR(record_type_diff_ir.get(), - Unwind(type_queue), diff_kind)) { - llvm::errs() << "AddDiffMessage on record type failed\n"; - ::exit(1); - } // No need to add a dump for an extension since records can't be "extended". - - CompareTemplateInfo(old_type->GetTemplateElements(), - new_type->GetTemplateElements(), - type_queue, diff_kind); - - return DiffStatus::no_diff; -} - -DiffStatus DiffWrapperBase::CompareLvalueReferenceTypes( - const abi_util::LvalueReferenceTypeIR *old_type, - const abi_util::LvalueReferenceTypeIR *new_type, - std::deque *type_queue, - abi_util::DiffMessageIR::DiffKind diff_kind) { - return CompareAndDumpTypeDiff(old_type->GetReferencedType(), - new_type->GetReferencedType(), - type_queue, diff_kind); -} - -DiffStatus DiffWrapperBase::CompareRvalueReferenceTypes( - const abi_util::RvalueReferenceTypeIR *old_type, - const abi_util::RvalueReferenceTypeIR *new_type, - std::deque *type_queue, - abi_util::DiffMessageIR::DiffKind diff_kind) { - return CompareAndDumpTypeDiff(old_type->GetReferencedType(), - new_type->GetReferencedType(), - type_queue, diff_kind); -} - -DiffStatus DiffWrapperBase::CompareQualifiedTypes( - const abi_util::QualifiedTypeIR *old_type, - const abi_util::QualifiedTypeIR *new_type, - std::deque *type_queue, - abi_util::DiffMessageIR::DiffKind diff_kind) { - // If all the qualifiers are not the same, return direct_diff, else - // recursively compare the unqualified types. - if (old_type->IsConst() != new_type->IsConst() || - old_type->IsVolatile() != new_type->IsVolatile() || - old_type->IsRestricted() != new_type->IsRestricted()) { - return DiffStatus::direct_diff; - } - return CompareAndDumpTypeDiff(old_type->GetReferencedType(), - new_type->GetReferencedType(), - type_queue, diff_kind); -} - -DiffStatus DiffWrapperBase::ComparePointerTypes( - const abi_util::PointerTypeIR *old_type, - const abi_util::PointerTypeIR *new_type, - std::deque *type_queue, - abi_util::DiffMessageIR::DiffKind diff_kind) { - // The following need to be the same for two pointer types to be considered - // equivalent: - // 1) Number of pointer indirections are the same. - // 2) The ultimate pointee is the same. - assert(CompareSizeAndAlignment(old_type, new_type)); - return CompareAndDumpTypeDiff(old_type->GetReferencedType(), - new_type->GetReferencedType(), - type_queue, diff_kind); -} - -DiffStatus DiffWrapperBase::CompareBuiltinTypes( - const abi_util::BuiltinTypeIR *old_type, - const abi_util::BuiltinTypeIR *new_type) { - // If the size, alignment and is_unsigned are the same, return no_diff - // else return direct_diff. - uint64_t old_signedness = old_type->IsUnsigned(); - uint64_t new_signedness = new_type->IsUnsigned(); - - if (!CompareSizeAndAlignment(old_type, new_type) || - old_signedness != new_signedness || - old_type->IsIntegralType() != new_type->IsIntegralType()) { - return DiffStatus::direct_diff; - } - return DiffStatus::no_diff; -} - -DiffStatus DiffWrapperBase::CompareFunctionParameters( - const std::vector &old_parameters, - const std::vector &new_parameters, - std::deque *type_queue, - abi_util::DiffMessageIR::DiffKind diff_kind) { - size_t old_parameters_size = old_parameters.size(); - if (old_parameters_size != new_parameters.size()) { - return DiffStatus::direct_diff; - } - uint64_t i = 0; - while (i < old_parameters_size) { - const abi_util::ParamIR &old_parameter = old_parameters.at(i); - const abi_util::ParamIR &new_parameter = new_parameters.at(i); - if ((CompareAndDumpTypeDiff(old_parameter.GetReferencedType(), - new_parameter.GetReferencedType(), - type_queue, diff_kind) == - DiffStatus::direct_diff) || - (old_parameter.GetIsDefault() != new_parameter.GetIsDefault())) { - return DiffStatus::direct_diff; - } - i++; - } - return DiffStatus::no_diff; -} - -DiffStatus DiffWrapperBase::CompareAndDumpTypeDiff( - const abi_util::TypeIR *old_type, const abi_util::TypeIR *new_type, - abi_util::LinkableMessageKind kind, std::deque *type_queue, - abi_util::DiffMessageIR::DiffKind diff_kind) { - if (kind == abi_util::LinkableMessageKind::BuiltinTypeKind) { - return CompareBuiltinTypes( - static_cast(old_type), - static_cast(new_type)); - } - - if (kind == abi_util::LinkableMessageKind::QualifiedTypeKind) { - return CompareQualifiedTypes( - static_cast(old_type), - static_cast(new_type), - type_queue, diff_kind); - } - - if (kind == abi_util::LinkableMessageKind::EnumTypeKind) { - return CompareEnumTypes( - static_cast(old_type), - static_cast(new_type), - type_queue, diff_kind); - - } - - if (kind == abi_util::LinkableMessageKind::LvalueReferenceTypeKind) { - return CompareLvalueReferenceTypes( - static_cast(old_type), - static_cast(new_type), - type_queue, diff_kind); - - } - - if (kind == abi_util::LinkableMessageKind::RvalueReferenceTypeKind) { - return CompareRvalueReferenceTypes( - static_cast(old_type), - static_cast(new_type), - type_queue, diff_kind); - } - - if (kind == abi_util::LinkableMessageKind::PointerTypeKind) { - return ComparePointerTypes( - static_cast(old_type), - static_cast(new_type), - type_queue, diff_kind); - } - - if (kind == abi_util::LinkableMessageKind::RecordTypeKind) { - return CompareRecordTypes( - static_cast(old_type), - static_cast(new_type), - type_queue, diff_kind); - } - return DiffStatus::no_diff; -} - -static DiffStatus CompareDistinctKindMessages( - const abi_util::TypeIR *old_type, const abi_util::TypeIR *new_type) { - // For these types to be considered ABI compatible, the very least requirement - // is that their sizes and alignments should be equal. - // TODO: Fill in - return DiffStatus::direct_diff; -} - -DiffStatus DiffWrapperBase::CompareAndDumpTypeDiff( - const std::string &old_type_str, const std::string &new_type_str, - std::deque *type_queue, - abi_util::DiffMessageIR::DiffKind diff_kind) { - // If either of the types are not found in their respective maps, the type - // was not exposed in a public header and we do a simple string comparison. - // Any diff found using a simple string comparison will be a direct diff. - - // Check the map for types which have already been compared - bool same_type_str = (old_type_str == new_type_str); - if (same_type_str) { - // These types have already been diffed, return without further comparison. - if (!type_cache_->insert(old_type_str).second) { - return DiffStatus::no_diff; - } - type_queue->push_back(old_type_str); - } - AbiElementMap::const_iterator old_it = - old_types_.find(old_type_str); - AbiElementMap::const_iterator new_it = - new_types_.find(new_type_str); - if (old_it == old_types_.end() || new_it == new_types_.end()) { - // Do a simple string comparison. - if (!type_queue->empty()) { - type_queue->pop_back(); - } - return (old_type_str == new_type_str) ? - DiffStatus::no_diff : DiffStatus::direct_diff; - } - abi_util::LinkableMessageKind old_kind = - old_it->second->GetKind(); - abi_util::LinkableMessageKind new_kind = - new_it->second->GetKind(); - DiffStatus diff_status = DiffStatus::no_diff; - if (old_kind != new_kind) { - diff_status = CompareDistinctKindMessages(old_it->second, new_it->second); - } else { - diff_status = CompareAndDumpTypeDiff(old_it->second , new_it->second , - old_kind, type_queue, diff_kind); - } - if (!type_queue->empty()) { - type_queue->pop_back(); - } - return diff_status; -} +using abi_util::DiffStatus; +using abi_util::Unwind; template <> bool DiffWrapper::DumpDiff( @@ -597,7 +65,12 @@ bool DiffWrapper::DumpDiff( DiffStatus access_diff = (oldp_->GetAccess() == newp_->GetAccess()) ? DiffStatus::no_diff : DiffStatus::direct_diff; if ((type_diff | access_diff) & DiffStatus::direct_diff) { - abi_util::GlobalVarDiffIR global_var_diff_ir(oldp_, newp_); + abi_util::GlobalVarIR old_global_var = *oldp_; + abi_util::GlobalVarIR new_global_var = *newp_; + ReplaceTypeIdsWithTypeNames(old_types_, &old_global_var); + ReplaceTypeIdsWithTypeNames(new_types_, &new_global_var); + abi_util::GlobalVarDiffIR global_var_diff_ir(&old_global_var, + &new_global_var); global_var_diff_ir.SetName(oldp_->GetName()); return ir_diff_dumper_->AddDiffMessageIR(&global_var_diff_ir, Unwind(&type_queue), diff_kind); @@ -624,11 +97,16 @@ bool DiffWrapper::DumpDiff( if ((param_diffs == DiffStatus::direct_diff || return_type_diff == DiffStatus::direct_diff) || (oldp_->GetAccess() != newp_->GetAccess())) { - abi_util::FunctionDiffIR function_diff_ir(oldp_, newp_); + abi_util::FunctionIR old_function = *oldp_; + abi_util::FunctionIR new_function = *newp_; + ReplaceTypeIdsWithTypeNames(old_types_, &old_function); + ReplaceTypeIdsWithTypeNames(new_types_, &new_function); + abi_util::FunctionDiffIR function_diff_ir(&old_function, &new_function); function_diff_ir.SetName(oldp_->GetName()); return ir_diff_dumper_->AddDiffMessageIR(&function_diff_ir, Unwind(&type_queue), diff_kind); } return true; } + } // abi_diff_wrappers diff --git a/vndk/tools/header-checker/header-abi-diff/src/abi_diff_wrappers.h b/vndk/tools/header-checker/header-abi-diff/src/abi_diff_wrappers.h index 1018ce54568c6ed54db8767ef83bde349f7706b6..5376d2ffd791a8652949482ded9d23f6a21f9884 100644 --- a/vndk/tools/header-checker/header-abi-diff/src/abi_diff_wrappers.h +++ b/vndk/tools/header-checker/header-abi-diff/src/abi_diff_wrappers.h @@ -15,13 +15,7 @@ #ifndef ABI_DIFF_WRAPPERS_H #define ABI_DIFF_WRAPPERS_H -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wunused-parameter" -#pragma clang diagnostic ignored "-Wnested-anon-types" -#include "proto/abi_dump.pb.h" -#include "proto/abi_diff.pb.h" -#pragma clang diagnostic pop - +#include #include #include @@ -29,6 +23,8 @@ namespace abi_diff_wrappers { using abi_util::AbiElementMap; +using abi_util::AbiDiffHelper; +using abi_util::DiffStatus; template static bool IgnoreSymbol(const T *element, @@ -38,143 +34,20 @@ static bool IgnoreSymbol(const T *element, ignored_symbols.end(); } -enum DiffStatus { - // Previous stages of CompareAndTypeDiff should not dump the diff. - no_diff = 0, - // Previous stages of CompareAndTypeDiff should dump the diff if required. - direct_diff = 1, -}; - -class DiffWrapperBase { - public: - virtual bool DumpDiff(abi_util::IRDiffDumper::DiffKind diff_kind) = 0; - virtual ~DiffWrapperBase() { } - protected: - DiffWrapperBase( - abi_util::IRDiffDumper *ir_diff_dumper, - const AbiElementMap &old_types, - const AbiElementMap &new_types, - std::set *type_cache) - : ir_diff_dumper_(ir_diff_dumper), - old_types_(old_types), new_types_(new_types), - type_cache_(type_cache) { } - - DiffStatus CompareAndDumpTypeDiff(const std::string &old_type_str, - const std::string &new_type_str, - std::deque *type_queue, - abi_util::IRDiffDumper::DiffKind diff_kind); - - DiffStatus CompareAndDumpTypeDiff( - const abi_util::TypeIR *old_type, const abi_util::TypeIR *new_type, - abi_util::LinkableMessageKind kind, std::deque *type_queue, - abi_util::IRDiffDumper::DiffKind diff_kind); - - - DiffStatus CompareRecordTypes(const abi_util::RecordTypeIR *old_type, - const abi_util::RecordTypeIR *new_type, - std::deque *type_queue, - abi_util::IRDiffDumper::DiffKind diff_kind); - - DiffStatus CompareQualifiedTypes(const abi_util::QualifiedTypeIR *old_type, - const abi_util::QualifiedTypeIR *new_type, - std::deque *type_queue, - abi_util::IRDiffDumper::DiffKind diff_kind); - - DiffStatus ComparePointerTypes(const abi_util::PointerTypeIR *old_type, - const abi_util::PointerTypeIR *new_type, - std::deque *type_queue, - abi_util::IRDiffDumper::DiffKind diff_kind); - - DiffStatus CompareLvalueReferenceTypes( - const abi_util::LvalueReferenceTypeIR *old_type, - const abi_util::LvalueReferenceTypeIR *new_type, - std::deque *type_queue, - abi_util::IRDiffDumper::DiffKind diff_kind); - - DiffStatus CompareRvalueReferenceTypes( - const abi_util::RvalueReferenceTypeIR *old_type, - const abi_util::RvalueReferenceTypeIR *new_type, - std::deque *type_queue, - abi_util::IRDiffDumper::DiffKind diff_kind); - - - DiffStatus CompareBuiltinTypes(const abi_util::BuiltinTypeIR *old_type, - const abi_util::BuiltinTypeIR *new_type); - static void CompareEnumFields( - const std::vector &old_fields, - const std::vector &new_fields, - abi_util::EnumTypeDiffIR *enum_type_diff_ir); - - DiffStatus CompareEnumTypes(const abi_util::EnumTypeIR *old_type, - const abi_util::EnumTypeIR *new_type, - std::deque *type_queue, - abi_util::IRDiffDumper::DiffKind diff_kind); - - std::unique_ptr CompareCommonRecordFields( - const abi_util::RecordFieldIR *old_field, - const abi_util::RecordFieldIR *new_field, - std::deque *type_queue, - abi_util::IRDiffDumper::DiffKind diff_kind); - - std::pair, - std::vector> - CompareRecordFields( - const std::vector &old_fields, - const std::vector &new_fields, - std::deque *type_queue, - abi_util::IRDiffDumper::DiffKind diff_kind); - - DiffStatus CompareFunctionParameters( - const std::vector &old_parameters, - const std::vector &new_parameters, - std::deque *type_queue, - abi_util::IRDiffDumper::DiffKind diff_kind); - - bool CompareBaseSpecifiers( - const std::vector &old_base_specifiers, - const std::vector &new_base_specifiers, - std::deque *type_queue, - abi_util::IRDiffDumper::DiffKind diff_kind); - - bool CompareVTables(const abi_util::RecordTypeIR *old_record, - const abi_util::RecordTypeIR *new_record); - - bool CompareVTableComponents( - const abi_util::VTableComponentIR &old_component, - const abi_util::VTableComponentIR &new_component); - - void CompareTemplateInfo( - const std::vector &old_template_elements, - const std::vector &new_template_elements, - std::deque *type_queue, - abi_util::IRDiffDumper::DiffKind diff_kind); - - - bool CompareSizeAndAlignment(const abi_util::TypeIR *old_ti, - const abi_util::TypeIR *new_ti); - - template - bool AddToDiff(DiffType *mutable_diff, const DiffElement *oldp, - const DiffElement *newp, - std::deque *type_queue = nullptr); - protected: - abi_util::IRDiffDumper *ir_diff_dumper_; - const AbiElementMap &old_types_; - const AbiElementMap &new_types_; - std::set *type_cache_; -}; - template -class DiffWrapper : public DiffWrapperBase { +class DiffWrapper : public AbiDiffHelper { + public: DiffWrapper(const T *oldp, const T *newp, abi_util::IRDiffDumper *ir_diff_dumper, const AbiElementMap &old_types, const AbiElementMap &new_types, std::set *type_cache) - : DiffWrapperBase(ir_diff_dumper, old_types, new_types, type_cache), + : AbiDiffHelper(old_types, new_types, type_cache, ir_diff_dumper), oldp_(oldp), newp_(newp) { } - bool DumpDiff(abi_util::IRDiffDumper::DiffKind diff_kind) override; + + bool DumpDiff(abi_util::IRDiffDumper::DiffKind diff_kind); + private: const T *oldp_; const T *newp_; diff --git a/vndk/tools/header-checker/header-abi-dumper/src/abi_wrappers.cpp b/vndk/tools/header-checker/header-abi-dumper/src/abi_wrappers.cpp index 435d0a85820c1f22aa58e6594a7198cc3513c563..56792bb330b36a6a0d8040d7a423807d87fab33c 100644 --- a/vndk/tools/header-checker/header-abi-dumper/src/abi_wrappers.cpp +++ b/vndk/tools/header-checker/header-abi-dumper/src/abi_wrappers.cpp @@ -29,26 +29,71 @@ ABIWrapper::ABIWrapper( clang::MangleContext *mangle_contextp, clang::ASTContext *ast_contextp, const clang::CompilerInstance *cip, - std::set *type_cache, abi_util::IRDumper *ir_dumper, - std::map &decl_to_source_cache) + ast_util::ASTCaches *ast_caches) : cip_(cip), mangle_contextp_(mangle_contextp), ast_contextp_(ast_contextp), - type_cache_(type_cache), ir_dumper_(ir_dumper), - decl_to_source_file_cache_(decl_to_source_cache) { } + ast_caches_(ast_caches) { } std::string ABIWrapper::GetCachedDeclSourceFile( const clang::Decl *decl, const clang::CompilerInstance *cip) { assert(decl != nullptr); - auto result = decl_to_source_file_cache_.find(decl); - if (result == decl_to_source_file_cache_.end()) { + auto result = ast_caches_->decl_to_source_file_cache_.find(decl); + if (result == ast_caches_->decl_to_source_file_cache_.end()) { return GetDeclSourceFile(decl, cip); } return result->second; } +static const clang::RecordDecl *GetAnonymousRecord(clang::QualType type) { + const clang::Type *type_ptr = type.getTypePtr(); + assert(type_ptr != nullptr); + if (!type_ptr->isRecordType()) { + return nullptr; + } + const clang::TagDecl *tag_decl = type_ptr->getAsTagDecl(); + if (!tag_decl) { + return nullptr; + } + const clang::RecordDecl *record_decl = + llvm::dyn_cast(tag_decl); + + if (record_decl != nullptr && (!record_decl->hasNameForLinkage() || + record_decl->isAnonymousStructOrUnion())) { + return record_decl; + } + return nullptr; +} + +static const clang::EnumDecl *GetAnonymousEnum( + const clang::QualType qual_type) { + const clang::Type *type_ptr = qual_type.getTypePtr(); + assert(type_ptr != nullptr); + const clang::TagDecl *tag_decl = type_ptr->getAsTagDecl(); + if (!tag_decl) { + return nullptr; + } + const clang::EnumDecl *enum_decl = llvm::dyn_cast(tag_decl); + if (!enum_decl || enum_decl->hasNameForLinkage()) { + return nullptr; + } + return enum_decl; +} + +static bool IsAnonTagType(clang::QualType qual_type) { + return GetAnonymousEnum(qual_type) || GetAnonymousRecord(qual_type); +} + +std::string ABIWrapper::GetKeyForTypeId(clang::QualType qual_type, + const std::string *anon_identifier) { + if (anon_identifier && IsAnonTagType(qual_type)) { + return *anon_identifier; + } + return QualTypeToString(qual_type); +} + std::string ABIWrapper::GetDeclSourceFile(const clang::Decl *decl, const clang::CompilerInstance *cip) { clang::SourceManager &sm = cip->getSourceManager(); @@ -104,20 +149,23 @@ clang::QualType ABIWrapper::GetReferencedType(const clang::QualType qual_type) { bool ABIWrapper::CreateExtendedType( clang::QualType qual_type, - abi_util::TypeIR *typep) { - std::string type_name = QualTypeToString(qual_type); - if (!type_cache_->insert(type_name).second) { + abi_util::TypeIR *typep, + const std::string *anon_type_identifier) { + const std::string &type_key = GetKeyForTypeId(qual_type, + anon_type_identifier); + if (!ast_caches_->type_cache_.insert(type_key).second) { return true; } const clang::QualType canonical_type = qual_type.getCanonicalType(); - return CreateBasicNamedAndTypedDecl(canonical_type, typep, ""); + return CreateBasicNamedAndTypedDecl(canonical_type, typep, "", + anon_type_identifier); } //This overload takes in a qualtype and adds its information to the abi-dump on //its own. -bool ABIWrapper::CreateBasicNamedAndTypedDecl(clang::QualType qual_type, - const std::string &source_file) { - std::string type_name = QualTypeToString(qual_type); +bool ABIWrapper::CreateBasicNamedAndTypedDecl( + clang::QualType qual_type, const std::string &source_file) { + const std::string &type_key = GetKeyForTypeId(qual_type); const clang::QualType canonical_type = qual_type.getCanonicalType(); const clang::Type *base_type = canonical_type.getTypePtr(); bool is_ptr = base_type->isPointerType(); @@ -127,7 +175,8 @@ bool ABIWrapper::CreateBasicNamedAndTypedDecl(clang::QualType qual_type, bool has_referenced_type = is_ptr || is_reference || is_array || canonical_type.hasLocalQualifiers() || is_builtin; - if (!has_referenced_type || !type_cache_->insert(type_name).second) { + if (!has_referenced_type || + !ast_caches_->type_cache_.insert(type_key).second) { return true; } // Do something similar to what is being done right now. Create an object @@ -168,7 +217,8 @@ std::string ABIWrapper::GetTypeUniqueId(const clang::TagDecl *tag_decl) { // information, eg: RecordDecl, EnumDecl. bool ABIWrapper::CreateBasicNamedAndTypedDecl( clang::QualType canonical_type, - abi_util::TypeIR *typep, const std::string &source_file) { + abi_util::TypeIR *typep, const std::string &source_file, + const std::string *anon_identifier) { // Cannot determine the size and alignment for template parameter dependent // types as well as incomplete types. const clang::Type *base_type = canonical_type.getTypePtr(); @@ -184,14 +234,19 @@ bool ABIWrapper::CreateBasicNamedAndTypedDecl( typep->SetSize(size); typep->SetAlignment(alignment); } - typep->SetName(QualTypeToString(canonical_type)); - typep->SetLinkerSetKey(QualTypeToString(canonical_type)); + std::string canonical_type_name = QualTypeToString(canonical_type); + typep->SetName(canonical_type_name); + typep->SetLinkerSetKey(canonical_type_name); // default values are false, we don't set them since explicitly doing that // makes the abi dumps more verbose. // This type has a reference type if its a pointer / reference OR it has CVR // qualifiers. clang::QualType referenced_type = GetReferencedType(canonical_type); - typep->SetReferencedType(QualTypeToString(referenced_type)); + typep->SetReferencedType( + ast_caches_->GetTypeId(GetKeyForTypeId(referenced_type, + anon_identifier))); + typep->SetSelfType(ast_caches_->GetTypeId(GetKeyForTypeId(canonical_type, + anon_identifier))); // Create the type for referenced type. return CreateBasicNamedAndTypedDecl(referenced_type, source_file); } @@ -285,7 +340,8 @@ bool ABIWrapper::SetupTemplateArguments( } clang::QualType type = arg.getAsType(); template_info.AddTemplateElement( - abi_util::TemplateElementIR(QualTypeToString(type))); + abi_util::TemplateElementIR( + ast_caches_->GetTypeId(GetKeyForTypeId(type)))); if (!CreateBasicNamedAndTypedDecl(type, source_file)) { return false; } @@ -294,21 +350,6 @@ bool ABIWrapper::SetupTemplateArguments( return true; } -static const clang::EnumDecl *GetAnonymousEnum( - const clang::QualType qual_type) { - const clang::Type *type_ptr = qual_type.getTypePtr(); - assert(type_ptr != nullptr); - const clang::TagDecl *tag_decl = type_ptr->getAsTagDecl(); - if (!tag_decl) { - return nullptr; - } - const clang::EnumDecl *enum_decl = llvm::dyn_cast(tag_decl); - if (!enum_decl || enum_decl->hasNameForLinkage()) { - return nullptr; - } - return enum_decl; -} - std::string ABIWrapper::QualTypeToString( const clang::QualType &sweet_qt) { const clang::QualType salty_qt = sweet_qt.getCanonicalType(); @@ -325,11 +366,10 @@ FunctionDeclWrapper::FunctionDeclWrapper( clang::ASTContext *ast_contextp, const clang::CompilerInstance *compiler_instance_p, const clang::FunctionDecl *decl, - std::set *type_cache, abi_util::IRDumper *ir_dumper, - std::map &decl_to_source_cache) - : ABIWrapper(mangle_contextp, ast_contextp, compiler_instance_p, - type_cache, ir_dumper, decl_to_source_cache), + ast_util::ASTCaches *ast_caches) + : ABIWrapper(mangle_contextp, ast_contextp, compiler_instance_p, ir_dumper, + ast_caches), function_decl_(decl) { } bool FunctionDeclWrapper::SetupThisParameter(abi_util::FunctionIR *functionp, @@ -350,8 +390,8 @@ bool FunctionDeclWrapper::SetupFunctionParameter( if (!CreateBasicNamedAndTypedDecl(qual_type, source_file)) { return false; } - functionp->AddParameter(abi_util::ParamIR(QualTypeToString(qual_type), - has_default_arg)); + functionp->AddParameter(abi_util::ParamIR( + ast_caches_->GetTypeId(GetKeyForTypeId(qual_type)), has_default_arg)); return true; } @@ -382,11 +422,13 @@ bool FunctionDeclWrapper::SetupFunction(abi_util::FunctionIR *functionp, const std::string &source_file) { // Go through all the parameters in the method and add them to the fields. // Also get the fully qualfied name. - functionp->SetSourceFile(source_file); + // TODO: Change this to get the complete function signature functionp->SetName(function_decl_->getQualifiedNameAsString()); + functionp->SetSourceFile(source_file); clang::QualType return_type = function_decl_->getReturnType(); - functionp->SetReturnType(QualTypeToString(return_type)); + functionp->SetReturnType( + ast_caches_->GetTypeId(GetKeyForTypeId(return_type))); functionp->SetAccess(AccessClangToIR(function_decl_->getAccess())); return CreateBasicNamedAndTypedDecl(return_type, source_file) && SetupFunctionParameters(functionp, source_file) && @@ -427,43 +469,20 @@ RecordDeclWrapper::RecordDeclWrapper( clang::ASTContext *ast_contextp, const clang::CompilerInstance *compiler_instance_p, const clang::RecordDecl *decl, - std::set *type_cache, abi_util::IRDumper *ir_dumper, - std::map &decl_to_source_cache, - const std::string &previous_record_stages) - : ABIWrapper(mangle_contextp, ast_contextp, compiler_instance_p, - type_cache, ir_dumper, decl_to_source_cache), + const std::string &previous_record_stages, ast_util::ASTCaches *ast_caches) + : ABIWrapper(mangle_contextp, ast_contextp, compiler_instance_p, ir_dumper, + ast_caches), record_decl_(decl), previous_record_stages_(previous_record_stages) { } bool RecordDeclWrapper::CreateAnonymousRecord( const clang::RecordDecl *record_decl, const std::string &linker_set_key) { RecordDeclWrapper record_decl_wrapper(mangle_contextp_, ast_contextp_, cip_, - record_decl, type_cache_, ir_dumper_, - decl_to_source_file_cache_, - linker_set_key); + record_decl, ir_dumper_, + linker_set_key, ast_caches_); return record_decl_wrapper.GetRecordDecl(); } -static const clang::RecordDecl *GetAnonymousRecord(clang::QualType type) { - const clang::Type *type_ptr = type.getTypePtr(); - assert(type_ptr != nullptr); - if (!type_ptr->isRecordType()) { - return nullptr; - } - const clang::TagDecl *tag_decl = type_ptr->getAsTagDecl(); - if (!tag_decl) { - return nullptr; - } - const clang::RecordDecl *record_decl = - llvm::dyn_cast(tag_decl); - - if (record_decl != nullptr && (!record_decl->hasNameForLinkage() || - record_decl->isAnonymousStructOrUnion())) { - return record_decl; - } - return nullptr; -} - bool RecordDeclWrapper::SetupRecordFields(abi_util::RecordTypeIR *recordp, const std::string &source_file) { clang::RecordDecl::field_iterator field = record_decl_->field_begin(); @@ -472,31 +491,32 @@ bool RecordDeclWrapper::SetupRecordFields(abi_util::RecordTypeIR *recordp, ast_contextp_->getASTRecordLayout(record_decl_); while (field != record_decl_->field_end()) { clang::QualType field_type = field->getType(); + std::string key_for_type_id = GetKeyForTypeId(field_type); if (!CreateBasicNamedAndTypedDecl(field_type, source_file)) { llvm::errs() << "Creation of Type failed\n"; return false; } - std::string field_type_str = QualTypeToString(field_type); std::string field_name = field->getName(); // Handle anoymous structs / unions as fields. if (const clang::RecordDecl *anon_record_decl = GetAnonymousRecord(field_type)) { // We need to create a unique linker set key for anonymous structs / enums // since clang just names them with fully_qualified_scope::anonymous. - field_type_str = + std::string field_type_str = previous_record_stages_ + "::(anonymous)" + std::to_string(field_index); + key_for_type_id = GetKeyForTypeId(field_type, &field_type_str); if (!CreateAnonymousRecord(anon_record_decl, field_type_str)) { return false; } } else if (const clang::EnumDecl *enum_decl = GetAnonymousEnum(field_type)) { // Handle anonymous enums. - field_type_str = QualTypeToString(enum_decl->getIntegerType()); + key_for_type_id = GetKeyForTypeId(enum_decl->getIntegerType()); } uint64_t field_offset = record_layout.getFieldOffset(field_index); recordp->AddRecordField(abi_util::RecordFieldIR( - field_name, field_type_str, field_offset, + field_name, ast_caches_->GetTypeId(key_for_type_id), field_offset, AccessClangToIR(field->getAccess()))); field++; field_index++; @@ -517,8 +537,9 @@ bool RecordDeclWrapper::SetupCXXBases( bool is_virtual = base_class->isVirtual(); abi_util::AccessSpecifierIR access = AccessClangToIR(base_class->getAccessSpecifier()); - cxxp->AddCXXBaseSpecifier(abi_util::CXXBaseSpecifierIR(name, is_virtual, - access)); + cxxp->AddCXXBaseSpecifier( + abi_util::CXXBaseSpecifierIR(ast_caches_->GetTypeId(GetKeyForTypeId(base_class->getType())), is_virtual, + access)); base_class++; } return true; @@ -668,7 +689,7 @@ bool RecordDeclWrapper::SetupRecordInfo(abi_util::RecordTypeIR *record_declp, return false; } clang::QualType qual_type = basic_type->getCanonicalTypeInternal(); - if (!CreateExtendedType(qual_type, record_declp)) { + if (!CreateExtendedType(qual_type, record_declp, &previous_record_stages_)) { return false; } std::string record_qual_type_str = QualTypeToString(qual_type); @@ -699,6 +720,7 @@ bool RecordDeclWrapper::SetupCXXRecordInfo( SetupRecordVTable(record_declp, cxx_record_decl); } +// TODO: Can we use clang's ODR hash to do faster ODR checking ? bool RecordDeclWrapper::GetRecordDecl() { auto abi_decl = std::make_unique(); std::string source_file = GetCachedDeclSourceFile(record_decl_, cip_); @@ -706,6 +728,12 @@ bool RecordDeclWrapper::GetRecordDecl() { llvm::errs() << "Setting up CXX Bases / Template Info failed\n"; return false; } + if ((abi_decl->GetReferencedType() == "") || + (abi_decl->GetSelfType() == "")) { + // The only way to have an empty referenced / self type is when the type was + // cached, don't add the record. + return true; + } return ir_dumper_->AddLinkableMessageIR(abi_decl.get()); } @@ -713,12 +741,10 @@ EnumDeclWrapper::EnumDeclWrapper( clang::MangleContext *mangle_contextp, clang::ASTContext *ast_contextp, const clang::CompilerInstance *compiler_instance_p, - const clang::EnumDecl *decl, - std::set *type_cache, - abi_util::IRDumper *ir_dumper, - std::map &decl_to_source_cache) - : ABIWrapper(mangle_contextp, ast_contextp, compiler_instance_p, - type_cache, ir_dumper, decl_to_source_cache), + const clang::EnumDecl *decl, abi_util::IRDumper *ir_dumper, + ast_util::ASTCaches *ast_caches) + : ABIWrapper(mangle_contextp, ast_contextp, compiler_instance_p, ir_dumper, + ast_caches), enum_decl_(decl) { } bool EnumDeclWrapper::SetupEnumFields(abi_util::EnumTypeIR *enump) { @@ -744,7 +770,8 @@ bool EnumDeclWrapper::SetupEnum(abi_util::EnumTypeIR *enum_type, return false; } enum_type->SetSourceFile(source_file); - enum_type->SetUnderlyingType(QualTypeToString(enum_decl_->getIntegerType())); + enum_type->SetUnderlyingType( + ast_caches_->GetTypeId(GetKeyForTypeId(enum_decl_->getIntegerType()))); enum_type->SetAccess(AccessClangToIR(enum_decl_->getAccess())); enum_type->SetUniqueId(GetTypeUniqueId(enum_decl_)); return SetupEnumFields(enum_type) && @@ -766,11 +793,10 @@ GlobalVarDeclWrapper::GlobalVarDeclWrapper( clang::MangleContext *mangle_contextp, clang::ASTContext *ast_contextp, const clang::CompilerInstance *compiler_instance_p, - const clang::VarDecl *decl,std::set *type_cache, - abi_util::IRDumper *ir_dumper, - std::map &decl_to_source_cache) - : ABIWrapper(mangle_contextp, ast_contextp, compiler_instance_p, type_cache, - ir_dumper, decl_to_source_cache), + const clang::VarDecl *decl, abi_util::IRDumper *ir_dumper, + ast_util::ASTCaches *ast_caches) + : ABIWrapper(mangle_contextp, ast_contextp, compiler_instance_p, ir_dumper, + ast_caches), global_var_decl_(decl) { } bool GlobalVarDeclWrapper::SetupGlobalVar( @@ -787,7 +813,7 @@ bool GlobalVarDeclWrapper::SetupGlobalVar( global_varp->SetName(global_var_decl_->getQualifiedNameAsString()); global_varp->SetLinkerSetKey(mangled_name); global_varp->SetReferencedType( - QualTypeToString(global_var_decl_->getType())); + ast_caches_->GetTypeId(GetKeyForTypeId(global_var_decl_->getType()))); return true; } diff --git a/vndk/tools/header-checker/header-abi-dumper/src/abi_wrappers.h b/vndk/tools/header-checker/header-abi-dumper/src/abi_wrappers.h index e97f79881fc146df1e7cb3079558c6f1a7277918..eacb6638683faa82be00873323243be2df9ba115 100644 --- a/vndk/tools/header-checker/header-abi-dumper/src/abi_wrappers.h +++ b/vndk/tools/header-checker/header-abi-dumper/src/abi_wrappers.h @@ -15,14 +15,9 @@ #ifndef ABI_WRAPPERS_H_ #define ABI_WRAPPERS_H_ +#include "ast_util.h" #include -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wunused-parameter" -#pragma clang diagnostic ignored "-Wnested-anon-types" -#include "proto/abi_dump.pb.h" -#pragma clang diagnostic pop - #include #include #include @@ -35,9 +30,8 @@ class ABIWrapper { ABIWrapper(clang::MangleContext *mangle_contextp, clang::ASTContext *ast_contextp, const clang::CompilerInstance *cip, - std::set *type_cache, abi_util::IRDumper *ir_dumper, - std::map &decl_to_source_cache); + ast_util::ASTCaches *ast_caches); static std::string GetDeclSourceFile(const clang::Decl *decl, const clang::CompilerInstance *cip); @@ -46,11 +40,12 @@ class ABIWrapper { clang::MangleContext *mangle_context); protected: - abi_dump::AccessSpecifier AccessClangToDump( - const clang::AccessSpecifier sp); std::string GetCachedDeclSourceFile(const clang::Decl *decl, const clang::CompilerInstance *cip); + std::string GetKeyForTypeId(clang::QualType qual_type, + const std::string *anon_identifier = nullptr); + bool SetupTemplateArguments(const clang::TemplateArgumentList *tl, abi_util::TemplatedArtifactIR *ta, const std::string &source_file); @@ -62,13 +57,13 @@ class ABIWrapper { bool CreateBasicNamedAndTypedDecl(clang::QualType, const std::string &source_file); bool CreateBasicNamedAndTypedDecl( - clang::QualType canonical_type, - abi_util::TypeIR *typep, - const std::string &source_file); + clang::QualType canonical_type, abi_util::TypeIR *typep, + const std::string &source_file, + const std::string *anon_identifier = nullptr); bool CreateExtendedType( - clang::QualType canonical_type, - abi_util::TypeIR *typep); + clang::QualType canonical_type, abi_util::TypeIR *typep, + const std::string *anon_identifier = nullptr); clang::QualType GetReferencedType(const clang::QualType qual_type); @@ -83,9 +78,8 @@ class ABIWrapper { const clang::CompilerInstance *cip_; clang::MangleContext *mangle_contextp_; clang::ASTContext *ast_contextp_; - std::set *type_cache_; abi_util::IRDumper *ir_dumper_; - std::map &decl_to_source_file_cache_; + ast_util::ASTCaches *ast_caches_; }; class RecordDeclWrapper : public ABIWrapper { @@ -93,10 +87,9 @@ class RecordDeclWrapper : public ABIWrapper { RecordDeclWrapper( clang::MangleContext *mangle_contextp, clang::ASTContext *ast_contextp, const clang::CompilerInstance *compiler_instance_p, - const clang::RecordDecl *decl, std::set *type_cache, - abi_util::IRDumper *ir_dumper, - std::map &decl_to_source_cache_, - const std::string &previous_record_stages); + const clang::RecordDecl *record_decl, abi_util::IRDumper *ir_dumper, + const std::string &previous_record_stages, + ast_util::ASTCaches *ast_caches); bool GetRecordDecl(); @@ -138,9 +131,8 @@ class FunctionDeclWrapper : public ABIWrapper { FunctionDeclWrapper( clang::MangleContext *mangle_contextp, clang::ASTContext *ast_contextp, const clang::CompilerInstance *compiler_instance_p, - const clang::FunctionDecl *decl, std::set *type_cache, - abi_util::IRDumper *ir_dumper, - std::map &decl_to_source_cache_); + const clang::FunctionDecl *decl, abi_util::IRDumper *ir_dumper, + ast_util::ASTCaches *ast_caches); std::unique_ptr GetFunctionDecl(); @@ -172,9 +164,8 @@ class EnumDeclWrapper : public ABIWrapper { EnumDeclWrapper( clang::MangleContext *mangle_contextp, clang::ASTContext *ast_contextp, const clang::CompilerInstance *compiler_instance_p, - const clang::EnumDecl *decl, - std::set *type_cache, abi_util::IRDumper *ir_dumper, - std::map &decl_to_source_cache_); + const clang::EnumDecl *decl, abi_util::IRDumper *ir_dumper, + ast_util::ASTCaches *ast_caches); bool GetEnumDecl(); @@ -193,9 +184,8 @@ class GlobalVarDeclWrapper : public ABIWrapper { GlobalVarDeclWrapper( clang::MangleContext *mangle_contextp, clang::ASTContext *ast_contextp, const clang::CompilerInstance *compiler_instance_p, - const clang::VarDecl *decl, - std::set *type_cache, abi_util::IRDumper *ir_dumper, - std::map &decl_to_source_cache_); + const clang::VarDecl *decl, abi_util::IRDumper *ir_dumper, + ast_util::ASTCaches *ast_caches); bool GetGlobalVarDecl(); diff --git a/vndk/tools/header-checker/header-abi-dumper/src/ast_processing.cpp b/vndk/tools/header-checker/header-abi-dumper/src/ast_processing.cpp index bf5623d0d506fa90baabdfd2e067aeaae17e063c..038f64b08bb14e28a3542d2a74ac749eed2aac78 100644 --- a/vndk/tools/header-checker/header-abi-dumper/src/ast_processing.cpp +++ b/vndk/tools/header-checker/header-abi-dumper/src/ast_processing.cpp @@ -35,15 +35,15 @@ HeaderASTVisitor::HeaderASTVisitor( const clang::CompilerInstance *compiler_instance_p, const std::set &exported_headers, const clang::Decl *tu_decl, - std::set *type_cache, - abi_util::IRDumper *ir_dumper) + abi_util::IRDumper *ir_dumper, + ast_util::ASTCaches *ast_caches) : mangle_contextp_(mangle_contextp), ast_contextp_(ast_contextp), cip_(compiler_instance_p), exported_headers_(exported_headers), tu_decl_(tu_decl), - type_cache_(type_cache), - ir_dumper_(ir_dumper) { } + ir_dumper_(ir_dumper), + ast_caches_(ast_caches) { } bool HeaderASTVisitor::VisitRecordDecl(const clang::RecordDecl *decl) { // Skip forward declarations, dependent records. Also skip anonymous records @@ -55,8 +55,7 @@ bool HeaderASTVisitor::VisitRecordDecl(const clang::RecordDecl *decl) { return true; } RecordDeclWrapper record_decl_wrapper( - mangle_contextp_, ast_contextp_, cip_, decl, type_cache_, - ir_dumper_, decl_to_source_file_cache_, ""); + mangle_contextp_, ast_contextp_, cip_, decl, ir_dumper_, "", ast_caches_); return record_decl_wrapper.GetRecordDecl(); } @@ -67,8 +66,7 @@ bool HeaderASTVisitor::VisitEnumDecl(const clang::EnumDecl *decl) { return true; } EnumDeclWrapper enum_decl_wrapper( - mangle_contextp_, ast_contextp_, cip_, decl, type_cache_, - ir_dumper_, decl_to_source_file_cache_); + mangle_contextp_, ast_contextp_, cip_, decl, ir_dumper_, ast_caches_); return enum_decl_wrapper.GetEnumDecl(); } @@ -93,6 +91,9 @@ static bool AddMangledFunctions(const abi_util::FunctionIR *function, } static bool ShouldSkipFunctionDecl(const clang::FunctionDecl *decl) { + if (!decl->getDefinition()) { + return true; + } if (const clang::CXXMethodDecl *method_decl = llvm::dyn_cast(decl)) { if (method_decl->getParent()->getTypeForDecl()->isDependentType()) { @@ -115,9 +116,8 @@ bool HeaderASTVisitor::VisitFunctionDecl(const clang::FunctionDecl *decl) { return true; } FunctionDeclWrapper function_decl_wrapper(mangle_contextp_, ast_contextp_, - cip_, decl, type_cache_, - ir_dumper_, - decl_to_source_file_cache_); + cip_, decl, ir_dumper_, + ast_caches_); auto function_wrapper = function_decl_wrapper.GetFunctionDecl(); // Destructors and Constructors can have more than 1 symbol generated from the // same Decl. @@ -139,9 +139,8 @@ bool HeaderASTVisitor::VisitVarDecl(const clang::VarDecl *decl) { return true; } GlobalVarDeclWrapper global_var_decl_wrapper(mangle_contextp_, ast_contextp_, - cip_, decl, type_cache_, - ir_dumper_, - decl_to_source_file_cache_); + cip_, decl, ir_dumper_, + ast_caches_); return global_var_decl_wrapper.GetGlobalVarDecl(); } @@ -155,19 +154,27 @@ bool HeaderASTVisitor::TraverseDecl(clang::Decl *decl) { return true; } std::string source_file = ABIWrapper::GetDeclSourceFile(decl, cip_); - decl_to_source_file_cache_.insert(std::make_pair(decl, source_file)); + ast_caches_->decl_to_source_file_cache_.insert( + std::make_pair(decl, source_file)); // If no exported headers are specified we assume the whole AST is exported. if ((decl != tu_decl_) && AreHeadersExported(exported_headers_) && (exported_headers_.find(source_file) == exported_headers_.end())) { return true; } + // If at all we're looking at the source file's AST decl node, it should be a + // function decl node. + if ((decl != tu_decl_) && + (source_file == ast_caches_->translation_unit_source_) && + !decl->isFunctionOrFunctionTemplate()) { + return true; + } return RecursiveASTVisitor::TraverseDecl(decl); } HeaderASTConsumer::HeaderASTConsumer( clang::CompilerInstance *compiler_instancep, const std::string &out_dump_name, - const std::set &exported_headers, + std::set &exported_headers, abi_util::TextFormatIR text_format) : cip_(compiler_instancep), out_dump_name_(out_dump_name), @@ -184,11 +191,17 @@ void HeaderASTConsumer::HandleTranslationUnit(clang::ASTContext &ctx) { clang::TranslationUnitDecl *translation_unit = ctx.getTranslationUnitDecl(); std::unique_ptr mangle_contextp( ctx.createMangleContext()); - std::set type_cache; + const std::string &translation_unit_source = + ABIWrapper::GetDeclSourceFile(translation_unit, cip_); + ast_util::ASTCaches ast_caches(translation_unit_source); + if (!exported_headers_.empty()) { + exported_headers_.insert(translation_unit_source); + } std::unique_ptr ir_dumper = abi_util::IRDumper::CreateIRDumper(text_format_, out_dump_name_); HeaderASTVisitor v(mangle_contextp.get(), &ctx, cip_, exported_headers_, - translation_unit, &type_cache, ir_dumper.get()); + translation_unit, ir_dumper.get(), &ast_caches); + if (!v.TraverseDecl(translation_unit) || !ir_dumper->Dump()) { llvm::errs() << "Serialization to ostream failed\n"; ::exit(1); diff --git a/vndk/tools/header-checker/header-abi-dumper/src/ast_processing.h b/vndk/tools/header-checker/header-abi-dumper/src/ast_processing.h index 02ad65dcb5454c92a1d54592edbbf6be31d20bc6..b798c9743cdbf4cc1a50bddc6c03295d5196b79b 100644 --- a/vndk/tools/header-checker/header-abi-dumper/src/ast_processing.h +++ b/vndk/tools/header-checker/header-abi-dumper/src/ast_processing.h @@ -15,12 +15,7 @@ #ifndef AST_PROCESSING_H_ #define AST_PROCESSING_H_ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wunused-parameter" -#pragma clang diagnostic ignored "-Wnested-anon-types" -#include "proto/abi_dump.pb.h" -#pragma clang diagnostic pop - +#include "ast_util.h" #include #include @@ -40,8 +35,8 @@ class HeaderASTVisitor const clang::CompilerInstance *compiler_instance_p, const std::set &exported_headers, const clang::Decl *tu_decl, - std::set *type_cache, - abi_util::IRDumper *ir_dumper); + abi_util::IRDumper *ir_dumper, + ast_util::ASTCaches *ast_caches); bool VisitRecordDecl(const clang::RecordDecl *decl); @@ -65,18 +60,17 @@ class HeaderASTVisitor const std::set &exported_headers_; // To optimize recursion into only exported abi. const clang::Decl *tu_decl_; - std::set *type_cache_; abi_util::IRDumper *ir_dumper_; // We cache the source file an AST node corresponds to, to avoid repeated // calls to "realpath". - std::map decl_to_source_file_cache_; + ast_util::ASTCaches *ast_caches_; }; class HeaderASTConsumer : public clang::ASTConsumer { public: HeaderASTConsumer(clang::CompilerInstance *compiler_instancep, const std::string &out_dump_name, - const std::set &exported_headers, + std::set &exported_headers, abi_util::TextFormatIR text_format); void HandleTranslationUnit(clang::ASTContext &ctx) override; @@ -84,7 +78,7 @@ class HeaderASTConsumer : public clang::ASTConsumer { private: clang::CompilerInstance *cip_; const std::string &out_dump_name_; - const std::set &exported_headers_; + std::set &exported_headers_; abi_util::TextFormatIR text_format_; }; diff --git a/vndk/tools/header-checker/header-abi-dumper/src/ast_util.h b/vndk/tools/header-checker/header-abi-dumper/src/ast_util.h new file mode 100644 index 0000000000000000000000000000000000000000..32b4654a322c1a8ca7c880a4e8bace11535d7fc0 --- /dev/null +++ b/vndk/tools/header-checker/header-abi-dumper/src/ast_util.h @@ -0,0 +1,49 @@ +// Copyright (C) 2017 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +#ifndef AST_UTIL +#define AST_UTIL + +#include + +#include +#include + +namespace ast_util { + +constexpr static char type_id_prefix[] = "type-"; + +struct ASTCaches { + + ASTCaches(const std::string &translation_unit_source) + : translation_unit_source_(translation_unit_source) { }; + + std::string GetTypeId(const std::string &qual_type) { + auto type_id_it = qual_type_to_type_id_cache_.find(qual_type); + if (type_id_it == qual_type_to_type_id_cache_.end()) { + qual_type_to_type_id_cache_.insert( + std::make_pair(qual_type, ++max_type_id_)); + return type_id_prefix + std::to_string(max_type_id_); + } + return type_id_prefix + std::to_string(type_id_it->second); + } + + std::string translation_unit_source_; + std::set type_cache_; + std::map decl_to_source_file_cache_; + std::map qual_type_to_type_id_cache_; + uint64_t max_type_id_ = 0; +}; + +} +#endif diff --git a/vndk/tools/header-checker/header-abi-dumper/src/frontend_action.cpp b/vndk/tools/header-checker/header-abi-dumper/src/frontend_action.cpp index 082b8141ae9abc79332f655bd0f73522ee353585..f4dd282686c93d2fbc56990e92a10e26c099d43e 100644 --- a/vndk/tools/header-checker/header-abi-dumper/src/frontend_action.cpp +++ b/vndk/tools/header-checker/header-abi-dumper/src/frontend_action.cpp @@ -26,7 +26,7 @@ #include HeaderCheckerFrontendAction::HeaderCheckerFrontendAction( - const std::string &dump_name, const std::set &exported_headers, + const std::string &dump_name, std::set &exported_headers, abi_util::TextFormatIR text_format) : dump_name_(dump_name), exported_headers_(exported_headers), text_format_(text_format) { } diff --git a/vndk/tools/header-checker/header-abi-dumper/src/frontend_action.h b/vndk/tools/header-checker/header-abi-dumper/src/frontend_action.h index 24e1e247f91fa18225866f03f80059f4d0e76e7c..294c60838d50c0091a0ca2d00ed5b5dfb58e1058 100644 --- a/vndk/tools/header-checker/header-abi-dumper/src/frontend_action.h +++ b/vndk/tools/header-checker/header-abi-dumper/src/frontend_action.h @@ -33,13 +33,13 @@ namespace clang { class HeaderCheckerFrontendAction : public clang::ASTFrontendAction { private: const std::string &dump_name_; - const std::set &exported_headers_; + std::set &exported_headers_; abi_util::TextFormatIR text_format_; public: HeaderCheckerFrontendAction( const std::string &dump_name, - const std::set &exported_headers, + std::set &exported_headers, abi_util::TextFormatIR text_format); protected: diff --git a/vndk/tools/header-checker/header-abi-dumper/src/frontend_action_factory.cpp b/vndk/tools/header-checker/header-abi-dumper/src/frontend_action_factory.cpp index c879ff0c60d7b84b3be1367ca646be3633a133c8..30372dc47750763e2ace61ab4e4d78ad732ce540 100644 --- a/vndk/tools/header-checker/header-abi-dumper/src/frontend_action_factory.cpp +++ b/vndk/tools/header-checker/header-abi-dumper/src/frontend_action_factory.cpp @@ -20,7 +20,7 @@ HeaderCheckerFrontendActionFactory::HeaderCheckerFrontendActionFactory( const std::string &dump_name, - const std::set &exported_headers, + std::set &exported_headers, abi_util::TextFormatIR text_format) : dump_name_(dump_name), exported_headers_(exported_headers), text_format_(text_format) { } diff --git a/vndk/tools/header-checker/header-abi-dumper/src/frontend_action_factory.h b/vndk/tools/header-checker/header-abi-dumper/src/frontend_action_factory.h index a2a6c3817bc5052ce2cc9d2daee84ab1d4f25b9c..0932372b702f48565395df3fab6a00b0d1bd1042 100644 --- a/vndk/tools/header-checker/header-abi-dumper/src/frontend_action_factory.h +++ b/vndk/tools/header-checker/header-abi-dumper/src/frontend_action_factory.h @@ -24,13 +24,13 @@ class HeaderCheckerFrontendActionFactory : public clang::tooling::FrontendActionFactory { private: const std::string &dump_name_; - const std::set &exported_headers_; + std::set &exported_headers_; abi_util::TextFormatIR text_format_; public: HeaderCheckerFrontendActionFactory( const std::string &dump_name, - const std::set &exported_headers, + std::set &exported_headers, abi_util::TextFormatIR text_format); clang::FrontendAction *create() override; diff --git a/vndk/tools/header-checker/header-abi-linker/src/header_abi_linker.cpp b/vndk/tools/header-checker/header-abi-linker/src/header_abi_linker.cpp index 110eb65fd552f05ec9bafa3820fa8eaf8196f960..47bc6d17f3adaae82e2bd91fb3643e3e3bb54951 100644 --- a/vndk/tools/header-checker/header-abi-linker/src/header_abi_linker.cpp +++ b/vndk/tools/header-checker/header-abi-linker/src/header_abi_linker.cpp @@ -91,11 +91,11 @@ class HeaderAbiLinker { private: template - inline bool LinkDecl(abi_util::IRDumper *dst, + bool LinkDecl(abi_util::IRDumper *dst, std::set *link_set, std::set *regex_matched_link_set, const std::regex *vs_regex, - const std::map &src, + const abi_util::AbiElementMap &src, bool use_version_script); bool ParseVersionScriptFiles(); @@ -170,19 +170,21 @@ static void DeDuplicateAbiElementsThread( break; } std::size_t end = std::min(i + kSourcesPerBatchThread, num_sources); - std::unique_ptr reader = - abi_util::TextFormatToIRReader::CreateTextFormatToIRReader( - text_format, exported_headers); - assert(reader != nullptr); - if (!reader->ReadDumps(begin_it + i, begin_it + end)) { - llvm::errs() << "ReadDump failed\n"; - ::exit(1); + for (auto it = begin_it; it != begin_it + end; it++) { + std::unique_ptr reader = + abi_util::TextFormatToIRReader::CreateTextFormatToIRReader( + text_format, exported_headers); + assert(reader != nullptr); + if (!reader->ReadDump(*it)) { + llvm::errs() << "ReadDump failed\n"; + ::exit(1); + } + // This merge is needed since the iterators might not be contigous. + local_reader->MergeGraphs(*reader); } - // This merge is needed since the iterators might not be contigous. - local_reader->Merge(std::move(*reader)); } std::lock_guard lock(*greader_lock); - greader->Merge(std::move(*local_reader)); + greader->MergeGraphs(*local_reader); } bool HeaderAbiLinker::LinkAndDump() { @@ -272,10 +274,10 @@ static std::regex CreateRegexMatchExprFromSet( } template -inline bool HeaderAbiLinker::LinkDecl( +bool HeaderAbiLinker::LinkDecl( abi_util::IRDumper *dst, std::set *link_set, std::set *regex_matched_link_set, const std::regex *vs_regex, - const std::map &src, bool use_version_script) { + const abi_util::AbiElementMap &src, bool use_version_script_or_so) { assert(dst != nullptr); assert(link_set != nullptr); for (auto &&element : src) { @@ -290,11 +292,7 @@ inline bool HeaderAbiLinker::LinkDecl( } const std::string &element_str = element.first; // Check for the existence of the element in linked dump / symbol file. - if (!use_version_script) { - if (!link_set->insert(element_str).second) { - continue; - } - } else { + if (use_version_script_or_so) { std::set::iterator it = link_set->find(element_str); if (it == link_set->end()) { @@ -310,7 +308,6 @@ inline bool HeaderAbiLinker::LinkDecl( llvm::errs() << "Failed to add element to linked dump\n"; return false; } - } return true; } @@ -359,7 +356,6 @@ bool HeaderAbiLinker::LinkGlobalVars( &globvars_regex_matched_set, &globvars_vs_regex_, reader->GetGlobalVariables(), (!version_script.empty() || !so_file_.empty())); - } bool HeaderAbiLinker::ParseVersionScriptFiles() { diff --git a/vndk/tools/header-checker/header-abi-util/include/abi_diff_helpers.h b/vndk/tools/header-checker/header-abi-util/include/abi_diff_helpers.h new file mode 100644 index 0000000000000000000000000000000000000000..c83a19c09edbcd0f66752c2026ea9195acd42094 --- /dev/null +++ b/vndk/tools/header-checker/header-abi-util/include/abi_diff_helpers.h @@ -0,0 +1,178 @@ +#ifndef ABI_DIFF_HELPERS +#define ABI_DIFF_HELPERS + +#include + +#include + +// Classes which act as middle-men between clang AST parsing routines and +// message format specific dumpers. +namespace abi_util { + +using MergeStatus = TextFormatToIRReader::MergeStatus; + +enum DiffStatus { + // There was no diff found while comparing types. + no_diff = 0, + // There was a diff found and it should be added as a part of a diff message. + direct_diff = 1, + // There was a diff found, however it need not be added as a part of a diff + // message, since it would have already been noted elsewhere. + indirect_diff = 2, +}; + +static inline DiffStatus operator| (DiffStatus f,DiffStatus s) { + return static_cast( + static_cast::type>(f) | + static_cast::type>(s)); +} + +static inline DiffStatus operator& (DiffStatus f, DiffStatus s) { + return static_cast( + static_cast::type>(f) & + static_cast::type>(s)); +} + +template +using DiffStatusPair = std::pair; + +std::string Unwind(const std::deque *type_queue); + +class AbiDiffHelper { + public: + AbiDiffHelper( + const AbiElementMap &old_types, + const AbiElementMap &new_types, + std::set *type_cache, + abi_util::IRDiffDumper *ir_diff_dumper = nullptr, + AbiElementMap *local_to_global_type_id_map = nullptr) + : old_types_(old_types), new_types_(new_types), + type_cache_(type_cache), ir_diff_dumper_(ir_diff_dumper), + local_to_global_type_id_map_(local_to_global_type_id_map) { } + + DiffStatus CompareAndDumpTypeDiff( + const std::string &old_type_str, const std::string &new_type_str, + std::deque *type_queue = nullptr, + abi_util::IRDiffDumper::DiffKind diff_kind = DiffMessageIR::Unreferenced); + + DiffStatus CompareAndDumpTypeDiff( + const abi_util::TypeIR *old_type, const abi_util::TypeIR *new_type, + abi_util::LinkableMessageKind kind, + std::deque *type_queue = nullptr, + abi_util::IRDiffDumper::DiffKind diff_kind = DiffMessageIR::Unreferenced); + + + DiffStatus CompareRecordTypes(const abi_util::RecordTypeIR *old_type, + const abi_util::RecordTypeIR *new_type, + std::deque *type_queue, + abi_util::IRDiffDumper::DiffKind diff_kind); + + DiffStatus CompareQualifiedTypes(const abi_util::QualifiedTypeIR *old_type, + const abi_util::QualifiedTypeIR *new_type, + std::deque *type_queue, + abi_util::IRDiffDumper::DiffKind diff_kind); + + DiffStatus ComparePointerTypes(const abi_util::PointerTypeIR *old_type, + const abi_util::PointerTypeIR *new_type, + std::deque *type_queue, + abi_util::IRDiffDumper::DiffKind diff_kind); + + DiffStatus CompareLvalueReferenceTypes( + const abi_util::LvalueReferenceTypeIR *old_type, + const abi_util::LvalueReferenceTypeIR *new_type, + std::deque *type_queue, + abi_util::IRDiffDumper::DiffKind diff_kind); + + DiffStatus CompareRvalueReferenceTypes( + const abi_util::RvalueReferenceTypeIR *old_type, + const abi_util::RvalueReferenceTypeIR *new_type, + std::deque *type_queue, + abi_util::IRDiffDumper::DiffKind diff_kind); + + + DiffStatus CompareBuiltinTypes(const abi_util::BuiltinTypeIR *old_type, + const abi_util::BuiltinTypeIR *new_type); + static void CompareEnumFields( + const std::vector &old_fields, + const std::vector &new_fields, + abi_util::EnumTypeDiffIR *enum_type_diff_ir); + + DiffStatus CompareEnumTypes(const abi_util::EnumTypeIR *old_type, + const abi_util::EnumTypeIR *new_type, + std::deque *type_queue, + abi_util::IRDiffDumper::DiffKind diff_kind); + + void ReplaceRemovedFieldTypeIdsWithTypeNames( + std::vector *removed_fields); + + void ReplaceDiffedFieldTypeIdsWithTypeNames( + abi_util::RecordFieldDiffIR *diffed_field); + + std::vector> + FixupDiffedFieldTypeIds( + const std::vector &field_diffs); + + std::vectorFixupRemovedFieldTypeIds( + const std::vector &fields_removed); + + DiffStatusPair> + CompareCommonRecordFields( + const abi_util::RecordFieldIR *old_field, + const abi_util::RecordFieldIR *new_field, + std::deque *type_queue, + abi_util::IRDiffDumper::DiffKind diff_kind); + + DiffStatusPair, + std::vector>> + CompareRecordFields( + const std::vector &old_fields, + const std::vector &new_fields, + std::deque *type_queue, + abi_util::IRDiffDumper::DiffKind diff_kind); + + DiffStatus CompareFunctionParameters( + const std::vector &old_parameters, + const std::vector &new_parameters, + std::deque *type_queue, + abi_util::IRDiffDumper::DiffKind diff_kind); + + bool CompareBaseSpecifiers( + const std::vector &old_base_specifiers, + const std::vector &new_base_specifiers, + std::deque *type_queue, + abi_util::IRDiffDumper::DiffKind diff_kind); + + bool CompareVTables(const abi_util::RecordTypeIR *old_record, + const abi_util::RecordTypeIR *new_record); + + bool CompareVTableComponents( + const abi_util::VTableComponentIR &old_component, + const abi_util::VTableComponentIR &new_component); + + void CompareTemplateInfo( + const std::vector &old_template_elements, + const std::vector &new_template_elements, + std::deque *type_queue, + abi_util::IRDiffDumper::DiffKind diff_kind); + + + bool CompareSizeAndAlignment(const abi_util::TypeIR *old_ti, + const abi_util::TypeIR *new_ti); + + template + bool AddToDiff(DiffType *mutable_diff, const DiffElement *oldp, + const DiffElement *newp, + std::deque *type_queue = nullptr); + protected: + const AbiElementMap &old_types_; + const AbiElementMap &new_types_; + std::set *type_cache_ = nullptr; + abi_util::IRDiffDumper *ir_diff_dumper_ = nullptr; + AbiElementMap *local_to_global_type_id_map_ = nullptr; +}; + +void ReplaceTypeIdsWithTypeNames( + const AbiElementMap &type_graph, LinkableMessageIR *lm); + +} // namespace abi_util +#endif diff --git a/vndk/tools/header-checker/header-abi-util/include/ir_representation.h b/vndk/tools/header-checker/header-abi-util/include/ir_representation.h index 03cfde0e922dde37d5d5c36c284948891b9e8384..134dbeb775d54db6400f9d4defc943d5144502b3 100644 --- a/vndk/tools/header-checker/header-abi-util/include/ir_representation.h +++ b/vndk/tools/header-checker/header-abi-util/include/ir_representation.h @@ -14,12 +14,15 @@ #ifndef IR_ #define IR_ +#include #include +#include +#include +#include #include #include #include #include -#include // Classes which act as middle-men between clang AST parsing routines and // message format specific dumpers. @@ -28,6 +31,12 @@ namespace abi_util { template using AbiElementMap = std::map; +template +using AbiElementUnorderedMap = std::unordered_map; + +template +using AbiElementList = std::list; + enum TextFormatIR { ProtobufTextFormat = 0, }; @@ -92,55 +101,54 @@ class LinkableMessageIR { } virtual LinkableMessageKind GetKind() const = 0; - - virtual ~LinkableMessageIR() {} - + virtual ~LinkableMessageIR() { }; protected: // The source file where this message comes from. This will be an empty string - // for built-in types + // for built-in types. std::string source_file_; std::string linker_set_key_; }; -class BasicTypeInfoIR { +class ReferencesOtherType { public: - BasicTypeInfoIR(const std::string &name, const std::string &type, - const std::string linker_set_key, uint64_t size, - uint32_t alignment) - : name_(name), referenced_type_(type), linker_set_key_(linker_set_key) , - size_(size), alignment_(alignment) { } - - BasicTypeInfoIR() { } + void SetReferencedType(const std::string &referenced_type) { + referenced_type_ = referenced_type; + } - std::string GetLinkerSetKey() { - return linker_set_key_; + const std::string &GetReferencedType() const { + return referenced_type_; } + ReferencesOtherType(const std::string &referenced_type) + : referenced_type_(referenced_type) { } + + ReferencesOtherType(std::string &&referenced_type) + : referenced_type_(std::move(referenced_type)) { } + + ReferencesOtherType() { } + protected: - std::string name_; std::string referenced_type_; - std::string linker_set_key_; - uint64_t size_; - uint32_t alignment_; }; // TODO: Break this up into types with sizes and those without types ? -class TypeIR : public LinkableMessageIR { +class TypeIR : public LinkableMessageIR , public ReferencesOtherType { public: - void SetName(const std::string &name) { - name_ = name; + + void SetSelfType(const std::string &self_type) { + self_type_ = self_type; } - const std::string &GetName() const { - return name_; + const std::string &GetSelfType() const { + return self_type_; } - void SetReferencedType(const std::string &type) { - referenced_type_ = type; + void SetName(const std::string &name) { + name_ = name; } - const std::string &GetReferencedType() const { - return referenced_type_; + const std::string &GetName() const { + return name_; } void SetSize(uint64_t size) { @@ -155,13 +163,14 @@ class TypeIR : public LinkableMessageIR { uint32_t GetAlignment() const { return alignment_; } - ~TypeIR() override { } + + virtual ~TypeIR() { } protected: std::string name_; - std::string referenced_type_; - uint64_t size_; - uint32_t alignment_; + std::string self_type_; + uint64_t size_ = 0; + uint32_t alignment_ = 0; }; class TagTypeIR { @@ -211,7 +220,7 @@ class VTableComponentIR { protected: std::string component_name_; Kind kind_; - int64_t value_; + int64_t value_ = 0; }; class VTableLayoutIR { @@ -232,18 +241,14 @@ class VTableLayoutIR { std::vector vtable_components_; }; -class CXXBaseSpecifierIR { +class CXXBaseSpecifierIR : public ReferencesOtherType { public: CXXBaseSpecifierIR(const std::string &type, bool is_virtual, AccessSpecifierIR access) : - referenced_type_(type), is_virtual_(is_virtual), access_(access) { } + ReferencesOtherType(type), is_virtual_(is_virtual), access_(access) { } CXXBaseSpecifierIR() { } - const std::string &GetReferencedType() const { - return referenced_type_; - } - bool IsVirtual() const { return is_virtual_; } @@ -253,27 +258,19 @@ class CXXBaseSpecifierIR { } protected: - std::string referenced_type_; bool is_virtual_; AccessSpecifierIR access_; }; -class TemplateElementIR { +class TemplateElementIR : public ReferencesOtherType { public: TemplateElementIR(std::string &&type) - : referenced_type_(std::move(type)) { } + : ReferencesOtherType(std::move(type)) { } TemplateElementIR(const std::string &type) - : referenced_type_(type) { } + : ReferencesOtherType(type) { } TemplateElementIR() { } - - const std::string &GetReferencedType() const { - return referenced_type_; - } - - protected: - std::string referenced_type_; }; class TemplateInfoIR { @@ -286,6 +283,10 @@ class TemplateInfoIR { return template_elements_; } + std::vector &GetTemplateElements() { + return template_elements_; + } + protected: std::vector template_elements_; }; @@ -300,15 +301,19 @@ class TemplatedArtifactIR { return template_info_.GetTemplateElements(); } + std::vector &GetTemplateElements() { + return template_info_.GetTemplateElements(); + } + protected: TemplateInfoIR template_info_; }; -class RecordFieldIR { +class RecordFieldIR : public ReferencesOtherType { public: RecordFieldIR(const std::string &name, const std::string &type, uint64_t offset, AccessSpecifierIR access) - : name_(name), referenced_type_(type), offset_(offset), + : ReferencesOtherType(type), name_(name), offset_(offset), access_(access) { } RecordFieldIR() { } @@ -317,10 +322,6 @@ class RecordFieldIR { return name_; } - const std::string &GetReferencedType() const { - return referenced_type_; - } - uint64_t GetOffset() const { return offset_; } @@ -331,8 +332,7 @@ class RecordFieldIR { protected: std::string name_; - std::string referenced_type_; - uint64_t offset_; + uint64_t offset_ = 0; AccessSpecifierIR access_; }; @@ -373,6 +373,10 @@ class RecordTypeIR: public TypeIR, public TemplatedArtifactIR, return bases_; } + std::vector &GetBases() { + return bases_; + } + void SetAccess(AccessSpecifierIR access) { access_ = access;} AccessSpecifierIR GetAccess() const { @@ -383,7 +387,11 @@ class RecordTypeIR: public TypeIR, public TemplatedArtifactIR, return fields_; } - LinkableMessageKind GetKind() const override { + std::vector &GetFields() { + return fields_; + } + + LinkableMessageKind GetKind() const override { return LinkableMessageKind::RecordTypeKind; } @@ -430,7 +438,7 @@ class EnumFieldIR { protected: std::string name_; - int value_; + int value_ = 0; }; class EnumTypeIR : public TypeIR, public TagTypeIR { @@ -442,7 +450,7 @@ class EnumTypeIR : public TypeIR, public TagTypeIR { void SetAccess(AccessSpecifierIR access) { access_ = access;} - LinkableMessageKind GetKind() const override { + LinkableMessageKind GetKind() const override { return LinkableMessageKind::EnumTypeKind; } @@ -514,8 +522,8 @@ class BuiltinTypeIR : public TypeIR { } protected: - bool is_unsigned_; - bool is_integral_type_; + bool is_unsigned_ = false; + bool is_integral_type_ = false; }; class LvalueReferenceTypeIR : public TypeIR { @@ -569,17 +577,9 @@ class QualifiedTypeIR : public TypeIR { bool is_volatile_; }; -class GlobalVarIR: public LinkableMessageIR { +class GlobalVarIR: public LinkableMessageIR , public ReferencesOtherType { public: // Add Methods to get information from the IR. - void SetReferencedType(const std::string &type) { - referenced_type_ = type; - } - - const std::string &GetReferencedType() const { - return referenced_type_; - } - void SetName(std::string &&name) { name_ = std::move(name); } @@ -601,27 +601,21 @@ class GlobalVarIR: public LinkableMessageIR { } protected: - std::string referenced_type_; // underlying type std::string name_; AccessSpecifierIR access_; }; -class ParamIR { +class ParamIR : public ReferencesOtherType { public: ParamIR(const std::string &type, bool is_default) : - referenced_type_(type) , is_default_(is_default) {} - - const std::string &GetReferencedType() const { - return referenced_type_; - } + ReferencesOtherType(type) , is_default_(is_default) {} bool GetIsDefault() const { return is_default_; } protected: - std::string referenced_type_; - bool is_default_; + bool is_default_ = false; }; class FunctionIR : public LinkableMessageIR, public TemplatedArtifactIR { @@ -654,6 +648,10 @@ class FunctionIR : public LinkableMessageIR, public TemplatedArtifactIR { return parameters_; } + std::vector &GetParameters() { + return parameters_; + } + void SetName(const std::string &name) { name_ = name; } @@ -728,9 +726,70 @@ class IRDumper { const std::string &dump_path_; }; +template +inline std::string GetReferencedTypeMapKey( + T &element) { + return element.GetReferencedType(); +} + +template <> +inline std::string GetReferencedTypeMapKey( + ArrayTypeIR &element) { + return element.GetReferencedType() + ":" + std::to_string(element.GetSize()); +} + +template <> +inline std::string GetReferencedTypeMapKey( + BuiltinTypeIR &element) { + return element.GetLinkerSetKey(); +} + +inline static std::string BoolToString(bool val) { + return val ? "true" : "false"; +} + +template <> +inline std::string GetReferencedTypeMapKey( + QualifiedTypeIR &element) { + return element.GetReferencedType() + BoolToString(element.IsRestricted()) + + BoolToString(element.IsVolatile()) + BoolToString(element.IsConst()); +} + +inline std::string GetODRListMapKey(const RecordTypeIR *record_type_ir) { + if (record_type_ir->IsAnonymous()) { + return record_type_ir->GetLinkerSetKey(); + } + return record_type_ir->GetUniqueId() + record_type_ir->GetSourceFile(); +} + +template +typename AbiElementMap::iterator AddToMapAndTypeGraph( + T &&element, AbiElementMap *map_to_update, + AbiElementMap *type_graph) { + auto it = map_to_update->emplace(GetReferencedTypeMapKey(element), + std::move(element)); + type_graph->emplace(it.first->second.GetSelfType(), + &(it.first->second)); + return it.first; +} + class TextFormatToIRReader { public: + struct MergeStatus { + // type_id_ always has the global_type_id corresponding to the type this + // MergeStatus corresponds to. For + // generic reference types (pointers, qual types, l(r)value references etc), + // this will be a proactively added type_id, which will be added to the + // parent type_graph if the we decide to add the referencing type to the + // parent post ODR checking. + bool was_newly_added_ = false; + std::string type_id_; + MergeStatus(bool was_newly_added, const std::string &type_id) + : was_newly_added_(was_newly_added), type_id_(type_id) { } + MergeStatus() { } + }; + TextFormatToIRReader(const std::set *exported_headers) : exported_headers_(exported_headers) { } @@ -784,6 +843,15 @@ class TextFormatToIRReader { return elf_objects_; } + const AbiElementMap &GetTypeGraph() const { + return type_graph_; + } + + const AbiElementUnorderedMap> & + GetODRListMap() const { + return odr_list_map_; + } + virtual bool ReadDump(const std::string &dump_file) = 0; template @@ -815,6 +883,101 @@ class TextFormatToIRReader { MergeElements(&qualified_types_, std::move(addend.qualified_types_)); } + void AddToODRListMap(const std::string &key, const TypeIR *value); + + template + MergeStatus MergeReferencingTypeInternalAndUpdateParent( + const TextFormatToIRReader &addend, const T *addend_node, + AbiElementMap *local_to_global_type_id_map, + AbiElementMap *parent_map, + const std::string &updated_self_type_id); + + MergeStatus DoesUDTypeODRViolationExist( + const TypeIR *ud_type, const TextFormatToIRReader &addend, + const std::string ud_type_unique_id, + AbiElementMap *local_to_global_type_id_map_); + + MergeStatus MergeReferencingTypeInternal( + const TextFormatToIRReader &addend, ReferencesOtherType *references_type, + AbiElementMap *local_to_global_type_id_map); + + MergeStatus MergeReferencingType( + const TextFormatToIRReader &addend, const TypeIR *addend_node, + AbiElementMap *local_to_global_type_id_map, + const std::string &updated_self_type_id); + + MergeStatus MergeGenericReferringType( + const TextFormatToIRReader &addend, const TypeIR *addend_node, + AbiElementMap *local_to_global_type_id_map); + + MergeStatus MergeTypeInternal( + const TypeIR *addend_node, const TextFormatToIRReader &addend, + AbiElementMap *local_to_global_type_id_map); + + MergeStatus MergeEnumType( + const EnumTypeIR *addend_node, const TextFormatToIRReader &addend, + AbiElementMap *local_to_global_type_id_map); + + void MergeEnumDependencies( + const TextFormatToIRReader &addend, EnumTypeIR *added_node, + AbiElementMap *local_to_global_type_id_map); + + MergeStatus MergeRecordAndDependencies( + const RecordTypeIR *addend_node, const TextFormatToIRReader &addend, + AbiElementMap *local_to_global_type_id_map); + + void MergeRecordDependencies( + const TextFormatToIRReader &addend, RecordTypeIR *added_node, + AbiElementMap *local_to_global_type_id_map); + + void MergeRecordFields( + const TextFormatToIRReader &addend, RecordTypeIR *added_node, + AbiElementMap *local_to_global_type_id_map); + + void MergeRecordCXXBases( + const TextFormatToIRReader &addend, RecordTypeIR *added_node, + AbiElementMap *local_to_global_type_id_map); + + void MergeRecordTemplateElements( + const TextFormatToIRReader &addend, RecordTypeIR *added_node, + AbiElementMap *local_to_global_type_id_map); + + MergeStatus IsBuiltinTypeNodePresent( + const BuiltinTypeIR *builtin_type, const TextFormatToIRReader &addend, + AbiElementMap *local_to_global_type_id_map); + + void MergeGlobalVariable( + const GlobalVarIR *addend_node, const TextFormatToIRReader &addend, + AbiElementMap *local_to_global_type_id_map); + + void MergeGlobalVariables( + const TextFormatToIRReader &addend, + AbiElementMap *local_to_global_type_id_map); + + void MergeFunctionDeps( + FunctionIR *added_node, const TextFormatToIRReader &addend, + AbiElementMap *local_to_global_type_id_map); + + void MergeFunction( + const FunctionIR *addend_node, const TextFormatToIRReader &addend, + AbiElementMap *local_to_global_type_id_map); + + void MergeGraphs(const TextFormatToIRReader &addend); + + void UpdateTextFormatToIRReaderTypeGraph( + const TypeIR *addend_node, const std::string &added_type_id, + AbiElementMap *local_to_global_type_id_map); + + MergeStatus IsTypeNodePresent( + const TypeIR *addend_node, const TextFormatToIRReader &addend, + AbiElementMap *local_to_global_type_id_map); + + MergeStatus MergeType(const TypeIR *addend_type, + const TextFormatToIRReader &addend, + AbiElementMap *merged_types_cache); + + std::string AllocateNewTypeId(); + static std::unique_ptr CreateTextFormatToIRReader( TextFormatIR text_format, const std::set *exported_headers = nullptr); @@ -827,10 +990,16 @@ class TextFormatToIRReader { std::make_move_iterator(addend.end())); } + AbiElementList record_types_list_; AbiElementMap functions_; AbiElementMap global_variables_; AbiElementMap record_types_; AbiElementMap enum_types_; + // These maps which contain generic referring types as values are used while + // looking up whether in the parent graph, a particular reffering type refers + // to a certain type id. The mechanism is useful while trying to determine + // whether a generic referring type needs to be newly added to the parent + // graph or not. AbiElementMap pointer_types_; AbiElementMap lvalue_reference_types_; AbiElementMap rvalue_reference_types_; @@ -839,7 +1008,12 @@ class TextFormatToIRReader { AbiElementMap qualified_types_; AbiElementMap elf_functions_; AbiElementMap elf_objects_; + // type-id -> LinkableMessageIR * map + AbiElementMap type_graph_; + // maps unique_id + source_file -> const TypeIR * + AbiElementUnorderedMap> odr_list_map_; const std::set *exported_headers_; + uint64_t max_type_id_ = 0; }; class DiffMessageIR { @@ -930,7 +1104,6 @@ class RecordFieldDiffIR { return new_field_; } - protected: const RecordFieldIR *old_field_; const RecordFieldIR *new_field_; }; diff --git a/vndk/tools/header-checker/header-abi-util/src/abi_diff_helpers.cpp b/vndk/tools/header-checker/header-abi-util/src/abi_diff_helpers.cpp new file mode 100644 index 0000000000000000000000000000000000000000..f0eec42f502cbc99b050f7f48003766ef9459e6d --- /dev/null +++ b/vndk/tools/header-checker/header-abi-util/src/abi_diff_helpers.cpp @@ -0,0 +1,736 @@ +#include +#include + +#include + +namespace abi_util { + +std::string Unwind(const std::deque *type_queue) { + if (!type_queue) { + return ""; + } + std::string stack_str; + std::deque type_queue_copy = *type_queue; + while (!type_queue_copy.empty()) { + stack_str += type_queue_copy.front() + "-> "; + type_queue_copy.pop_front(); + } + return stack_str; +} + +static void TypeQueueCheckAndPushBack(std::deque *type_queue, + const std::string &str) { + if (type_queue) { + type_queue->push_back(str); + } +} + +static void TypeQueueCheckAndPop(std::deque *type_queue) { + if (type_queue && !type_queue->empty()) { + type_queue->pop_back(); + } +} + +static bool IsAccessDownGraded(abi_util::AccessSpecifierIR old_access, + abi_util::AccessSpecifierIR new_access) { + bool access_downgraded = false; + switch (old_access) { + case abi_util::AccessSpecifierIR::ProtectedAccess: + if (new_access == abi_util::AccessSpecifierIR::PrivateAccess) { + access_downgraded = true; + } + break; + case abi_util::AccessSpecifierIR::PublicAccess: + if (new_access != abi_util::AccessSpecifierIR::PublicAccess) { + access_downgraded = true; + } + break; + default: + break; + } + return access_downgraded; +} + +static std::string ConvertTypeIdToString( + const AbiElementMap &type_graph, + const std::string &type_id) { + auto it = type_graph.find(type_id); + if (it != type_graph.end()) { + return it->second->GetName(); + } + return "type-unexported"; +} + +template +static void ReplaceReferencesOtherTypeIdWithName( + const AbiElementMap &type_graph, + Container &to_fix_elements) { + for (auto &element : to_fix_elements) { + element.SetReferencedType( + ConvertTypeIdToString(type_graph, element.GetReferencedType())); + } +} + +static void ReplaceEnumTypeIRTypeIdsWithTypeNames( + const AbiElementMap &type_graph, + EnumTypeIR *enum_type_ir) { + // Replace underlying type. + enum_type_ir->SetUnderlyingType( + ConvertTypeIdToString(type_graph, enum_type_ir->GetUnderlyingType())); +} + +static void ReplaceRecordTypeIRTypeIdsWithTypeNames( + const AbiElementMap &type_graph, + RecordTypeIR *record_type_ir) { + // Replace Fields + ReplaceReferencesOtherTypeIdWithName(type_graph, + record_type_ir->GetFields()); + // Replace template parameters + ReplaceReferencesOtherTypeIdWithName(type_graph, + record_type_ir->GetTemplateElements()); + // Replace bases + ReplaceReferencesOtherTypeIdWithName(type_graph, + record_type_ir->GetBases()); +} + +static void ReplaceGlobalVarTypeIdsWithTypeNames( + const AbiElementMap &type_graph, + GlobalVarIR *global_var_ir) { + // Replace referenced type id. + global_var_ir->SetReferencedType( + ConvertTypeIdToString(type_graph, global_var_ir->GetReferencedType())); +} + +static void ReplaceFunctionTypeIdsWithTypeNames( + const AbiElementMap &type_graph, FunctionIR *function_ir) { + // Replace return type + function_ir->SetReturnType( + ConvertTypeIdToString(type_graph, function_ir->GetReturnType())); + // Replace function parameters + ReplaceReferencesOtherTypeIdWithName(type_graph, + function_ir->GetParameters()); + // Replace function template parameters + ReplaceReferencesOtherTypeIdWithName(type_graph, + function_ir->GetTemplateElements()); +} + +void ReplaceTypeIdsWithTypeNames( + const AbiElementMap &type_graph, + LinkableMessageIR *lm) { + switch (lm->GetKind()) { + case FunctionKind: + ReplaceFunctionTypeIdsWithTypeNames(type_graph, + static_cast(lm)); + break; + case GlobalVarKind: + ReplaceGlobalVarTypeIdsWithTypeNames(type_graph, + static_cast(lm)); + break; + case RecordTypeKind: + ReplaceRecordTypeIRTypeIdsWithTypeNames(type_graph, + static_cast(lm)); + + break; + case EnumTypeKind: + ReplaceEnumTypeIRTypeIdsWithTypeNames(type_graph, + static_cast(lm)); + break; + default: + // This method should not be called on any other LinkableMessage + assert(0); + } +} + +void AbiDiffHelper::CompareEnumFields( + const std::vector &old_fields, + const std::vector &new_fields, + abi_util::EnumTypeDiffIR *enum_type_diff_ir) { + AbiElementMap old_fields_map; + AbiElementMap new_fields_map; + abi_util::AddToMap(&old_fields_map, old_fields, + [](const abi_util::EnumFieldIR *f) {return f->GetName();}, + [](const abi_util::EnumFieldIR *f) {return f;}); + + abi_util::AddToMap(&new_fields_map, new_fields, + [](const abi_util::EnumFieldIR *f) {return f->GetName();}, + [](const abi_util::EnumFieldIR *f) {return f;}); + + std::vector removed_fields = + abi_util::FindRemovedElements(old_fields_map, new_fields_map); + + std::vector added_fields = + abi_util::FindRemovedElements(new_fields_map, old_fields_map); + + enum_type_diff_ir->SetFieldsAdded(std::move(added_fields)); + + enum_type_diff_ir->SetFieldsRemoved(std::move(removed_fields)); + + std::vector> cf = + abi_util::FindCommonElements(old_fields_map, new_fields_map); + std::vector enum_field_diffs; + for (auto &&common_fields : cf) { + if (common_fields.first->GetValue() != common_fields.second->GetValue()) { + abi_util::EnumFieldDiffIR enum_field_diff_ir(common_fields.first, + common_fields.second); + enum_field_diffs.emplace_back(std::move(enum_field_diff_ir)); + } + } + enum_type_diff_ir->SetFieldsDiff(std::move(enum_field_diffs)); +} + +DiffStatus AbiDiffHelper::CompareEnumTypes( + const abi_util::EnumTypeIR *old_type, const abi_util::EnumTypeIR *new_type, + std::deque *type_queue, + abi_util::DiffMessageIR::DiffKind diff_kind) { + if (old_type->GetUniqueId() != new_type->GetUniqueId()) { + return DiffStatus::direct_diff; + } + auto enum_type_diff_ir = std::make_unique(); + enum_type_diff_ir->SetName(old_type->GetName()); + const std::string &old_underlying_type = + ConvertTypeIdToString(old_types_, old_type->GetUnderlyingType()); + const std::string &new_underlying_type = + ConvertTypeIdToString(new_types_, new_type->GetUnderlyingType()); + if (old_underlying_type != new_underlying_type) { + enum_type_diff_ir->SetUnderlyingTypeDiff( + std::make_unique>( + old_underlying_type, new_underlying_type)); + } + CompareEnumFields(old_type->GetFields(), new_type->GetFields(), + enum_type_diff_ir.get()); + if ((enum_type_diff_ir->IsExtended() || + enum_type_diff_ir->IsIncompatible()) && + (ir_diff_dumper_ && !ir_diff_dumper_->AddDiffMessageIR( + enum_type_diff_ir.get(), Unwind(type_queue), diff_kind))) { + llvm::errs() << "AddDiffMessage on EnumTypeDiffIR failed\n"; + ::exit(1); + } + return DiffStatus::no_diff; +} + +bool AbiDiffHelper::CompareVTableComponents( + const abi_util::VTableComponentIR &old_component, + const abi_util::VTableComponentIR &new_component) { + return old_component.GetName() == new_component.GetName() && + old_component.GetValue() == new_component.GetValue() && + old_component.GetKind() == new_component.GetKind(); +} + +bool AbiDiffHelper::CompareVTables( + const abi_util::RecordTypeIR *old_record, + const abi_util::RecordTypeIR *new_record) { + + const std::vector &old_components = + old_record->GetVTableLayout().GetVTableComponents(); + const std::vector &new_components = + new_record->GetVTableLayout().GetVTableComponents(); + if (old_components.size() > new_components.size()) { + // Something in the vtable got deleted. + return false; + } + uint32_t i = 0; + while (i < old_components.size()) { + auto &old_element = old_components.at(i); + auto &new_element = new_components.at(i); + if (!CompareVTableComponents(old_element, new_element)) { + return false; + } + i++; + } + return true; +} + +bool AbiDiffHelper::CompareSizeAndAlignment( + const abi_util::TypeIR *old_type, + const abi_util::TypeIR *new_type) { + return old_type->GetSize() == new_type->GetSize() && + old_type->GetAlignment() == new_type->GetAlignment(); +} + +DiffStatusPair> +AbiDiffHelper::CompareCommonRecordFields( + const abi_util::RecordFieldIR *old_field, + const abi_util::RecordFieldIR *new_field, + std::deque *type_queue, + abi_util::DiffMessageIR::DiffKind diff_kind) { + + DiffStatus field_diff_status = + CompareAndDumpTypeDiff(old_field->GetReferencedType(), + new_field->GetReferencedType(), + type_queue, diff_kind); + + if (old_field->GetOffset() != new_field->GetOffset() || + // TODO: Should this be an inquality check instead ? Some compilers can + // make signatures dependant on absolute values of access specifiers. + IsAccessDownGraded(old_field->GetAccess(), new_field->GetAccess()) || + (field_diff_status == DiffStatus::direct_diff)) { + return std::make_pair( + DiffStatus::direct_diff, + std::make_unique(old_field, new_field) + ); + } + return std::make_pair(field_diff_status, nullptr); +} + +DiffStatusPair, + std::vector>> +AbiDiffHelper::CompareRecordFields( + const std::vector &old_fields, + const std::vector &new_fields, + std::deque *type_queue, + abi_util::DiffMessageIR::DiffKind diff_kind) { + std::pair, + std::vector> diffed_and_removed_fields; + AbiElementMap old_fields_map; + AbiElementMap new_fields_map; + std::map old_fields_offset_map; + std::map new_fields_offset_map; + + abi_util::AddToMap( + &old_fields_map, old_fields, + [](const abi_util::RecordFieldIR *f) {return f->GetName();}, + [](const abi_util::RecordFieldIR *f) {return f;}); + abi_util::AddToMap( + &new_fields_map, new_fields, + [](const abi_util::RecordFieldIR *f) {return f->GetName();}, + [](const abi_util::RecordFieldIR *f) {return f;}); + abi_util::AddToMap( + &old_fields_offset_map, old_fields, + [](const abi_util::RecordFieldIR *f) {return f->GetOffset();}, + [](const abi_util::RecordFieldIR *f) {return f;}); + abi_util::AddToMap( + &new_fields_offset_map, new_fields, + [](const abi_util::RecordFieldIR *f) {return f->GetOffset();}, + [](const abi_util::RecordFieldIR *f) {return f;}); + // If a field is removed from the map field_name -> offset see if another + // field is present at the same offset and compare the size and type etc, + // remove it from the removed fields if they're compatible. + DiffStatus final_diff_status = DiffStatus::no_diff; + std::vector removed_fields = + abi_util::FindRemovedElements(old_fields_map, new_fields_map); + auto predicate = + [&](const abi_util::RecordFieldIR *removed_field) { + uint64_t old_field_offset = removed_field->GetOffset(); + auto corresponding_field_at_same_offset = + new_fields_offset_map.find(old_field_offset); + // Correctly reported as removed, so do not remove. + if (corresponding_field_at_same_offset == new_fields_offset_map.end()) { + return false; + } + auto comparison_result = CompareCommonRecordFields( + removed_field, corresponding_field_at_same_offset->second, + type_queue, diff_kind); + // No actual diff, so remove it. + return (comparison_result.second == nullptr); + }; + removed_fields.erase( + std::remove_if(removed_fields.begin(), removed_fields.end(), predicate), + removed_fields.end()); + + diffed_and_removed_fields.second = std::move(removed_fields); + std::vector> cf = + abi_util::FindCommonElements(old_fields_map, new_fields_map); + bool common_field_diff_exists = false; + for (auto &&common_fields : cf) { + auto diffed_field_ptr = CompareCommonRecordFields(common_fields.first, + common_fields.second, + type_queue, diff_kind); + if (!common_field_diff_exists && + (diffed_field_ptr.first & + (DiffStatus::direct_diff | DiffStatus::indirect_diff))) { + common_field_diff_exists = true; + } + if (diffed_field_ptr.second != nullptr) { + diffed_and_removed_fields.first.emplace_back( + std::move(*(diffed_field_ptr.second.release()))); + } + } + if (diffed_and_removed_fields.first.size() != 0 || + diffed_and_removed_fields.second.size() != 0) { + final_diff_status = DiffStatus::direct_diff; + } else if (common_field_diff_exists) { + final_diff_status = DiffStatus::indirect_diff; + } + return std::make_pair(final_diff_status, diffed_and_removed_fields); +} + +bool AbiDiffHelper::CompareBaseSpecifiers( + const std::vector &old_base_specifiers, + const std::vector &new_base_specifiers, + std::deque *type_queue, + abi_util::DiffMessageIR::DiffKind diff_kind) { + if (old_base_specifiers.size() != new_base_specifiers.size()) { + return false; + } + int i = 0; + while (i < old_base_specifiers.size()) { + if (CompareAndDumpTypeDiff(old_base_specifiers.at(i).GetReferencedType(), + new_base_specifiers.at(i).GetReferencedType(), + type_queue, diff_kind) == + DiffStatus::direct_diff || + (old_base_specifiers.at(i).GetAccess() != + new_base_specifiers.at(i).GetAccess())) { + return false; + } + i++; + } + return true; +} + +void AbiDiffHelper::CompareTemplateInfo( + const std::vector &old_template_elements, + const std::vector &new_template_elements, + std::deque *type_queue, + abi_util::DiffMessageIR::DiffKind diff_kind) { + uint32_t old_template_size = old_template_elements.size(); + uint32_t i = 0; + while (i < old_template_size) { + const abi_util::TemplateElementIR &old_template_element = + old_template_elements[i]; + const abi_util::TemplateElementIR &new_template_element = + new_template_elements[i]; + CompareAndDumpTypeDiff(old_template_element.GetReferencedType(), + new_template_element.GetReferencedType(), + type_queue, diff_kind); + i++; + } +} + +template +static std::vector ConvertToDiffContainerVector( + std::vector> &nc_vector) { + std::vector cptr_vec; + for (auto &e : nc_vector) { + cptr_vec.emplace_back(&e.first, &e.second); + } + return cptr_vec; +} + +template +static std::vector ConvertToConstPtrVector( + std::vector &nc_vector) { + std::vector cptr_vec; + for (auto &e : nc_vector) { + cptr_vec.emplace_back(&e); + } + return cptr_vec; +} + +std::vector AbiDiffHelper::FixupRemovedFieldTypeIds( + const std::vector &removed_fields) { + std::vector removed_fields_dup; + for (auto &removed_field : removed_fields) { + removed_fields_dup.emplace_back(*removed_field); + RecordFieldIR &it = removed_fields_dup[removed_fields_dup.size() -1]; + it.SetReferencedType( + ConvertTypeIdToString(old_types_, it.GetReferencedType())); + } + return removed_fields_dup; +} + +std::vector> +AbiDiffHelper::FixupDiffedFieldTypeIds( + const std::vector &field_diffs) { + std::vector> + diffed_fields_dup; + for (auto &field_diff : field_diffs) { + diffed_fields_dup.emplace_back(*(field_diff.old_field_), + *(field_diff.new_field_)); + auto it = diffed_fields_dup[diffed_fields_dup.size() - 1]; + abi_util::RecordFieldIR &old_field = it.first; + abi_util::RecordFieldIR &new_field = it.second; + old_field.SetReferencedType( + ConvertTypeIdToString(old_types_, old_field.GetReferencedType())); + new_field.SetReferencedType( + ConvertTypeIdToString(new_types_, new_field.GetReferencedType())); + } + return diffed_fields_dup; +} + +DiffStatus AbiDiffHelper::CompareRecordTypes( + const abi_util::RecordTypeIR *old_type, + const abi_util::RecordTypeIR *new_type, + std::deque *type_queue, + abi_util::DiffMessageIR::DiffKind diff_kind) { + auto record_type_diff_ir = std::make_unique(); + // Compare names. + if (!old_type->IsAnonymous() && !new_type->IsAnonymous() && + old_type->GetUniqueId() != new_type->GetUniqueId()) { + // Do not dump anything since the record types themselves are fundamentally + // different. + return DiffStatus::direct_diff; + } + DiffStatus final_diff_status = DiffStatus::no_diff; + record_type_diff_ir->SetName(old_type->GetName()); + if (old_type->GetAccess() != new_type->GetAccess()) { + final_diff_status = DiffStatus::indirect_diff; + record_type_diff_ir->SetAccessDiff( + std::make_unique( + old_type->GetAccess(), new_type->GetAccess())); + } + + if (!CompareSizeAndAlignment(old_type, new_type)) { + final_diff_status = DiffStatus::indirect_diff; + record_type_diff_ir->SetTypeDiff( + std::make_unique( + std::make_pair(old_type->GetSize(), new_type->GetSize()), + std::make_pair(old_type->GetAlignment(), + new_type->GetAlignment()))); + } + if (!CompareVTables(old_type, new_type)) { + final_diff_status = DiffStatus::indirect_diff; + record_type_diff_ir->SetVTableLayoutDiff( + std::make_unique( + old_type->GetVTableLayout(), new_type->GetVTableLayout())); + } + auto &old_fields_dup = old_type->GetFields(); + auto &new_fields_dup = new_type->GetFields(); + + auto field_status_and_diffs = + CompareRecordFields(old_fields_dup, new_fields_dup, + type_queue, diff_kind); + // TODO: combine this with base class diffs as well. + final_diff_status = final_diff_status | field_status_and_diffs.first; + auto field_diffs = field_status_and_diffs.second; + + std::vector old_bases = old_type->GetBases(); + std::vector new_bases = new_type->GetBases(); + + if (!CompareBaseSpecifiers(old_bases, new_bases, type_queue, diff_kind) && + ir_diff_dumper_) { + ReplaceReferencesOtherTypeIdWithName(old_types_, old_bases); + ReplaceReferencesOtherTypeIdWithName(new_types_, new_bases); + record_type_diff_ir->SetBaseSpecifierDiffs ( + std::make_unique(old_bases, + new_bases)); + } + if (ir_diff_dumper_) { + // Make copies of the fields removed and diffed, since we have to change + // type ids -> type strings. + std::vector> field_diff_dups = + FixupDiffedFieldTypeIds(field_diffs.first); + std::vector field_diffs_fixed = + ConvertToDiffContainerVector(field_diff_dups); + + std::vector field_removed_dups = + FixupRemovedFieldTypeIds(field_diffs.second); + std::vector fields_removed_fixed = + ConvertToConstPtrVector(field_removed_dups); + + record_type_diff_ir->SetFieldDiffs(std::move(field_diffs_fixed)); + record_type_diff_ir->SetFieldsRemoved(std::move(fields_removed_fixed)); + if (record_type_diff_ir->DiffExists() && + !ir_diff_dumper_->AddDiffMessageIR(record_type_diff_ir.get(), + Unwind(type_queue), diff_kind)) { + llvm::errs() << "AddDiffMessage on record type failed\n"; + ::exit(1); + } // No need to add a dump for an extension since records can't be "extended". + } + CompareTemplateInfo(old_type->GetTemplateElements(), + new_type->GetTemplateElements(), + type_queue, diff_kind); + + return + (final_diff_status & + (DiffStatus::direct_diff | DiffStatus::indirect_diff)) ? + DiffStatus::indirect_diff : DiffStatus::no_diff; +} + +DiffStatus AbiDiffHelper::CompareLvalueReferenceTypes( + const abi_util::LvalueReferenceTypeIR *old_type, + const abi_util::LvalueReferenceTypeIR *new_type, + std::deque *type_queue, + abi_util::DiffMessageIR::DiffKind diff_kind) { + return CompareAndDumpTypeDiff(old_type->GetReferencedType(), + new_type->GetReferencedType(), + type_queue, diff_kind); +} + +DiffStatus AbiDiffHelper::CompareRvalueReferenceTypes( + const abi_util::RvalueReferenceTypeIR *old_type, + const abi_util::RvalueReferenceTypeIR *new_type, + std::deque *type_queue, + abi_util::DiffMessageIR::DiffKind diff_kind) { + return CompareAndDumpTypeDiff(old_type->GetReferencedType(), + new_type->GetReferencedType(), + type_queue, diff_kind); +} + +DiffStatus AbiDiffHelper::CompareQualifiedTypes( + const abi_util::QualifiedTypeIR *old_type, + const abi_util::QualifiedTypeIR *new_type, + std::deque *type_queue, + abi_util::DiffMessageIR::DiffKind diff_kind) { + // If all the qualifiers are not the same, return direct_diff, else + // recursively compare the unqualified types. + if (old_type->IsConst() != new_type->IsConst() || + old_type->IsVolatile() != new_type->IsVolatile() || + old_type->IsRestricted() != new_type->IsRestricted()) { + return DiffStatus::direct_diff; + } + return CompareAndDumpTypeDiff(old_type->GetReferencedType(), + new_type->GetReferencedType(), + type_queue, diff_kind); +} + +DiffStatus AbiDiffHelper::ComparePointerTypes( + const abi_util::PointerTypeIR *old_type, + const abi_util::PointerTypeIR *new_type, + std::deque *type_queue, + abi_util::DiffMessageIR::DiffKind diff_kind) { + // The following need to be the same for two pointer types to be considered + // equivalent: + // 1) Number of pointer indirections are the same. + // 2) The ultimate pointee is the same. + assert(CompareSizeAndAlignment(old_type, new_type)); + return CompareAndDumpTypeDiff(old_type->GetReferencedType(), + new_type->GetReferencedType(), + type_queue, diff_kind); +} + +DiffStatus AbiDiffHelper::CompareBuiltinTypes( + const abi_util::BuiltinTypeIR *old_type, + const abi_util::BuiltinTypeIR *new_type) { + // If the size, alignment and is_unsigned are the same, return no_diff + // else return direct_diff. + uint64_t old_signedness = old_type->IsUnsigned(); + uint64_t new_signedness = new_type->IsUnsigned(); + + if (!CompareSizeAndAlignment(old_type, new_type) || + old_signedness != new_signedness || + old_type->IsIntegralType() != new_type->IsIntegralType()) { + return DiffStatus::direct_diff; + } + return DiffStatus::no_diff; +} + +DiffStatus AbiDiffHelper::CompareFunctionParameters( + const std::vector &old_parameters, + const std::vector &new_parameters, + std::deque *type_queue, + abi_util::DiffMessageIR::DiffKind diff_kind) { + size_t old_parameters_size = old_parameters.size(); + if (old_parameters_size != new_parameters.size()) { + return DiffStatus::direct_diff; + } + uint64_t i = 0; + while (i < old_parameters_size) { + const abi_util::ParamIR &old_parameter = old_parameters.at(i); + const abi_util::ParamIR &new_parameter = new_parameters.at(i); + if ((CompareAndDumpTypeDiff(old_parameter.GetReferencedType(), + new_parameter.GetReferencedType(), + type_queue, diff_kind) == + DiffStatus::direct_diff) || + (old_parameter.GetIsDefault() != new_parameter.GetIsDefault())) { + return DiffStatus::direct_diff; + } + i++; + } + return DiffStatus::no_diff; +} + +DiffStatus AbiDiffHelper::CompareAndDumpTypeDiff( + const abi_util::TypeIR *old_type, const abi_util::TypeIR *new_type, + abi_util::LinkableMessageKind kind, std::deque *type_queue, + abi_util::DiffMessageIR::DiffKind diff_kind) { + if (kind == abi_util::LinkableMessageKind::BuiltinTypeKind) { + return CompareBuiltinTypes( + static_cast(old_type), + static_cast(new_type)); + } + + if (kind == abi_util::LinkableMessageKind::QualifiedTypeKind) { + return CompareQualifiedTypes( + static_cast(old_type), + static_cast(new_type), + type_queue, diff_kind); + } + + if (kind == abi_util::LinkableMessageKind::EnumTypeKind) { + return CompareEnumTypes( + static_cast(old_type), + static_cast(new_type), + type_queue, diff_kind); + + } + + if (kind == abi_util::LinkableMessageKind::LvalueReferenceTypeKind) { + return CompareLvalueReferenceTypes( + static_cast(old_type), + static_cast(new_type), + type_queue, diff_kind); + + } + + if (kind == abi_util::LinkableMessageKind::RvalueReferenceTypeKind) { + return CompareRvalueReferenceTypes( + static_cast(old_type), + static_cast(new_type), + type_queue, diff_kind); + } + + if (kind == abi_util::LinkableMessageKind::PointerTypeKind) { + return ComparePointerTypes( + static_cast(old_type), + static_cast(new_type), + type_queue, diff_kind); + } + + if (kind == abi_util::LinkableMessageKind::RecordTypeKind) { + return CompareRecordTypes( + static_cast(old_type), + static_cast(new_type), + type_queue, diff_kind); + } + return DiffStatus::no_diff; +} + +static DiffStatus CompareDistinctKindMessages( + const abi_util::TypeIR *old_type, const abi_util::TypeIR *new_type) { + // For these types to be considered ABI compatible, the very least requirement + // is that their sizes and alignments should be equal. + // TODO: Fill in + return DiffStatus::direct_diff; +} + +DiffStatus AbiDiffHelper::CompareAndDumpTypeDiff( + const std::string &old_type_id, const std::string &new_type_id, + std::deque *type_queue, + abi_util::DiffMessageIR::DiffKind diff_kind) { + + // Check the map for type ids which have already been compared + // These types have already been diffed, return without further comparison. + if (!type_cache_->insert(old_type_id + new_type_id).second) { + return DiffStatus::no_diff; + } else { + TypeQueueCheckAndPushBack(type_queue, + ConvertTypeIdToString(old_types_,old_type_id)); + } + AbiElementMap::const_iterator old_it = + old_types_.find(old_type_id); + AbiElementMap::const_iterator new_it = + new_types_.find(new_type_id); + if (old_it == old_types_.end() || new_it == new_types_.end()) { + TypeQueueCheckAndPop(type_queue); + // One of the types were hidden, we cannot compare further. + return DiffStatus::no_diff; + } + abi_util::LinkableMessageKind old_kind = + old_it->second->GetKind(); + abi_util::LinkableMessageKind new_kind = + new_it->second->GetKind(); + DiffStatus diff_status = DiffStatus::no_diff; + if (old_kind != new_kind) { + diff_status = CompareDistinctKindMessages(old_it->second, new_it->second); + } else { + diff_status = CompareAndDumpTypeDiff(old_it->second , new_it->second , + old_kind, type_queue, diff_kind); + } + TypeQueueCheckAndPop(type_queue); + return diff_status; +} + +} // namespace abi_util diff --git a/vndk/tools/header-checker/header-abi-util/src/ir_representation.cpp b/vndk/tools/header-checker/header-abi-util/src/ir_representation.cpp index f82046a272f7caa6d095880ccb35890e4eeb4c1b..44538b6b2a6df474a50ec30ea03ed23f2c5e0010 100644 --- a/vndk/tools/header-checker/header-abi-util/src/ir_representation.cpp +++ b/vndk/tools/header-checker/header-abi-util/src/ir_representation.cpp @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include #include #include @@ -32,6 +33,8 @@ namespace abi_util { +using MergeStatus = TextFormatToIRReader::MergeStatus; + std::unique_ptr IRDumper::CreateIRDumper( TextFormatIR text_format, const std::string &dump_path) { switch (text_format) { @@ -69,5 +72,484 @@ TextFormatToIRReader::CreateTextFormatToIRReader( } } +void TextFormatToIRReader::AddToODRListMap( + const std::string &key, + const TypeIR *value) { + auto map_it = odr_list_map_.find(key); + if (map_it == odr_list_map_.end()) { + odr_list_map_.emplace(key, std::list({value})); + return; + } + odr_list_map_[key].emplace_back(value); +} + +MergeStatus TextFormatToIRReader::IsBuiltinTypeNodePresent( + const BuiltinTypeIR *builtin_type, const TextFormatToIRReader &addend, + AbiElementMap *local_to_global_type_id_map) { + + std::string builtin_linker_set_key = builtin_type->GetLinkerSetKey(); + auto builtin_it = builtin_types_.find(builtin_linker_set_key); + if (builtin_it != builtin_types_.end()) { + return MergeStatus(false, builtin_it->second.GetSelfType()); + } + // Add this builtin type to the parent graph's builtin_types_ map. + // Before that, correct the type id of the builtin-type. + const std::string &local_type_id = builtin_type->GetSelfType(); + std::string builtin_global_type_id = AllocateNewTypeId(); + auto it = builtin_types_.emplace(builtin_linker_set_key, *builtin_type); + it.first->second.SetSelfType(builtin_global_type_id); + it.first->second.SetReferencedType(builtin_global_type_id); + type_graph_.emplace(builtin_global_type_id, &((it.first)->second)); + + MergeStatus merge_status(true, builtin_global_type_id); + local_to_global_type_id_map->emplace(local_type_id, merge_status); + return merge_status; +} + +MergeStatus TextFormatToIRReader::DoesUDTypeODRViolationExist( + const TypeIR *ud_type, const TextFormatToIRReader &addend, + const std::string ud_type_unique_id_and_source, + AbiElementMap *local_to_global_type_id_map_) { + // Per entry in the map : + // /-----------------------------------------------------------------------\ + // | UDType->UniqueTagId + UdType->source File => list(const UDTypeIR *)| + // \-----------------------------------------------------------------------/ + auto it = odr_list_map_.find(ud_type_unique_id_and_source); + if (it == odr_list_map_.end()) { + // Calling this an ODR violation even though it means no UD with the same + // name + source combination was seen in the parent graph. The type-id + // passed does not matter since was_newly_added_ is true, the type will get + // allocated a new type id. + return MergeStatus(true, ""); + } + std::set type_cache; + AbiDiffHelper diff_helper(type_graph_, addend.type_graph_, &type_cache, + nullptr, local_to_global_type_id_map_); + for (auto &contender_ud : it->second) { + if (diff_helper.CompareAndDumpTypeDiff(contender_ud->GetSelfType(), + ud_type->GetSelfType()) + == DiffStatus::no_diff) { + local_to_global_type_id_map_->emplace(ud_type->GetSelfType(), + MergeStatus( + false, + contender_ud->GetSelfType())); + return MergeStatus(false, contender_ud->GetSelfType()); + } + } +#ifdef DEBUG + llvm::errs() << "ODR violation detected for :" << ud_type->GetName() << "\n"; +#endif + return MergeStatus(true, (*(it->second.begin()))->GetSelfType()); +} + +MergeStatus TextFormatToIRReader::IsTypeNodePresent( + const TypeIR *addend_node, const TextFormatToIRReader &addend, + AbiElementMap *local_to_global_type_id_map) { + std::string unique_type_id; + switch(addend_node->GetKind()) { + case RecordTypeKind: + unique_type_id = + GetODRListMapKey(static_cast(addend_node)); + break; + case EnumTypeKind: + unique_type_id = + static_cast( + addend_node)->GetUniqueId() + addend_node->GetSourceFile(); + break; + default: + // We add the type proactively. + return MergeStatus(true, "type-hidden"); + } + // Every other type is a referencing type / builtin type, so it is proactively + // added by returning MergeStatus with was_newly_added_ = true. + return DoesUDTypeODRViolationExist( + addend_node, addend, unique_type_id, local_to_global_type_id_map); +} + +void TextFormatToIRReader::UpdateTextFormatToIRReaderTypeGraph( + const TypeIR *addend_node, const std::string &added_type_id, + AbiElementMap *local_to_global_type_id_map) { + +} + +// This method merges the type referenced by 'references_type' into the parent +// graph. It also corrects the referenced_type field in the references_type +// object passed and returns the merge status of the *referenced type*. +MergeStatus TextFormatToIRReader::MergeReferencingTypeInternal( + const TextFormatToIRReader &addend, + ReferencesOtherType *references_type, + AbiElementMap *local_to_global_type_id_map) { + // First look in the local_to_global_type_id_map for the referenced type's + // id. + const std::string &referenced_type_id = + references_type->GetReferencedType(); + auto local_to_global_it = local_to_global_type_id_map->find( + referenced_type_id); + if (local_to_global_it != local_to_global_type_id_map->end()) { + // The type was already added to the parent graph. So change the + // referenced type to the global type id. + references_type->SetReferencedType(local_to_global_it->second.type_id_); + return local_to_global_it->second; + } + // If that did not go through, look at the addend's type_map_ and get the + // TypeIR* and call MergeType on it. + auto local_type_it = addend.type_graph_.find(referenced_type_id); + if (local_type_it != addend.type_graph_.end()) { + // We don't care about merge_status.was_newly_added since we wouldn't have + // gotten this far if we weren't adding this. + MergeStatus merge_status = + MergeType(local_type_it->second, addend, + local_to_global_type_id_map); + const std::string &global_type_id = merge_status.type_id_; + references_type->SetReferencedType(global_type_id); + return merge_status; + } + // The referenced type was hidden, so just set it to type-hidden. + const std::string &hidden_type_id = AllocateNewTypeId(); + references_type->SetReferencedType(hidden_type_id); + return MergeStatus(true, hidden_type_id); +} + +void TextFormatToIRReader::MergeRecordFields( + const TextFormatToIRReader &addend, RecordTypeIR *added_node, + AbiElementMap *local_to_global_type_id_map) { + for(auto &field : added_node->GetFields()) { + MergeReferencingTypeInternal(addend, &field, local_to_global_type_id_map); + } +} + +void TextFormatToIRReader::MergeRecordCXXBases( + const TextFormatToIRReader &addend, RecordTypeIR *added_node, + AbiElementMap *local_to_global_type_id_map) { + for(auto &base : added_node->GetBases()) { + MergeReferencingTypeInternal(addend, &base, local_to_global_type_id_map); + } +} + +void TextFormatToIRReader::MergeRecordTemplateElements( + const TextFormatToIRReader &addend, RecordTypeIR *added_node, + AbiElementMap *local_to_global_type_id_map) { + for(auto &template_element : added_node->GetTemplateElements()) { + MergeReferencingTypeInternal(addend, &template_element, + local_to_global_type_id_map); + } +} + +void TextFormatToIRReader::MergeRecordDependencies( + const TextFormatToIRReader &addend, RecordTypeIR *added_node, + AbiElementMap *local_to_global_type_id_map) { + // First call MergeType on all its fields. + MergeRecordFields(addend, added_node, local_to_global_type_id_map); + + // Call MergeType on CXXBases of the record. + MergeRecordCXXBases(addend, added_node, local_to_global_type_id_map); + + MergeRecordTemplateElements(addend, added_node, local_to_global_type_id_map); +} + +// This method is necessarily going to have a was_newly_merged_ = true in its +// MergeStatus return. So it necessarily merges a new RecordType. +MergeStatus TextFormatToIRReader::MergeRecordAndDependencies( + const RecordTypeIR *addend_node, const TextFormatToIRReader &addend, + AbiElementMap *local_to_global_type_id_map) { + // Copy the record to the parent TextFormatReader. + std::string added_type_id = AllocateNewTypeId(); + // Add the record with type-id to the types_graph_, since if there are generic + // reference types which refer to the record being added, they'll need to find + // it's id in the map. + // Add record to the parent graph. + RecordTypeIR record_type_ir = *addend_node; + record_type_ir.SetSelfType(added_type_id); + record_type_ir.SetReferencedType(added_type_id); + auto it = AddToMapAndTypeGraph(std::move(record_type_ir), &record_types_, + &type_graph_); + // Add to faciliate ODR checking. + const std::string &key = GetODRListMapKey(&(it->second)); + MergeStatus record_merge_status = MergeStatus(true, added_type_id); + AddToODRListMap(key, &(it->second)); + local_to_global_type_id_map->emplace(addend_node->GetSelfType(), + record_merge_status); + MergeRecordDependencies(addend, &(it->second), local_to_global_type_id_map); + return record_merge_status; +} + +void TextFormatToIRReader::MergeEnumDependencies( + const TextFormatToIRReader &addend, EnumTypeIR *added_node, + AbiElementMap *local_to_global_type_id_map) { + const std::string underlying_type_id = added_node->GetUnderlyingType(); + // Get the underlying type, it nessarily has to be present in the addend's + // type graph since builtin types can't be hidden. Call MergeType on it and + // change the underlying type to that. + auto it = addend.type_graph_.find(underlying_type_id); + if (it == addend.type_graph_.end()) { + llvm::errs() << "Enum underlying types should not be hidden\n"; + ::exit(1); + } + MergeStatus merge_status = MergeType(it->second, addend, + local_to_global_type_id_map); + added_node->SetUnderlyingType(merge_status.type_id_); +} + +// This method is necessarily going to have a was_newly_merged_ = true in its +// MergeStatus return. So it necessarily merges a new EnumType. +MergeStatus TextFormatToIRReader::MergeEnumType( + const EnumTypeIR *addend_node, const TextFormatToIRReader &addend, + AbiElementMap *local_to_global_type_id_map) { + + std::string added_type_id = AllocateNewTypeId(); + EnumTypeIR enum_type_ir = *addend_node; + enum_type_ir.SetSelfType(added_type_id); + enum_type_ir.SetReferencedType(added_type_id); + auto it = AddToMapAndTypeGraph(std::move(enum_type_ir), &enum_types_, + &type_graph_); + // Add to faciliate ODR checking. + std::string key = it->second.GetUniqueId() + it->second.GetSourceFile(); + AddToODRListMap(key, &(it->second)); + MergeStatus enum_merge_status = MergeStatus(true, added_type_id); + local_to_global_type_id_map->emplace(addend_node->GetSelfType(), + enum_merge_status); + MergeEnumDependencies(addend, &(it->second), local_to_global_type_id_map); + return enum_merge_status; +} + +template +MergeStatus TextFormatToIRReader::MergeReferencingTypeInternalAndUpdateParent( + const TextFormatToIRReader &addend, const T *addend_node, + AbiElementMap *local_to_global_type_id_map, + AbiElementMap *parent_map, const std::string &updated_self_type_id) { + MergeStatus merge_status; + uint64_t old_max_type_id = max_type_id_; + // Create copy of addend_node + T added_node = + *(addend_node); + added_node.SetSelfType(updated_self_type_id); + // The merge status returned is the merge status of the referenced type. + merge_status = MergeReferencingTypeInternal(addend, &added_node, + local_to_global_type_id_map); + if (merge_status.was_newly_added_) { + // Emplace to map (type-referenced -> Referencing type) + AddToMapAndTypeGraph(std::move(added_node), parent_map, + &type_graph_); + return MergeStatus(true, updated_self_type_id); + } + // The type that the added_node references was not newly added to the parent + // graph. However, we still might need to add the added_node to the parent + // graph, since for the particular 'Kind' of the added_node, it may not be + // present in the parent graph. This will be determined by looking at the + // appropriate 'type-referenced' -> TypeElement map in the parent for the + // type-id returned by the MergeStatus. If the map doesn't have an entry for + // the type-id returned by the MergeStatus, the added_type is not present in + // the parent graph and needs to be 'newly' added. We also need to modify the + // global type id in the local_to_global_type_id map. The added_node should + // already have it's self_type and referenced_type fields fixed up. + // We maintain a rollback id to have contiguous type ids. + max_type_id_ = old_max_type_id; + // Try finding the referenced_type is referred to by any referencing type + // of the same kind in the parent graph. + auto it = parent_map->find(GetReferencedTypeMapKey(added_node)); + if (it == parent_map->end()) { + // There was no counterpart found for the added_node's type Kind referencing + // the referenced type, so we added it to the parent and also updated the + // local_to_global_type_id_map's global_id value. + AddToMapAndTypeGraph(std::move(added_node), parent_map, + &type_graph_); + + merge_status = MergeStatus(true, updated_self_type_id); + return merge_status; + } + // Update local_to_global_type_id map's MergeStatus.was_newly_added value for + // this key with false since this was node was not newly added. + // We never remove anything from the local_to_global_type_id_map, what's + // the point ? Since you store the decision of whether the type was newly + // added or not. It's global type id is the type-id of the element found + // in the parent map which refers to the added_node's modified + // referenced_type. + merge_status = MergeStatus(false, it->second.GetSelfType()); + (*local_to_global_type_id_map)[addend_node->GetSelfType()] = + merge_status; + return merge_status; +} + +MergeStatus TextFormatToIRReader::MergeReferencingType( + const TextFormatToIRReader &addend, const TypeIR *addend_node, + AbiElementMap *local_to_global_type_id_map, + const std::string &updated_self_type_id) { + switch (addend_node->GetKind()) { + case PointerTypeKind: + return MergeReferencingTypeInternalAndUpdateParent( + addend, static_cast(addend_node), + local_to_global_type_id_map, &pointer_types_, updated_self_type_id); + case QualifiedTypeKind: + return MergeReferencingTypeInternalAndUpdateParent( + addend, static_cast(addend_node), + local_to_global_type_id_map, &qualified_types_, updated_self_type_id); + case ArrayTypeKind: + return MergeReferencingTypeInternalAndUpdateParent( + addend, static_cast(addend_node), + local_to_global_type_id_map, &array_types_, updated_self_type_id); + case LvalueReferenceTypeKind: + return MergeReferencingTypeInternalAndUpdateParent( + addend, static_cast(addend_node), + local_to_global_type_id_map, &lvalue_reference_types_, + updated_self_type_id); + case RvalueReferenceTypeKind: + return MergeReferencingTypeInternalAndUpdateParent( + addend, static_cast(addend_node), + local_to_global_type_id_map, &rvalue_reference_types_, + updated_self_type_id); + default: + // Only referencing types + assert(0); + } +} + +// This method creates a new node for the addend node in the graph if MergeType +// on the reference returned a MergeStatus with was_newly_added_ = true. +MergeStatus TextFormatToIRReader::MergeGenericReferringType( + const TextFormatToIRReader &addend, const TypeIR *addend_node, + AbiElementMap *local_to_global_type_id_map) { + // First add the type 'pro-actively'. We need to do this since we'll need to + // fill in 'referenced-type' fields in all this type's descendants and + // descendants which are compound types (records), can refer to this type. + std::string added_type_id = AllocateNewTypeId(); + // Add the added record type to the local_to_global_type_id_map + local_to_global_type_id_map->emplace(addend_node->GetSelfType(), + MergeStatus(true, added_type_id)); + return MergeReferencingType(addend, addend_node, local_to_global_type_id_map, + added_type_id); +} + +MergeStatus TextFormatToIRReader::MergeTypeInternal( + const TypeIR *addend_node, const TextFormatToIRReader &addend, + AbiElementMap *local_to_global_type_id_map) { + switch(addend_node->GetKind()) { + case BuiltinTypeKind: + return IsBuiltinTypeNodePresent( + static_cast(addend_node), addend, + local_to_global_type_id_map); + break; + case RecordTypeKind: + return MergeRecordAndDependencies( + static_cast(addend_node), + addend, local_to_global_type_id_map); + case EnumTypeKind: + return MergeEnumType(static_cast( + addend_node), addend, local_to_global_type_id_map); + default: + return MergeGenericReferringType(addend, addend_node, + local_to_global_type_id_map); + } + assert(0); +} + +// TODO: TextFormatToIRReader addend should really be const, since we aren't going to +// modify it, since we need to do ODR checking +MergeStatus TextFormatToIRReader::MergeType( + const TypeIR *addend_node, + const TextFormatToIRReader &addend, + AbiElementMap *local_to_global_type_id_map) { + // Check if the addend type is already in the parent graph. Since we're + // going to traverse all the dependencies add whichever ones are not in the + // parent graph. This does not add the node itself though. + auto type_it = + local_to_global_type_id_map->find(addend_node->GetSelfType()); + if (type_it != local_to_global_type_id_map->end()) { + return type_it->second; + } + + MergeStatus merge_status = IsTypeNodePresent(addend_node, addend, + local_to_global_type_id_map); + if (!merge_status.was_newly_added_) { + return merge_status; + } + merge_status = MergeTypeInternal(addend_node, addend, + local_to_global_type_id_map); + return merge_status; +} + +void TextFormatToIRReader::MergeFunctionDeps( + FunctionIR *added_node, const TextFormatToIRReader &addend, + AbiElementMap *local_to_global_type_id_map) { + // Merge the return type first. + auto ret_type_it = addend.type_graph_.find(added_node->GetReturnType()); + if (ret_type_it == addend.type_graph_.end()) { + // Hidden types aren't officially added to the parent since there is + // nothing actually backing it. We assign a type-id. + added_node->SetReturnType(AllocateNewTypeId()); + } else { + MergeStatus ret_merge_status = MergeType(ret_type_it->second, addend, + local_to_global_type_id_map); + added_node->SetReturnType(ret_merge_status.type_id_); + } + // Merge and fix parameters. + for (auto ¶m : added_node->GetParameters()) { + MergeReferencingTypeInternal(addend, ¶m, local_to_global_type_id_map); + } + // Merge and fix template parameters + for (auto &template_element : added_node->GetTemplateElements()) { + MergeReferencingTypeInternal(addend, &template_element, + local_to_global_type_id_map); + } +} + +template +static bool IsLinkableMessagePresent(const LinkableMessageIR *lm, + const AbiElementMap &message_map) { + return (message_map.find(lm->GetLinkerSetKey()) != message_map.end()); +} + +void TextFormatToIRReader::MergeFunction( + const FunctionIR *addend_node, const TextFormatToIRReader &addend, + AbiElementMap *local_to_global_type_id_map) { + const std::string &function_linkage_name = addend_node->GetLinkerSetKey(); + if (IsLinkableMessagePresent(addend_node, functions_)) { + // The functions and all of its dependencies have already been added. + // No two globally visible functions can have the same symbol name. + return; + } + FunctionIR function_ir = *addend_node; + MergeFunctionDeps(&function_ir, addend, local_to_global_type_id_map); + // Add it to the parent's function map. + functions_.emplace(function_linkage_name, std::move(function_ir)); +} + +std::string TextFormatToIRReader::AllocateNewTypeId() { + return "type-" + std::to_string(++max_type_id_); +} + +void TextFormatToIRReader::MergeGlobalVariable( + const GlobalVarIR *addend_node, const TextFormatToIRReader &addend, + AbiElementMap *local_to_global_type_id_map) { + const std::string &global_variable_linkage_name = + addend_node->GetLinkerSetKey(); + if (IsLinkableMessagePresent(addend_node, global_variables_)) { + // The global variable and all of its dependencies have already been added. + return; + } + GlobalVarIR global_variable_ir = *addend_node; + MergeReferencingTypeInternal(addend, &global_variable_ir, + local_to_global_type_id_map); + global_variables_.emplace(global_variable_linkage_name, + std::move(global_variable_ir)); +} + +void TextFormatToIRReader::MergeGraphs(const TextFormatToIRReader &addend) { + // Iterate through nodes of addend reader and merge them. + // Keep a merged types cache since if a type is merged, so will all of its + // dependencies which weren't already merged. + AbiElementMap merged_types_cache; + + for (auto &&type_ir : addend.type_graph_) { + MergeType(type_ir.second, addend, &merged_types_cache); + } + + for (auto &&function_ir : addend.functions_) { + MergeFunction(&function_ir.second, addend, &merged_types_cache); + } + + for (auto &&global_var_ir : addend.global_variables_) { + MergeGlobalVariable(&global_var_ir.second, addend, &merged_types_cache); + } +} } // namespace abi_util diff --git a/vndk/tools/header-checker/header-abi-util/src/ir_representation_protobuf.cpp b/vndk/tools/header-checker/header-abi-util/src/ir_representation_protobuf.cpp index 3dbc0cdf206cb0d4db584d178fd17e4e014f732a..f18e2af77070b6d9c2dbca366e5639269108bae9 100644 --- a/vndk/tools/header-checker/header-abi-util/src/ir_representation_protobuf.cpp +++ b/vndk/tools/header-checker/header-abi-util/src/ir_representation_protobuf.cpp @@ -40,6 +40,7 @@ void ProtobufTextFormatToIRReader::ReadTypeInfo( typep->SetName(type_info.linker_set_key()); typep->SetSourceFile(type_info.source_file()); typep->SetReferencedType(type_info.referenced_type()); + typep->SetSelfType(type_info.self_type()); typep->SetSize(type_info.size()); typep->SetAlignment(type_info.alignment()); } @@ -53,7 +54,6 @@ bool ProtobufTextFormatToIRReader::ReadDump(const std::string &dump_file) { llvm::errs() << "Failed to parse protobuf TextFormat file\n"; return false; } - ReadFunctions(tu); ReadGlobalVariables(tu); @@ -210,8 +210,8 @@ void ProtobufTextFormatToIRReader::ReadPointerTypes( if (!IsPresentInExportedHeaders(pointer_type_ir, exported_headers_)) { continue; } - pointer_types_.insert( - {pointer_type_ir.GetLinkerSetKey(), std::move(pointer_type_ir)}); + AddToMapAndTypeGraph(std::move(pointer_type_ir), &pointer_types_, + &type_graph_); } } @@ -222,8 +222,8 @@ void ProtobufTextFormatToIRReader::ReadBuiltinTypes( ReadTypeInfo(builtin_type_protobuf.type_info(), &builtin_type_ir); builtin_type_ir.SetSignedness(builtin_type_protobuf.is_unsigned()); builtin_type_ir.SetIntegralType(builtin_type_protobuf.is_integral()); - builtin_types_.insert( - {builtin_type_ir.GetLinkerSetKey(), std::move(builtin_type_ir)}); + AddToMapAndTypeGraph(std::move(builtin_type_ir), &builtin_types_, + &type_graph_); } } @@ -239,8 +239,8 @@ void ProtobufTextFormatToIRReader::ReadQualifiedTypes( if (!IsPresentInExportedHeaders(qualified_type_ir, exported_headers_)) { continue; } - qualified_types_.insert( - {qualified_type_ir.GetLinkerSetKey(), std::move(qualified_type_ir)}); + AddToMapAndTypeGraph(std::move(qualified_type_ir), &qualified_types_, + &type_graph_); } } @@ -252,8 +252,8 @@ void ProtobufTextFormatToIRReader::ReadArrayTypes( if (!IsPresentInExportedHeaders(array_type_ir, exported_headers_)) { continue; } - array_types_.insert( - {array_type_ir.GetLinkerSetKey(), std::move(array_type_ir)}); + AddToMapAndTypeGraph(std::move(array_type_ir), &array_types_, + &type_graph_); } } @@ -267,9 +267,8 @@ void ProtobufTextFormatToIRReader::ReadLvalueReferenceTypes( exported_headers_)) { continue; } - lvalue_reference_types_.insert( - {lvalue_reference_type_ir.GetLinkerSetKey(), - std::move(lvalue_reference_type_ir)}); + AddToMapAndTypeGraph(std::move(lvalue_reference_type_ir), + &lvalue_reference_types_, &type_graph_); } } @@ -283,9 +282,8 @@ void ProtobufTextFormatToIRReader::ReadRvalueReferenceTypes( exported_headers_)) { continue; } - rvalue_reference_types_.insert( - {rvalue_reference_type_ir.GetLinkerSetKey(), - std::move(rvalue_reference_type_ir)}); + AddToMapAndTypeGraph(std::move(rvalue_reference_type_ir), + &rvalue_reference_types_, &type_graph_); } } @@ -307,8 +305,10 @@ void ProtobufTextFormatToIRReader::ReadRecordTypes( if (!IsPresentInExportedHeaders(record_type_ir, exported_headers_)) { continue; } - record_types_.insert( - {record_type_ir.GetLinkerSetKey(), std::move(record_type_ir)}); + auto it = AddToMapAndTypeGraph(std::move(record_type_ir), &record_types_, + &type_graph_); + const std::string &key = GetODRListMapKey(&(it->second)); + AddToODRListMap(key, &(it->second)); } } @@ -319,8 +319,10 @@ void ProtobufTextFormatToIRReader::ReadEnumTypes( if (!IsPresentInExportedHeaders(enum_type_ir, exported_headers_)) { continue; } - enum_types_.insert( - {enum_type_ir.GetLinkerSetKey(), std::move(enum_type_ir)}); + auto it = AddToMapAndTypeGraph(std::move(enum_type_ir), &enum_types_, + &type_graph_); + AddToODRListMap(it->second.GetUniqueId() + it->second.GetSourceFile(), + (&it->second)); } } @@ -368,6 +370,7 @@ bool IRToProtobufConverter::AddTypeInfo( type_info->set_size(typep->GetSize()); type_info->set_alignment(typep->GetAlignment()); type_info->set_referenced_type(typep->GetReferencedType()); + type_info->set_self_type(typep->GetSelfType()); return true; } diff --git a/vndk/tools/header-checker/proto/abi_dump.proto b/vndk/tools/header-checker/proto/abi_dump.proto index 2d1772bdbc7cb59cbcea480f44a82e867174db52..af619cd12fc6ee036d2ab219d2246ad841a75a5b 100644 --- a/vndk/tools/header-checker/proto/abi_dump.proto +++ b/vndk/tools/header-checker/proto/abi_dump.proto @@ -22,6 +22,7 @@ message BasicNamedAndTypedDecl { optional string referenced_type = 4; optional string source_file = 5; optional string linker_set_key = 6; + optional string self_type = 7; } message ArrayType { diff --git a/vndk/tools/header-checker/tests/expected/example1.cpp b/vndk/tools/header-checker/tests/expected/example1.cpp index 0a72db531673db9c8461ab028733dc827d498c56..ebc3f75495375341cd5cee9ae728b4bcd4e50cf0 100644 --- a/vndk/tools/header-checker/tests/expected/example1.cpp +++ b/vndk/tools/header-checker/tests/expected/example1.cpp @@ -3,18 +3,19 @@ record_types { name: "HiddenBase" size: 8 alignment: 4 - referenced_type: "HiddenBase" + referenced_type: "type-1" source_file: "/development/vndk/tools/header-checker/tests/input/example3.h" linker_set_key: "HiddenBase" + self_type: "type-1" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "hide" access: private_access } fields { - referenced_type: "float" + referenced_type: "type-3" field_offset: 32 field_name: "seek" access: private_access @@ -30,18 +31,19 @@ record_types { name: "test2::HelloAgain" size: 40 alignment: 8 - referenced_type: "test2::HelloAgain" + referenced_type: "type-4" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test2::HelloAgain" + self_type: "type-4" } fields { - referenced_type: "std::vector >" + referenced_type: "type-5" field_offset: 64 field_name: "foo_again" access: public_access } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 256 field_name: "bar_again" access: public_access @@ -84,25 +86,26 @@ record_types { name: "test3::ByeAgain" size: 16 alignment: 8 - referenced_type: "test3::ByeAgain" + referenced_type: "type-13" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test3::ByeAgain" + self_type: "type-13" } fields { - referenced_type: "double" + referenced_type: "type-14" field_offset: 0 field_name: "foo_again" access: public_access } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 64 field_name: "bar_again" access: public_access } template_info { elements { - referenced_type: "double" + referenced_type: "type-14" } } access: public_access @@ -116,25 +119,26 @@ record_types { name: "test3::ByeAgain" size: 8 alignment: 4 - referenced_type: "test3::ByeAgain" + referenced_type: "type-15" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test3::ByeAgain" + self_type: "type-15" } fields { - referenced_type: "float" + referenced_type: "type-3" field_offset: 0 field_name: "foo_again" access: public_access } fields { - referenced_type: "float" + referenced_type: "type-3" field_offset: 32 field_name: "bar_Again" access: public_access } template_info { elements { - referenced_type: "float" + referenced_type: "type-3" } } access: public_access @@ -148,12 +152,13 @@ record_types { name: "test3::Outer" size: 4 alignment: 4 - referenced_type: "test3::Outer" + referenced_type: "type-17" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test3::Outer" + self_type: "type-17" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "a" access: public_access @@ -169,12 +174,13 @@ record_types { name: "test3::Outer::Inner" size: 4 alignment: 4 - referenced_type: "test3::Outer::Inner" + referenced_type: "type-18" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test3::Outer::Inner" + self_type: "type-18" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "b" access: private_access @@ -190,12 +196,13 @@ record_types { name: "Hello::(anonymous)::(anonymous)" size: 4 alignment: 4 - referenced_type: "Hello::(anonymous)::(anonymous)" + referenced_type: "type-22" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "Hello::(anonymous)5::(anonymous)2" + self_type: "type-22" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "c" access: public_access @@ -212,24 +219,25 @@ record_types { name: "Hello::(anonymous)" size: 12 alignment: 4 - referenced_type: "Hello::(anonymous)" + referenced_type: "type-21" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "Hello::(anonymous)5" + self_type: "type-21" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "a" access: public_access } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 32 field_name: "b" access: public_access } fields { - referenced_type: "Hello::(anonymous)5::(anonymous)2" + referenced_type: "type-22" field_offset: 64 field_name: "" access: public_access @@ -246,42 +254,43 @@ record_types { name: "Hello" size: 32 alignment: 4 - referenced_type: "Hello" + referenced_type: "type-19" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "Hello" + self_type: "type-19" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "foo" access: public_access } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 32 field_name: "bar" access: public_access } fields { - referenced_type: "wchar_t" + referenced_type: "type-20" field_offset: 64 field_name: "d" access: public_access } fields { - referenced_type: "unsigned int" + referenced_type: "type-9" field_offset: 96 field_name: "enum_field" access: public_access } fields { - referenced_type: "unsigned int" + referenced_type: "type-9" field_offset: 128 field_name: "enum_field2" access: public_access } fields { - referenced_type: "Hello::(anonymous)5" + referenced_type: "type-21" field_offset: 160 field_name: "" access: public_access @@ -297,29 +306,30 @@ record_types { name: "CPPHello" size: 56 alignment: 8 - referenced_type: "CPPHello" + referenced_type: "type-23" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "CPPHello" + self_type: "type-23" } fields { - referenced_type: "const int" + referenced_type: "type-24" field_offset: 352 field_name: "cpp_foo" access: public_access } fields { - referenced_type: "const float" + referenced_type: "type-25" field_offset: 384 field_name: "cpp_bar" access: public_access } base_specifiers { - referenced_type: "test2::HelloAgain" + referenced_type: "type-4" is_virtual: false access: private_access } base_specifiers { - referenced_type: "test3::ByeAgain" + referenced_type: "type-15" is_virtual: false access: public_access } @@ -361,19 +371,20 @@ record_types { name: "List" size: 8 alignment: 8 - referenced_type: "List" + referenced_type: "type-31" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "List" + self_type: "type-31" } fields { - referenced_type: "List::_Node *" + referenced_type: "type-33" field_offset: 0 field_name: "middle" access: public_access } template_info { elements { - referenced_type: "float" + referenced_type: "type-3" } } access: public_access @@ -387,24 +398,25 @@ record_types { name: "List::_Node" size: 24 alignment: 8 - referenced_type: "List::_Node" + referenced_type: "type-32" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "List::_Node" + self_type: "type-32" } fields { - referenced_type: "float" + referenced_type: "type-3" field_offset: 0 field_name: "mVal" access: private_access } fields { - referenced_type: "List::_Node *" + referenced_type: "type-33" field_offset: 64 field_name: "mpPrev" access: private_access } fields { - referenced_type: "List::_Node *" + referenced_type: "type-33" field_offset: 128 field_name: "mpNext" access: private_access @@ -420,19 +432,20 @@ record_types { name: "List" size: 8 alignment: 8 - referenced_type: "List" + referenced_type: "type-35" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "List" + self_type: "type-35" } fields { - referenced_type: "List::_Node *" + referenced_type: "type-37" field_offset: 0 field_name: "middle" access: public_access } template_info { elements { - referenced_type: "int" + referenced_type: "type-2" } } access: public_access @@ -446,11 +459,12 @@ enum_types { name: "Foo_s" size: 4 alignment: 4 - referenced_type: "Foo_s" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "Foo_s" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-9" enum_fields { enum_field_value: 10 name: "Foo_s::foosball" @@ -469,11 +483,12 @@ enum_types { name: "test3::Kind" size: 4 alignment: 4 - referenced_type: "test3::Kind" + referenced_type: "type-16" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test3::Kind" + self_type: "type-16" } - underlying_type: "unsigned int" + underlying_type: "type-9" enum_fields { enum_field_value: 24 name: "test3::Kind::kind1" @@ -492,11 +507,12 @@ enum_types { name: "CPPHello::Bla" size: 4 alignment: 4 - referenced_type: "CPPHello::Bla" + referenced_type: "type-27" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "CPPHello::Bla" + self_type: "type-27" } - underlying_type: "unsigned int" + underlying_type: "type-9" enum_fields { enum_field_value: 1 name: "CPPHello::Bla::BLA" @@ -511,39 +527,10 @@ pointer_types { name: "test2::HelloAgain *" size: 8 alignment: 8 - referenced_type: "test2::HelloAgain" + referenced_type: "type-4" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test2::HelloAgain *" - } -} -pointer_types { - type_info { - name: "test3::ByeAgain *" - size: 8 - alignment: 8 - referenced_type: "test3::ByeAgain" - source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" - linker_set_key: "test3::ByeAgain *" - } -} -pointer_types { - type_info { - name: "test3::ByeAgain *" - size: 8 - alignment: 8 - referenced_type: "test3::ByeAgain" - source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" - linker_set_key: "test3::ByeAgain *" - } -} -pointer_types { - type_info { - name: "ForwardDeclaration *" - size: 8 - alignment: 8 - referenced_type: "ForwardDeclaration" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - linker_set_key: "ForwardDeclaration *" + self_type: "type-7" } } pointer_types { @@ -551,9 +538,10 @@ pointer_types { name: "CPPHello *" size: 8 alignment: 8 - referenced_type: "CPPHello" + referenced_type: "type-23" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "CPPHello *" + self_type: "type-26" } } pointer_types { @@ -561,9 +549,10 @@ pointer_types { name: "int *" size: 8 alignment: 8 - referenced_type: "int" + referenced_type: "type-2" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "int *" + self_type: "type-29" } } pointer_types { @@ -571,9 +560,10 @@ pointer_types { name: "float *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-3" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "float *" + self_type: "type-30" } } pointer_types { @@ -581,19 +571,10 @@ pointer_types { name: "List::_Node *" size: 8 alignment: 8 - referenced_type: "List::_Node" + referenced_type: "type-32" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "List::_Node *" - } -} -pointer_types { - type_info { - name: "const List::_Node *" - size: 8 - alignment: 8 - referenced_type: "const List::_Node" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - linker_set_key: "const List::_Node *" + self_type: "type-33" } } pointer_types { @@ -601,29 +582,10 @@ pointer_types { name: "List::_Node *" size: 8 alignment: 8 - referenced_type: "List::_Node" + referenced_type: "type-36" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "List::_Node *" - } -} -pointer_types { - type_info { - name: "List *" - size: 8 - alignment: 8 - referenced_type: "List" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - linker_set_key: "List *" - } -} -pointer_types { - type_info { - name: "StackNode *" - size: 8 - alignment: 8 - referenced_type: "StackNode" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - linker_set_key: "StackNode *" + self_type: "type-37" } } pointer_types { @@ -631,19 +593,10 @@ pointer_types { name: "const char *" size: 8 alignment: 8 - referenced_type: "const char" + referenced_type: "type-38" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "const char *" - } -} -lvalue_reference_types { - type_info { - name: "int &" - size: 8 - alignment: 8 - referenced_type: "int" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - linker_set_key: "int &" + self_type: "type-39" } } lvalue_reference_types { @@ -651,19 +604,10 @@ lvalue_reference_types { name: "const float &" size: 8 alignment: 8 - referenced_type: "const float" + referenced_type: "type-25" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "const float &" - } -} -lvalue_reference_types { - type_info { - name: "float &" - size: 8 - alignment: 8 - referenced_type: "float" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - linker_set_key: "float &" + self_type: "type-34" } } builtin_types { @@ -671,9 +615,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -683,9 +628,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -695,9 +641,10 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-6" source_file: "" linker_set_key: "void" + self_type: "type-6" } is_unsigned: false is_integral: false @@ -707,9 +654,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-9" source_file: "" linker_set_key: "unsigned int" + self_type: "type-9" } is_unsigned: true is_integral: true @@ -719,9 +667,10 @@ builtin_types { name: "bool" size: 1 alignment: 1 - referenced_type: "bool" + referenced_type: "type-12" source_file: "" linker_set_key: "bool" + self_type: "type-12" } is_unsigned: true is_integral: true @@ -731,9 +680,10 @@ builtin_types { name: "double" size: 8 alignment: 8 - referenced_type: "double" + referenced_type: "type-14" source_file: "" linker_set_key: "double" + self_type: "type-14" } is_unsigned: false is_integral: false @@ -743,9 +693,10 @@ builtin_types { name: "wchar_t" size: 4 alignment: 4 - referenced_type: "wchar_t" + referenced_type: "type-20" source_file: "" linker_set_key: "wchar_t" + self_type: "type-20" } is_unsigned: false is_integral: true @@ -755,9 +706,10 @@ builtin_types { name: "char" size: 1 alignment: 1 - referenced_type: "char" + referenced_type: "type-40" source_file: "" linker_set_key: "char" + self_type: "type-40" } is_unsigned: false is_integral: true @@ -767,9 +719,10 @@ qualified_types { name: "bool const[2]" size: 2 alignment: 1 - referenced_type: "bool [2]" + referenced_type: "type-10" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "bool const[2]" + self_type: "type-11" } is_const: true is_volatile: false @@ -780,9 +733,10 @@ qualified_types { name: "const int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "const int" + self_type: "type-24" } is_const: true is_volatile: false @@ -793,9 +747,10 @@ qualified_types { name: "const float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "const float" + self_type: "type-25" } is_const: true is_volatile: false @@ -806,22 +761,10 @@ qualified_types { name: "const CPPHello" size: 56 alignment: 8 - referenced_type: "CPPHello" + referenced_type: "type-23" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "const CPPHello" - } - is_const: true - is_volatile: false - is_restricted: false -} -qualified_types { - type_info { - name: "const List::_Node" - size: 24 - alignment: 8 - referenced_type: "List::_Node" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - linker_set_key: "const List::_Node" + self_type: "type-28" } is_const: true is_volatile: false @@ -832,9 +775,10 @@ qualified_types { name: "const char" size: 1 alignment: 1 - referenced_type: "char" + referenced_type: "type-40" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "const char" + self_type: "type-38" } is_const: true is_volatile: false @@ -845,358 +789,206 @@ array_types { name: "bool [2]" size: 2 alignment: 1 - referenced_type: "bool" + referenced_type: "type-12" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "bool [2]" + self_type: "type-10" } } functions { - return_type: "int" - function_name: "test2::HelloAgain::again" - source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" - parameters { - referenced_type: "test2::HelloAgain *" - default_arg: false - } - linker_set_key: "_ZN5test210HelloAgain5againEv" - access: public_access -} -functions { - return_type: "void" + return_type: "type-6" function_name: "test2::HelloAgain::~HelloAgain" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" parameters { - referenced_type: "test2::HelloAgain *" + referenced_type: "type-7" default_arg: false } linker_set_key: "_ZN5test210HelloAgainD2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-6" function_name: "test2::HelloAgain::~HelloAgain" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" parameters { - referenced_type: "test2::HelloAgain *" + referenced_type: "type-7" default_arg: false } linker_set_key: "_ZN5test210HelloAgainD1Ev" access: public_access } functions { - return_type: "void" + return_type: "type-6" function_name: "test2::HelloAgain::~HelloAgain" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" parameters { - referenced_type: "test2::HelloAgain *" + referenced_type: "type-7" default_arg: false } linker_set_key: "_ZN5test210HelloAgainD0Ev" access: public_access } functions { - return_type: "double" - function_name: "test3::ByeAgain::method_foo" - source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" - parameters { - referenced_type: "test3::ByeAgain *" - default_arg: false - } - parameters { - referenced_type: "double" - default_arg: false - } - linker_set_key: "_ZN5test38ByeAgainIdE10method_fooEd" - access: public_access -} -functions { - return_type: "float" - function_name: "test3::ByeAgain::method_foo" - source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" - parameters { - referenced_type: "test3::ByeAgain *" - default_arg: false - } - parameters { - referenced_type: "int" - default_arg: false - } - linker_set_key: "_ZN5test38ByeAgainIfE10method_fooEi" - access: public_access -} -functions { - return_type: "bool" - function_name: "test3::Begin" - source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" - parameters { - referenced_type: "float" - default_arg: false - } - parameters { - referenced_type: "int" - default_arg: false - } - parameters { - referenced_type: "int" - default_arg: false - } - template_info { - elements { - referenced_type: "float" - } - elements { - referenced_type: "int" - } - } - linker_set_key: "_ZN5test35BeginIfiEEbT_T0_i" - access: public_access -} -functions { - return_type: "bool" + return_type: "type-12" function_name: "test3::End" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: true } linker_set_key: "_ZN5test33EndEf" access: public_access } functions { - return_type: "std::vector >" - function_name: "test3::Dummy" - source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" - parameters { - referenced_type: "int" - default_arg: false - } - linker_set_key: "_ZN5test35DummyEi" - access: public_access -} -functions { - return_type: "int" - function_name: "uses_forward_decl" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - parameters { - referenced_type: "ForwardDeclaration *" - default_arg: false - } - linker_set_key: "uses_forward_decl" - access: public_access -} -functions { - return_type: "int" + return_type: "type-2" function_name: "CPPHello::again" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" parameters { - referenced_type: "CPPHello *" + referenced_type: "type-26" default_arg: false } linker_set_key: "_ZN8CPPHello5againEv" access: public_access } functions { - return_type: "void" + return_type: "type-6" function_name: "CPPHello::CPPHello" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" parameters { - referenced_type: "CPPHello *" + referenced_type: "type-26" default_arg: false } linker_set_key: "_ZN8CPPHelloC2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-6" function_name: "CPPHello::CPPHello" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" parameters { - referenced_type: "CPPHello *" + referenced_type: "type-26" default_arg: false } linker_set_key: "_ZN8CPPHelloC1Ev" access: public_access } functions { - return_type: "int" + return_type: "type-2" function_name: "CPPHello::test_enum" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" parameters { - referenced_type: "CPPHello *" + referenced_type: "type-26" default_arg: false } linker_set_key: "_ZN8CPPHello9test_enumEv" access: public_access } functions { - return_type: "void" - function_name: "fooVariadic" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - parameters { - referenced_type: "int &" - default_arg: false - } - parameters { - referenced_type: "int *" - default_arg: false - } - linker_set_key: "_Z11fooVariadicRiPiz" - access: public_access -} -functions { - return_type: "int" + return_type: "type-2" function_name: "boo" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" parameters { - referenced_type: "const CPPHello" + referenced_type: "type-28" default_arg: false } parameters { - referenced_type: "int *" + referenced_type: "type-29" default_arg: false } parameters { - referenced_type: "float *" + referenced_type: "type-30" default_arg: false } linker_set_key: "_Z3boo8CPPHelloPiPf" access: public_access } functions { - return_type: "void" + return_type: "type-6" function_name: "List::_Node::_Node" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" parameters { - referenced_type: "List::_Node *" + referenced_type: "type-33" default_arg: false } parameters { - referenced_type: "const float &" + referenced_type: "type-34" default_arg: false } linker_set_key: "_ZN4ListIfE5_NodeC2ERKf" access: public_access } functions { - return_type: "void" + return_type: "type-6" function_name: "List::_Node::_Node" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" parameters { - referenced_type: "List::_Node *" + referenced_type: "type-33" default_arg: false } parameters { - referenced_type: "const float &" + referenced_type: "type-34" default_arg: false } linker_set_key: "_ZN4ListIfE5_NodeC1ERKf" access: public_access } functions { - return_type: "void" + return_type: "type-6" function_name: "List::_Node::~_Node" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" parameters { - referenced_type: "List::_Node *" + referenced_type: "type-33" default_arg: false } linker_set_key: "_ZN4ListIfE5_NodeD2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-6" function_name: "List::_Node::~_Node" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" parameters { - referenced_type: "List::_Node *" + referenced_type: "type-33" default_arg: false } linker_set_key: "_ZN4ListIfE5_NodeD1Ev" access: public_access } functions { - return_type: "float &" - function_name: "List::_Node::getRef" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - parameters { - referenced_type: "List::_Node *" - default_arg: false - } - linker_set_key: "_ZN4ListIfE5_Node6getRefEv" - access: public_access -} -functions { - return_type: "const float &" - function_name: "List::_Node::getRef" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - parameters { - referenced_type: "const List::_Node *" - default_arg: false - } - linker_set_key: "_ZNK4ListIfE5_Node6getRefEv" - access: public_access -} -functions { - return_type: "void" - function_name: "List::_Node::PrivateNode" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - parameters { - referenced_type: "List::_Node *" - default_arg: false - } - linker_set_key: "_ZN4ListIfE5_Node11PrivateNodeEv" - access: private_access -} -functions { - return_type: "int" - function_name: "ListMangle" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - parameters { - referenced_type: "List *" - default_arg: false - } - parameters { - referenced_type: "StackNode *" - default_arg: false - } - linker_set_key: "_Z10ListMangleP4ListIiEP9StackNodeIiE" - access: public_access -} -functions { - return_type: "List" + return_type: "type-31" function_name: "castInterface" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" parameters { - referenced_type: "List" + referenced_type: "type-31" default_arg: false } parameters { - referenced_type: "const char *" + referenced_type: "type-39" default_arg: false } parameters { - referenced_type: "bool" + referenced_type: "type-12" default_arg: false } template_info { elements { - referenced_type: "float" + referenced_type: "type-3" } elements { - referenced_type: "float" + referenced_type: "type-3" } elements { - referenced_type: "float" + referenced_type: "type-3" } elements { - referenced_type: "float" + referenced_type: "type-3" } } linker_set_key: "_Z13castInterfaceIffffE4ListIT_ES0_IT0_EPKcb" access: public_access } functions { - return_type: "void" + return_type: "type-6" function_name: "format" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "_Z6formatv" @@ -1206,48 +998,48 @@ global_vars { name: "test2::HelloAgain::hello_forever" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "_ZN5test210HelloAgain13hello_foreverE" - referenced_type: "int" + referenced_type: "type-2" access: public_access } global_vars { name: "__test_var" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "_ZL10__test_var" - referenced_type: "bool const[2]" + referenced_type: "type-11" access: public_access } global_vars { name: "test3::ByeAgain::foo_forever" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "_ZN5test38ByeAgainIfE11foo_foreverE" - referenced_type: "int" + referenced_type: "type-2" access: public_access } global_vars { name: "test3::double_bye" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "_ZN5test310double_byeE" - referenced_type: "test3::ByeAgain" + referenced_type: "type-13" access: public_access } global_vars { name: "float_list_test" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "float_list_test" - referenced_type: "List" + referenced_type: "type-31" access: public_access } global_vars { name: "int_list_test" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "int_list_test" - referenced_type: "List" + referenced_type: "type-35" access: public_access } global_vars { name: "node" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "node" - referenced_type: "List::_Node" + referenced_type: "type-32" access: public_access } diff --git a/vndk/tools/header-checker/tests/expected/example1.h b/vndk/tools/header-checker/tests/expected/example1.h index 0a72db531673db9c8461ab028733dc827d498c56..ebc3f75495375341cd5cee9ae728b4bcd4e50cf0 100644 --- a/vndk/tools/header-checker/tests/expected/example1.h +++ b/vndk/tools/header-checker/tests/expected/example1.h @@ -3,18 +3,19 @@ record_types { name: "HiddenBase" size: 8 alignment: 4 - referenced_type: "HiddenBase" + referenced_type: "type-1" source_file: "/development/vndk/tools/header-checker/tests/input/example3.h" linker_set_key: "HiddenBase" + self_type: "type-1" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "hide" access: private_access } fields { - referenced_type: "float" + referenced_type: "type-3" field_offset: 32 field_name: "seek" access: private_access @@ -30,18 +31,19 @@ record_types { name: "test2::HelloAgain" size: 40 alignment: 8 - referenced_type: "test2::HelloAgain" + referenced_type: "type-4" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test2::HelloAgain" + self_type: "type-4" } fields { - referenced_type: "std::vector >" + referenced_type: "type-5" field_offset: 64 field_name: "foo_again" access: public_access } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 256 field_name: "bar_again" access: public_access @@ -84,25 +86,26 @@ record_types { name: "test3::ByeAgain" size: 16 alignment: 8 - referenced_type: "test3::ByeAgain" + referenced_type: "type-13" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test3::ByeAgain" + self_type: "type-13" } fields { - referenced_type: "double" + referenced_type: "type-14" field_offset: 0 field_name: "foo_again" access: public_access } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 64 field_name: "bar_again" access: public_access } template_info { elements { - referenced_type: "double" + referenced_type: "type-14" } } access: public_access @@ -116,25 +119,26 @@ record_types { name: "test3::ByeAgain" size: 8 alignment: 4 - referenced_type: "test3::ByeAgain" + referenced_type: "type-15" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test3::ByeAgain" + self_type: "type-15" } fields { - referenced_type: "float" + referenced_type: "type-3" field_offset: 0 field_name: "foo_again" access: public_access } fields { - referenced_type: "float" + referenced_type: "type-3" field_offset: 32 field_name: "bar_Again" access: public_access } template_info { elements { - referenced_type: "float" + referenced_type: "type-3" } } access: public_access @@ -148,12 +152,13 @@ record_types { name: "test3::Outer" size: 4 alignment: 4 - referenced_type: "test3::Outer" + referenced_type: "type-17" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test3::Outer" + self_type: "type-17" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "a" access: public_access @@ -169,12 +174,13 @@ record_types { name: "test3::Outer::Inner" size: 4 alignment: 4 - referenced_type: "test3::Outer::Inner" + referenced_type: "type-18" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test3::Outer::Inner" + self_type: "type-18" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "b" access: private_access @@ -190,12 +196,13 @@ record_types { name: "Hello::(anonymous)::(anonymous)" size: 4 alignment: 4 - referenced_type: "Hello::(anonymous)::(anonymous)" + referenced_type: "type-22" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "Hello::(anonymous)5::(anonymous)2" + self_type: "type-22" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "c" access: public_access @@ -212,24 +219,25 @@ record_types { name: "Hello::(anonymous)" size: 12 alignment: 4 - referenced_type: "Hello::(anonymous)" + referenced_type: "type-21" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "Hello::(anonymous)5" + self_type: "type-21" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "a" access: public_access } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 32 field_name: "b" access: public_access } fields { - referenced_type: "Hello::(anonymous)5::(anonymous)2" + referenced_type: "type-22" field_offset: 64 field_name: "" access: public_access @@ -246,42 +254,43 @@ record_types { name: "Hello" size: 32 alignment: 4 - referenced_type: "Hello" + referenced_type: "type-19" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "Hello" + self_type: "type-19" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "foo" access: public_access } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 32 field_name: "bar" access: public_access } fields { - referenced_type: "wchar_t" + referenced_type: "type-20" field_offset: 64 field_name: "d" access: public_access } fields { - referenced_type: "unsigned int" + referenced_type: "type-9" field_offset: 96 field_name: "enum_field" access: public_access } fields { - referenced_type: "unsigned int" + referenced_type: "type-9" field_offset: 128 field_name: "enum_field2" access: public_access } fields { - referenced_type: "Hello::(anonymous)5" + referenced_type: "type-21" field_offset: 160 field_name: "" access: public_access @@ -297,29 +306,30 @@ record_types { name: "CPPHello" size: 56 alignment: 8 - referenced_type: "CPPHello" + referenced_type: "type-23" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "CPPHello" + self_type: "type-23" } fields { - referenced_type: "const int" + referenced_type: "type-24" field_offset: 352 field_name: "cpp_foo" access: public_access } fields { - referenced_type: "const float" + referenced_type: "type-25" field_offset: 384 field_name: "cpp_bar" access: public_access } base_specifiers { - referenced_type: "test2::HelloAgain" + referenced_type: "type-4" is_virtual: false access: private_access } base_specifiers { - referenced_type: "test3::ByeAgain" + referenced_type: "type-15" is_virtual: false access: public_access } @@ -361,19 +371,20 @@ record_types { name: "List" size: 8 alignment: 8 - referenced_type: "List" + referenced_type: "type-31" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "List" + self_type: "type-31" } fields { - referenced_type: "List::_Node *" + referenced_type: "type-33" field_offset: 0 field_name: "middle" access: public_access } template_info { elements { - referenced_type: "float" + referenced_type: "type-3" } } access: public_access @@ -387,24 +398,25 @@ record_types { name: "List::_Node" size: 24 alignment: 8 - referenced_type: "List::_Node" + referenced_type: "type-32" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "List::_Node" + self_type: "type-32" } fields { - referenced_type: "float" + referenced_type: "type-3" field_offset: 0 field_name: "mVal" access: private_access } fields { - referenced_type: "List::_Node *" + referenced_type: "type-33" field_offset: 64 field_name: "mpPrev" access: private_access } fields { - referenced_type: "List::_Node *" + referenced_type: "type-33" field_offset: 128 field_name: "mpNext" access: private_access @@ -420,19 +432,20 @@ record_types { name: "List" size: 8 alignment: 8 - referenced_type: "List" + referenced_type: "type-35" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "List" + self_type: "type-35" } fields { - referenced_type: "List::_Node *" + referenced_type: "type-37" field_offset: 0 field_name: "middle" access: public_access } template_info { elements { - referenced_type: "int" + referenced_type: "type-2" } } access: public_access @@ -446,11 +459,12 @@ enum_types { name: "Foo_s" size: 4 alignment: 4 - referenced_type: "Foo_s" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "Foo_s" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-9" enum_fields { enum_field_value: 10 name: "Foo_s::foosball" @@ -469,11 +483,12 @@ enum_types { name: "test3::Kind" size: 4 alignment: 4 - referenced_type: "test3::Kind" + referenced_type: "type-16" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test3::Kind" + self_type: "type-16" } - underlying_type: "unsigned int" + underlying_type: "type-9" enum_fields { enum_field_value: 24 name: "test3::Kind::kind1" @@ -492,11 +507,12 @@ enum_types { name: "CPPHello::Bla" size: 4 alignment: 4 - referenced_type: "CPPHello::Bla" + referenced_type: "type-27" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "CPPHello::Bla" + self_type: "type-27" } - underlying_type: "unsigned int" + underlying_type: "type-9" enum_fields { enum_field_value: 1 name: "CPPHello::Bla::BLA" @@ -511,39 +527,10 @@ pointer_types { name: "test2::HelloAgain *" size: 8 alignment: 8 - referenced_type: "test2::HelloAgain" + referenced_type: "type-4" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test2::HelloAgain *" - } -} -pointer_types { - type_info { - name: "test3::ByeAgain *" - size: 8 - alignment: 8 - referenced_type: "test3::ByeAgain" - source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" - linker_set_key: "test3::ByeAgain *" - } -} -pointer_types { - type_info { - name: "test3::ByeAgain *" - size: 8 - alignment: 8 - referenced_type: "test3::ByeAgain" - source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" - linker_set_key: "test3::ByeAgain *" - } -} -pointer_types { - type_info { - name: "ForwardDeclaration *" - size: 8 - alignment: 8 - referenced_type: "ForwardDeclaration" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - linker_set_key: "ForwardDeclaration *" + self_type: "type-7" } } pointer_types { @@ -551,9 +538,10 @@ pointer_types { name: "CPPHello *" size: 8 alignment: 8 - referenced_type: "CPPHello" + referenced_type: "type-23" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "CPPHello *" + self_type: "type-26" } } pointer_types { @@ -561,9 +549,10 @@ pointer_types { name: "int *" size: 8 alignment: 8 - referenced_type: "int" + referenced_type: "type-2" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "int *" + self_type: "type-29" } } pointer_types { @@ -571,9 +560,10 @@ pointer_types { name: "float *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-3" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "float *" + self_type: "type-30" } } pointer_types { @@ -581,19 +571,10 @@ pointer_types { name: "List::_Node *" size: 8 alignment: 8 - referenced_type: "List::_Node" + referenced_type: "type-32" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "List::_Node *" - } -} -pointer_types { - type_info { - name: "const List::_Node *" - size: 8 - alignment: 8 - referenced_type: "const List::_Node" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - linker_set_key: "const List::_Node *" + self_type: "type-33" } } pointer_types { @@ -601,29 +582,10 @@ pointer_types { name: "List::_Node *" size: 8 alignment: 8 - referenced_type: "List::_Node" + referenced_type: "type-36" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "List::_Node *" - } -} -pointer_types { - type_info { - name: "List *" - size: 8 - alignment: 8 - referenced_type: "List" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - linker_set_key: "List *" - } -} -pointer_types { - type_info { - name: "StackNode *" - size: 8 - alignment: 8 - referenced_type: "StackNode" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - linker_set_key: "StackNode *" + self_type: "type-37" } } pointer_types { @@ -631,19 +593,10 @@ pointer_types { name: "const char *" size: 8 alignment: 8 - referenced_type: "const char" + referenced_type: "type-38" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "const char *" - } -} -lvalue_reference_types { - type_info { - name: "int &" - size: 8 - alignment: 8 - referenced_type: "int" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - linker_set_key: "int &" + self_type: "type-39" } } lvalue_reference_types { @@ -651,19 +604,10 @@ lvalue_reference_types { name: "const float &" size: 8 alignment: 8 - referenced_type: "const float" + referenced_type: "type-25" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "const float &" - } -} -lvalue_reference_types { - type_info { - name: "float &" - size: 8 - alignment: 8 - referenced_type: "float" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - linker_set_key: "float &" + self_type: "type-34" } } builtin_types { @@ -671,9 +615,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -683,9 +628,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -695,9 +641,10 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-6" source_file: "" linker_set_key: "void" + self_type: "type-6" } is_unsigned: false is_integral: false @@ -707,9 +654,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-9" source_file: "" linker_set_key: "unsigned int" + self_type: "type-9" } is_unsigned: true is_integral: true @@ -719,9 +667,10 @@ builtin_types { name: "bool" size: 1 alignment: 1 - referenced_type: "bool" + referenced_type: "type-12" source_file: "" linker_set_key: "bool" + self_type: "type-12" } is_unsigned: true is_integral: true @@ -731,9 +680,10 @@ builtin_types { name: "double" size: 8 alignment: 8 - referenced_type: "double" + referenced_type: "type-14" source_file: "" linker_set_key: "double" + self_type: "type-14" } is_unsigned: false is_integral: false @@ -743,9 +693,10 @@ builtin_types { name: "wchar_t" size: 4 alignment: 4 - referenced_type: "wchar_t" + referenced_type: "type-20" source_file: "" linker_set_key: "wchar_t" + self_type: "type-20" } is_unsigned: false is_integral: true @@ -755,9 +706,10 @@ builtin_types { name: "char" size: 1 alignment: 1 - referenced_type: "char" + referenced_type: "type-40" source_file: "" linker_set_key: "char" + self_type: "type-40" } is_unsigned: false is_integral: true @@ -767,9 +719,10 @@ qualified_types { name: "bool const[2]" size: 2 alignment: 1 - referenced_type: "bool [2]" + referenced_type: "type-10" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "bool const[2]" + self_type: "type-11" } is_const: true is_volatile: false @@ -780,9 +733,10 @@ qualified_types { name: "const int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "const int" + self_type: "type-24" } is_const: true is_volatile: false @@ -793,9 +747,10 @@ qualified_types { name: "const float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "const float" + self_type: "type-25" } is_const: true is_volatile: false @@ -806,22 +761,10 @@ qualified_types { name: "const CPPHello" size: 56 alignment: 8 - referenced_type: "CPPHello" + referenced_type: "type-23" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "const CPPHello" - } - is_const: true - is_volatile: false - is_restricted: false -} -qualified_types { - type_info { - name: "const List::_Node" - size: 24 - alignment: 8 - referenced_type: "List::_Node" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - linker_set_key: "const List::_Node" + self_type: "type-28" } is_const: true is_volatile: false @@ -832,9 +775,10 @@ qualified_types { name: "const char" size: 1 alignment: 1 - referenced_type: "char" + referenced_type: "type-40" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "const char" + self_type: "type-38" } is_const: true is_volatile: false @@ -845,358 +789,206 @@ array_types { name: "bool [2]" size: 2 alignment: 1 - referenced_type: "bool" + referenced_type: "type-12" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "bool [2]" + self_type: "type-10" } } functions { - return_type: "int" - function_name: "test2::HelloAgain::again" - source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" - parameters { - referenced_type: "test2::HelloAgain *" - default_arg: false - } - linker_set_key: "_ZN5test210HelloAgain5againEv" - access: public_access -} -functions { - return_type: "void" + return_type: "type-6" function_name: "test2::HelloAgain::~HelloAgain" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" parameters { - referenced_type: "test2::HelloAgain *" + referenced_type: "type-7" default_arg: false } linker_set_key: "_ZN5test210HelloAgainD2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-6" function_name: "test2::HelloAgain::~HelloAgain" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" parameters { - referenced_type: "test2::HelloAgain *" + referenced_type: "type-7" default_arg: false } linker_set_key: "_ZN5test210HelloAgainD1Ev" access: public_access } functions { - return_type: "void" + return_type: "type-6" function_name: "test2::HelloAgain::~HelloAgain" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" parameters { - referenced_type: "test2::HelloAgain *" + referenced_type: "type-7" default_arg: false } linker_set_key: "_ZN5test210HelloAgainD0Ev" access: public_access } functions { - return_type: "double" - function_name: "test3::ByeAgain::method_foo" - source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" - parameters { - referenced_type: "test3::ByeAgain *" - default_arg: false - } - parameters { - referenced_type: "double" - default_arg: false - } - linker_set_key: "_ZN5test38ByeAgainIdE10method_fooEd" - access: public_access -} -functions { - return_type: "float" - function_name: "test3::ByeAgain::method_foo" - source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" - parameters { - referenced_type: "test3::ByeAgain *" - default_arg: false - } - parameters { - referenced_type: "int" - default_arg: false - } - linker_set_key: "_ZN5test38ByeAgainIfE10method_fooEi" - access: public_access -} -functions { - return_type: "bool" - function_name: "test3::Begin" - source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" - parameters { - referenced_type: "float" - default_arg: false - } - parameters { - referenced_type: "int" - default_arg: false - } - parameters { - referenced_type: "int" - default_arg: false - } - template_info { - elements { - referenced_type: "float" - } - elements { - referenced_type: "int" - } - } - linker_set_key: "_ZN5test35BeginIfiEEbT_T0_i" - access: public_access -} -functions { - return_type: "bool" + return_type: "type-12" function_name: "test3::End" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: true } linker_set_key: "_ZN5test33EndEf" access: public_access } functions { - return_type: "std::vector >" - function_name: "test3::Dummy" - source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" - parameters { - referenced_type: "int" - default_arg: false - } - linker_set_key: "_ZN5test35DummyEi" - access: public_access -} -functions { - return_type: "int" - function_name: "uses_forward_decl" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - parameters { - referenced_type: "ForwardDeclaration *" - default_arg: false - } - linker_set_key: "uses_forward_decl" - access: public_access -} -functions { - return_type: "int" + return_type: "type-2" function_name: "CPPHello::again" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" parameters { - referenced_type: "CPPHello *" + referenced_type: "type-26" default_arg: false } linker_set_key: "_ZN8CPPHello5againEv" access: public_access } functions { - return_type: "void" + return_type: "type-6" function_name: "CPPHello::CPPHello" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" parameters { - referenced_type: "CPPHello *" + referenced_type: "type-26" default_arg: false } linker_set_key: "_ZN8CPPHelloC2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-6" function_name: "CPPHello::CPPHello" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" parameters { - referenced_type: "CPPHello *" + referenced_type: "type-26" default_arg: false } linker_set_key: "_ZN8CPPHelloC1Ev" access: public_access } functions { - return_type: "int" + return_type: "type-2" function_name: "CPPHello::test_enum" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" parameters { - referenced_type: "CPPHello *" + referenced_type: "type-26" default_arg: false } linker_set_key: "_ZN8CPPHello9test_enumEv" access: public_access } functions { - return_type: "void" - function_name: "fooVariadic" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - parameters { - referenced_type: "int &" - default_arg: false - } - parameters { - referenced_type: "int *" - default_arg: false - } - linker_set_key: "_Z11fooVariadicRiPiz" - access: public_access -} -functions { - return_type: "int" + return_type: "type-2" function_name: "boo" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" parameters { - referenced_type: "const CPPHello" + referenced_type: "type-28" default_arg: false } parameters { - referenced_type: "int *" + referenced_type: "type-29" default_arg: false } parameters { - referenced_type: "float *" + referenced_type: "type-30" default_arg: false } linker_set_key: "_Z3boo8CPPHelloPiPf" access: public_access } functions { - return_type: "void" + return_type: "type-6" function_name: "List::_Node::_Node" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" parameters { - referenced_type: "List::_Node *" + referenced_type: "type-33" default_arg: false } parameters { - referenced_type: "const float &" + referenced_type: "type-34" default_arg: false } linker_set_key: "_ZN4ListIfE5_NodeC2ERKf" access: public_access } functions { - return_type: "void" + return_type: "type-6" function_name: "List::_Node::_Node" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" parameters { - referenced_type: "List::_Node *" + referenced_type: "type-33" default_arg: false } parameters { - referenced_type: "const float &" + referenced_type: "type-34" default_arg: false } linker_set_key: "_ZN4ListIfE5_NodeC1ERKf" access: public_access } functions { - return_type: "void" + return_type: "type-6" function_name: "List::_Node::~_Node" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" parameters { - referenced_type: "List::_Node *" + referenced_type: "type-33" default_arg: false } linker_set_key: "_ZN4ListIfE5_NodeD2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-6" function_name: "List::_Node::~_Node" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" parameters { - referenced_type: "List::_Node *" + referenced_type: "type-33" default_arg: false } linker_set_key: "_ZN4ListIfE5_NodeD1Ev" access: public_access } functions { - return_type: "float &" - function_name: "List::_Node::getRef" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - parameters { - referenced_type: "List::_Node *" - default_arg: false - } - linker_set_key: "_ZN4ListIfE5_Node6getRefEv" - access: public_access -} -functions { - return_type: "const float &" - function_name: "List::_Node::getRef" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - parameters { - referenced_type: "const List::_Node *" - default_arg: false - } - linker_set_key: "_ZNK4ListIfE5_Node6getRefEv" - access: public_access -} -functions { - return_type: "void" - function_name: "List::_Node::PrivateNode" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - parameters { - referenced_type: "List::_Node *" - default_arg: false - } - linker_set_key: "_ZN4ListIfE5_Node11PrivateNodeEv" - access: private_access -} -functions { - return_type: "int" - function_name: "ListMangle" - source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" - parameters { - referenced_type: "List *" - default_arg: false - } - parameters { - referenced_type: "StackNode *" - default_arg: false - } - linker_set_key: "_Z10ListMangleP4ListIiEP9StackNodeIiE" - access: public_access -} -functions { - return_type: "List" + return_type: "type-31" function_name: "castInterface" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" parameters { - referenced_type: "List" + referenced_type: "type-31" default_arg: false } parameters { - referenced_type: "const char *" + referenced_type: "type-39" default_arg: false } parameters { - referenced_type: "bool" + referenced_type: "type-12" default_arg: false } template_info { elements { - referenced_type: "float" + referenced_type: "type-3" } elements { - referenced_type: "float" + referenced_type: "type-3" } elements { - referenced_type: "float" + referenced_type: "type-3" } elements { - referenced_type: "float" + referenced_type: "type-3" } } linker_set_key: "_Z13castInterfaceIffffE4ListIT_ES0_IT0_EPKcb" access: public_access } functions { - return_type: "void" + return_type: "type-6" function_name: "format" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "_Z6formatv" @@ -1206,48 +998,48 @@ global_vars { name: "test2::HelloAgain::hello_forever" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "_ZN5test210HelloAgain13hello_foreverE" - referenced_type: "int" + referenced_type: "type-2" access: public_access } global_vars { name: "__test_var" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "_ZL10__test_var" - referenced_type: "bool const[2]" + referenced_type: "type-11" access: public_access } global_vars { name: "test3::ByeAgain::foo_forever" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "_ZN5test38ByeAgainIfE11foo_foreverE" - referenced_type: "int" + referenced_type: "type-2" access: public_access } global_vars { name: "test3::double_bye" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "_ZN5test310double_byeE" - referenced_type: "test3::ByeAgain" + referenced_type: "type-13" access: public_access } global_vars { name: "float_list_test" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "float_list_test" - referenced_type: "List" + referenced_type: "type-31" access: public_access } global_vars { name: "int_list_test" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "int_list_test" - referenced_type: "List" + referenced_type: "type-35" access: public_access } global_vars { name: "node" source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "node" - referenced_type: "List::_Node" + referenced_type: "type-32" access: public_access } diff --git a/vndk/tools/header-checker/tests/expected/example2.h b/vndk/tools/header-checker/tests/expected/example2.h index 0ebee6c7f799fcd020d1214df2b7319e0e928366..1851418f4c59ea13c5deeea91ba2c216b767ffb3 100644 --- a/vndk/tools/header-checker/tests/expected/example2.h +++ b/vndk/tools/header-checker/tests/expected/example2.h @@ -3,18 +3,19 @@ record_types { name: "HiddenBase" size: 8 alignment: 4 - referenced_type: "HiddenBase" + referenced_type: "type-1" source_file: "/development/vndk/tools/header-checker/tests/input/example3.h" linker_set_key: "HiddenBase" + self_type: "type-1" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "hide" access: private_access } fields { - referenced_type: "float" + referenced_type: "type-3" field_offset: 32 field_name: "seek" access: private_access @@ -30,18 +31,19 @@ record_types { name: "test2::HelloAgain" size: 40 alignment: 8 - referenced_type: "test2::HelloAgain" + referenced_type: "type-4" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test2::HelloAgain" + self_type: "type-4" } fields { - referenced_type: "std::vector >" + referenced_type: "type-5" field_offset: 64 field_name: "foo_again" access: public_access } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 256 field_name: "bar_again" access: public_access @@ -84,25 +86,26 @@ record_types { name: "test3::ByeAgain" size: 16 alignment: 8 - referenced_type: "test3::ByeAgain" + referenced_type: "type-13" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test3::ByeAgain" + self_type: "type-13" } fields { - referenced_type: "double" + referenced_type: "type-14" field_offset: 0 field_name: "foo_again" access: public_access } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 64 field_name: "bar_again" access: public_access } template_info { elements { - referenced_type: "double" + referenced_type: "type-14" } } access: public_access @@ -116,25 +119,26 @@ record_types { name: "test3::ByeAgain" size: 8 alignment: 4 - referenced_type: "test3::ByeAgain" + referenced_type: "type-15" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test3::ByeAgain" + self_type: "type-15" } fields { - referenced_type: "float" + referenced_type: "type-3" field_offset: 0 field_name: "foo_again" access: public_access } fields { - referenced_type: "float" + referenced_type: "type-3" field_offset: 32 field_name: "bar_Again" access: public_access } template_info { elements { - referenced_type: "float" + referenced_type: "type-3" } } access: public_access @@ -148,12 +152,13 @@ record_types { name: "test3::Outer" size: 4 alignment: 4 - referenced_type: "test3::Outer" + referenced_type: "type-17" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test3::Outer" + self_type: "type-17" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "a" access: public_access @@ -169,12 +174,13 @@ record_types { name: "test3::Outer::Inner" size: 4 alignment: 4 - referenced_type: "test3::Outer::Inner" + referenced_type: "type-18" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test3::Outer::Inner" + self_type: "type-18" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "b" access: private_access @@ -190,11 +196,12 @@ enum_types { name: "Foo_s" size: 4 alignment: 4 - referenced_type: "Foo_s" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "Foo_s" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-9" enum_fields { enum_field_value: 10 name: "Foo_s::foosball" @@ -213,11 +220,12 @@ enum_types { name: "test3::Kind" size: 4 alignment: 4 - referenced_type: "test3::Kind" + referenced_type: "type-16" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test3::Kind" + self_type: "type-16" } - underlying_type: "unsigned int" + underlying_type: "type-9" enum_fields { enum_field_value: 24 name: "test3::Kind::kind1" @@ -236,29 +244,10 @@ pointer_types { name: "test2::HelloAgain *" size: 8 alignment: 8 - referenced_type: "test2::HelloAgain" + referenced_type: "type-4" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test2::HelloAgain *" - } -} -pointer_types { - type_info { - name: "test3::ByeAgain *" - size: 8 - alignment: 8 - referenced_type: "test3::ByeAgain" - source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" - linker_set_key: "test3::ByeAgain *" - } -} -pointer_types { - type_info { - name: "test3::ByeAgain *" - size: 8 - alignment: 8 - referenced_type: "test3::ByeAgain" - source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" - linker_set_key: "test3::ByeAgain *" + self_type: "type-7" } } builtin_types { @@ -266,9 +255,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -278,9 +268,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -290,9 +281,10 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-6" source_file: "" linker_set_key: "void" + self_type: "type-6" } is_unsigned: false is_integral: false @@ -302,9 +294,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-9" source_file: "" linker_set_key: "unsigned int" + self_type: "type-9" } is_unsigned: true is_integral: true @@ -314,9 +307,10 @@ builtin_types { name: "bool" size: 1 alignment: 1 - referenced_type: "bool" + referenced_type: "type-12" source_file: "" linker_set_key: "bool" + self_type: "type-12" } is_unsigned: true is_integral: true @@ -326,9 +320,10 @@ builtin_types { name: "double" size: 8 alignment: 8 - referenced_type: "double" + referenced_type: "type-14" source_file: "" linker_set_key: "double" + self_type: "type-14" } is_unsigned: false is_integral: false @@ -338,9 +333,10 @@ qualified_types { name: "bool const[2]" size: 2 alignment: 1 - referenced_type: "bool [2]" + referenced_type: "type-10" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "bool const[2]" + self_type: "type-11" } is_const: true is_volatile: false @@ -351,159 +347,81 @@ array_types { name: "bool [2]" size: 2 alignment: 1 - referenced_type: "bool" + referenced_type: "type-12" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "bool [2]" + self_type: "type-10" } } functions { - return_type: "int" - function_name: "test2::HelloAgain::again" - source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" - parameters { - referenced_type: "test2::HelloAgain *" - default_arg: false - } - linker_set_key: "_ZN5test210HelloAgain5againEv" - access: public_access -} -functions { - return_type: "void" + return_type: "type-6" function_name: "test2::HelloAgain::~HelloAgain" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" parameters { - referenced_type: "test2::HelloAgain *" + referenced_type: "type-7" default_arg: false } linker_set_key: "_ZN5test210HelloAgainD2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-6" function_name: "test2::HelloAgain::~HelloAgain" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" parameters { - referenced_type: "test2::HelloAgain *" + referenced_type: "type-7" default_arg: false } linker_set_key: "_ZN5test210HelloAgainD1Ev" access: public_access } functions { - return_type: "void" + return_type: "type-6" function_name: "test2::HelloAgain::~HelloAgain" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" parameters { - referenced_type: "test2::HelloAgain *" + referenced_type: "type-7" default_arg: false } linker_set_key: "_ZN5test210HelloAgainD0Ev" access: public_access } functions { - return_type: "double" - function_name: "test3::ByeAgain::method_foo" - source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" - parameters { - referenced_type: "test3::ByeAgain *" - default_arg: false - } - parameters { - referenced_type: "double" - default_arg: false - } - linker_set_key: "_ZN5test38ByeAgainIdE10method_fooEd" - access: public_access -} -functions { - return_type: "float" - function_name: "test3::ByeAgain::method_foo" - source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" - parameters { - referenced_type: "test3::ByeAgain *" - default_arg: false - } - parameters { - referenced_type: "int" - default_arg: false - } - linker_set_key: "_ZN5test38ByeAgainIfE10method_fooEi" - access: public_access -} -functions { - return_type: "bool" - function_name: "test3::Begin" - source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" - parameters { - referenced_type: "float" - default_arg: false - } - parameters { - referenced_type: "int" - default_arg: false - } - parameters { - referenced_type: "int" - default_arg: false - } - template_info { - elements { - referenced_type: "float" - } - elements { - referenced_type: "int" - } - } - linker_set_key: "_ZN5test35BeginIfiEEbT_T0_i" - access: public_access -} -functions { - return_type: "bool" + return_type: "type-12" function_name: "test3::End" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: true } linker_set_key: "_ZN5test33EndEf" access: public_access } -functions { - return_type: "std::vector >" - function_name: "test3::Dummy" - source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" - parameters { - referenced_type: "int" - default_arg: false - } - linker_set_key: "_ZN5test35DummyEi" - access: public_access -} global_vars { name: "test2::HelloAgain::hello_forever" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "_ZN5test210HelloAgain13hello_foreverE" - referenced_type: "int" + referenced_type: "type-2" access: public_access } global_vars { name: "__test_var" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "_ZL10__test_var" - referenced_type: "bool const[2]" + referenced_type: "type-11" access: public_access } global_vars { name: "test3::ByeAgain::foo_forever" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "_ZN5test38ByeAgainIfE11foo_foreverE" - referenced_type: "int" + referenced_type: "type-2" access: public_access } global_vars { name: "test3::double_bye" source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "_ZN5test310double_byeE" - referenced_type: "test3::ByeAgain" + referenced_type: "type-13" access: public_access } diff --git a/vndk/tools/header-checker/tests/expected/example3.h b/vndk/tools/header-checker/tests/expected/example3.h index 024eb190d4023c00e73b78603420947b74debb10..473bac19fc0e5e9c74aa34d91fc71577c6a4d229 100644 --- a/vndk/tools/header-checker/tests/expected/example3.h +++ b/vndk/tools/header-checker/tests/expected/example3.h @@ -3,18 +3,19 @@ record_types { name: "HiddenBase" size: 8 alignment: 4 - referenced_type: "HiddenBase" + referenced_type: "type-1" source_file: "/development/vndk/tools/header-checker/tests/input/example3.h" linker_set_key: "HiddenBase" + self_type: "type-1" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "hide" access: private_access } fields { - referenced_type: "float" + referenced_type: "type-3" field_offset: 32 field_name: "seek" access: private_access @@ -30,9 +31,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -42,9 +44,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false diff --git a/vndk/tools/header-checker/tests/expected/example4.h b/vndk/tools/header-checker/tests/expected/example4.h index b97d8b70952e5d3a1e03bd26bf4ade96f5388149..2d0a93533e406ce0a59d071d683181ff77293631 100644 --- a/vndk/tools/header-checker/tests/expected/example4.h +++ b/vndk/tools/header-checker/tests/expected/example4.h @@ -3,12 +3,13 @@ record_types { name: "Test" size: 16 alignment: 8 - referenced_type: "Test" + referenced_type: "type-1" source_file: "/development/vndk/tools/header-checker/tests/input/example4.h" linker_set_key: "Test" + self_type: "type-1" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 64 field_name: "c" access: private_access @@ -41,18 +42,19 @@ record_types { name: "TestChild" size: 16 alignment: 8 - referenced_type: "TestChild" + referenced_type: "type-3" source_file: "/development/vndk/tools/header-checker/tests/input/example4.h" linker_set_key: "TestChild" + self_type: "type-3" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 96 field_name: "d" access: private_access } base_specifiers { - referenced_type: "Test" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -79,57 +81,16 @@ record_types { unique_id: "_ZTS9TestChild" } } -pointer_types { - type_info { - name: "Test *" - size: 8 - alignment: 8 - referenced_type: "Test" - source_file: "/development/vndk/tools/header-checker/tests/input/example4.h" - linker_set_key: "Test *" - } -} -pointer_types { - type_info { - name: "TestChild *" - size: 8 - alignment: 8 - referenced_type: "TestChild" - source_file: "/development/vndk/tools/header-checker/tests/input/example4.h" - linker_set_key: "TestChild *" - } -} builtin_types { type_info { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true } -functions { - return_type: "int" - function_name: "Test::foo" - source_file: "/development/vndk/tools/header-checker/tests/input/example4.h" - parameters { - referenced_type: "Test *" - default_arg: false - } - linker_set_key: "_ZN4Test3fooEv" - access: private_access -} -functions { - return_type: "int" - function_name: "TestChild::foo" - source_file: "/development/vndk/tools/header-checker/tests/input/example4.h" - parameters { - referenced_type: "TestChild *" - default_arg: false - } - linker_set_key: "_ZN9TestChild3fooEv" - access: private_access -} diff --git a/vndk/tools/header-checker/tests/expected/func_decl_no_args.h b/vndk/tools/header-checker/tests/expected/func_decl_no_args.h index edfedfa677473d8278b7eac7366e368e859cea93..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 --- a/vndk/tools/header-checker/tests/expected/func_decl_no_args.h +++ b/vndk/tools/header-checker/tests/expected/func_decl_no_args.h @@ -1,266 +0,0 @@ -builtin_types { - type_info { - name: "void" - size: 0 - alignment: 0 - referenced_type: "void" - source_file: "" - linker_set_key: "void" - } - is_unsigned: false - is_integral: false -} -builtin_types { - type_info { - name: "char" - size: 1 - alignment: 1 - referenced_type: "char" - source_file: "" - linker_set_key: "char" - } - is_unsigned: false - is_integral: true -} -builtin_types { - type_info { - name: "short" - size: 2 - alignment: 2 - referenced_type: "short" - source_file: "" - linker_set_key: "short" - } - is_unsigned: false - is_integral: true -} -builtin_types { - type_info { - name: "int" - size: 4 - alignment: 4 - referenced_type: "int" - source_file: "" - linker_set_key: "int" - } - is_unsigned: false - is_integral: true -} -builtin_types { - type_info { - name: "long" - size: 8 - alignment: 8 - referenced_type: "long" - source_file: "" - linker_set_key: "long" - } - is_unsigned: false - is_integral: true -} -builtin_types { - type_info { - name: "long long" - size: 8 - alignment: 8 - referenced_type: "long long" - source_file: "" - linker_set_key: "long long" - } - is_unsigned: false - is_integral: true -} -builtin_types { - type_info { - name: "unsigned char" - size: 1 - alignment: 1 - referenced_type: "unsigned char" - source_file: "" - linker_set_key: "unsigned char" - } - is_unsigned: true - is_integral: true -} -builtin_types { - type_info { - name: "unsigned short" - size: 2 - alignment: 2 - referenced_type: "unsigned short" - source_file: "" - linker_set_key: "unsigned short" - } - is_unsigned: true - is_integral: true -} -builtin_types { - type_info { - name: "unsigned int" - size: 4 - alignment: 4 - referenced_type: "unsigned int" - source_file: "" - linker_set_key: "unsigned int" - } - is_unsigned: true - is_integral: true -} -builtin_types { - type_info { - name: "unsigned long" - size: 8 - alignment: 8 - referenced_type: "unsigned long" - source_file: "" - linker_set_key: "unsigned long" - } - is_unsigned: true - is_integral: true -} -builtin_types { - type_info { - name: "unsigned long long" - size: 8 - alignment: 8 - referenced_type: "unsigned long long" - source_file: "" - linker_set_key: "unsigned long long" - } - is_unsigned: true - is_integral: true -} -builtin_types { - type_info { - name: "float" - size: 4 - alignment: 4 - referenced_type: "float" - source_file: "" - linker_set_key: "float" - } - is_unsigned: false - is_integral: false -} -builtin_types { - type_info { - name: "double" - size: 8 - alignment: 8 - referenced_type: "double" - source_file: "" - linker_set_key: "double" - } - is_unsigned: false - is_integral: false -} -builtin_types { - type_info { - name: "long double" - size: 16 - alignment: 16 - referenced_type: "long double" - source_file: "" - linker_set_key: "long double" - } - is_unsigned: false - is_integral: false -} -functions { - return_type: "void" - function_name: "test_void" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" - linker_set_key: "test_void" - access: public_access -} -functions { - return_type: "char" - function_name: "test_char" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" - linker_set_key: "test_char" - access: public_access -} -functions { - return_type: "short" - function_name: "test_short" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" - linker_set_key: "test_short" - access: public_access -} -functions { - return_type: "int" - function_name: "test_int" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" - linker_set_key: "test_int" - access: public_access -} -functions { - return_type: "long" - function_name: "test_long" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" - linker_set_key: "test_long" - access: public_access -} -functions { - return_type: "long long" - function_name: "test_long_long" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" - linker_set_key: "test_long_long" - access: public_access -} -functions { - return_type: "unsigned char" - function_name: "test_unsigned_char" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" - linker_set_key: "test_unsigned_char" - access: public_access -} -functions { - return_type: "unsigned short" - function_name: "test_unsigned_short" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" - linker_set_key: "test_unsigned_short" - access: public_access -} -functions { - return_type: "unsigned int" - function_name: "test_unsigned_int" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" - linker_set_key: "test_unsigned_int" - access: public_access -} -functions { - return_type: "unsigned long" - function_name: "test_unsigned_long" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" - linker_set_key: "test_unsigned_long" - access: public_access -} -functions { - return_type: "unsigned long long" - function_name: "test_unsigned_long_long" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" - linker_set_key: "test_unsigned_long_long" - access: public_access -} -functions { - return_type: "float" - function_name: "test_float" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" - linker_set_key: "test_float" - access: public_access -} -functions { - return_type: "double" - function_name: "test_double" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" - linker_set_key: "test_double" - access: public_access -} -functions { - return_type: "long double" - function_name: "test_long_double" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" - linker_set_key: "test_long_double" - access: public_access -} diff --git a/vndk/tools/header-checker/tests/expected/func_decl_one_arg.h b/vndk/tools/header-checker/tests/expected/func_decl_one_arg.h index 49529d8e70f3d09b97518d5f013ab747eb91b791..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 --- a/vndk/tools/header-checker/tests/expected/func_decl_one_arg.h +++ b/vndk/tools/header-checker/tests/expected/func_decl_one_arg.h @@ -1,311 +0,0 @@ -builtin_types { - type_info { - name: "void" - size: 0 - alignment: 0 - referenced_type: "void" - source_file: "" - linker_set_key: "void" - } - is_unsigned: false - is_integral: false -} -builtin_types { - type_info { - name: "char" - size: 1 - alignment: 1 - referenced_type: "char" - source_file: "" - linker_set_key: "char" - } - is_unsigned: false - is_integral: true -} -builtin_types { - type_info { - name: "short" - size: 2 - alignment: 2 - referenced_type: "short" - source_file: "" - linker_set_key: "short" - } - is_unsigned: false - is_integral: true -} -builtin_types { - type_info { - name: "int" - size: 4 - alignment: 4 - referenced_type: "int" - source_file: "" - linker_set_key: "int" - } - is_unsigned: false - is_integral: true -} -builtin_types { - type_info { - name: "long" - size: 8 - alignment: 8 - referenced_type: "long" - source_file: "" - linker_set_key: "long" - } - is_unsigned: false - is_integral: true -} -builtin_types { - type_info { - name: "long long" - size: 8 - alignment: 8 - referenced_type: "long long" - source_file: "" - linker_set_key: "long long" - } - is_unsigned: false - is_integral: true -} -builtin_types { - type_info { - name: "unsigned char" - size: 1 - alignment: 1 - referenced_type: "unsigned char" - source_file: "" - linker_set_key: "unsigned char" - } - is_unsigned: true - is_integral: true -} -builtin_types { - type_info { - name: "unsigned short" - size: 2 - alignment: 2 - referenced_type: "unsigned short" - source_file: "" - linker_set_key: "unsigned short" - } - is_unsigned: true - is_integral: true -} -builtin_types { - type_info { - name: "unsigned int" - size: 4 - alignment: 4 - referenced_type: "unsigned int" - source_file: "" - linker_set_key: "unsigned int" - } - is_unsigned: true - is_integral: true -} -builtin_types { - type_info { - name: "unsigned long" - size: 8 - alignment: 8 - referenced_type: "unsigned long" - source_file: "" - linker_set_key: "unsigned long" - } - is_unsigned: true - is_integral: true -} -builtin_types { - type_info { - name: "unsigned long long" - size: 8 - alignment: 8 - referenced_type: "unsigned long long" - source_file: "" - linker_set_key: "unsigned long long" - } - is_unsigned: true - is_integral: true -} -builtin_types { - type_info { - name: "float" - size: 4 - alignment: 4 - referenced_type: "float" - source_file: "" - linker_set_key: "float" - } - is_unsigned: false - is_integral: false -} -builtin_types { - type_info { - name: "double" - size: 8 - alignment: 8 - referenced_type: "double" - source_file: "" - linker_set_key: "double" - } - is_unsigned: false - is_integral: false -} -builtin_types { - type_info { - name: "long double" - size: 16 - alignment: 16 - referenced_type: "long double" - source_file: "" - linker_set_key: "long double" - } - is_unsigned: false - is_integral: false -} -functions { - return_type: "void" - function_name: "test_char" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" - parameters { - referenced_type: "char" - default_arg: false - } - linker_set_key: "test_char" - access: public_access -} -functions { - return_type: "void" - function_name: "test_short" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" - parameters { - referenced_type: "short" - default_arg: false - } - linker_set_key: "test_short" - access: public_access -} -functions { - return_type: "void" - function_name: "test_int" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" - parameters { - referenced_type: "int" - default_arg: false - } - linker_set_key: "test_int" - access: public_access -} -functions { - return_type: "void" - function_name: "test_long" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" - parameters { - referenced_type: "long" - default_arg: false - } - linker_set_key: "test_long" - access: public_access -} -functions { - return_type: "void" - function_name: "test_long_long" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" - parameters { - referenced_type: "long long" - default_arg: false - } - linker_set_key: "test_long_long" - access: public_access -} -functions { - return_type: "void" - function_name: "test_unsigned_char" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" - parameters { - referenced_type: "unsigned char" - default_arg: false - } - linker_set_key: "test_unsigned_char" - access: public_access -} -functions { - return_type: "void" - function_name: "test_unsigned_short" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" - parameters { - referenced_type: "unsigned short" - default_arg: false - } - linker_set_key: "test_unsigned_short" - access: public_access -} -functions { - return_type: "void" - function_name: "test_unsigned_int" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" - parameters { - referenced_type: "unsigned int" - default_arg: false - } - linker_set_key: "test_unsigned_int" - access: public_access -} -functions { - return_type: "void" - function_name: "test_unsigned_long" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" - parameters { - referenced_type: "unsigned long" - default_arg: false - } - linker_set_key: "test_unsigned_long" - access: public_access -} -functions { - return_type: "void" - function_name: "test_unsigned_long_long" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" - parameters { - referenced_type: "unsigned long long" - default_arg: false - } - linker_set_key: "test_unsigned_long_long" - access: public_access -} -functions { - return_type: "void" - function_name: "test_float" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" - parameters { - referenced_type: "float" - default_arg: false - } - linker_set_key: "test_float" - access: public_access -} -functions { - return_type: "void" - function_name: "test_double" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" - parameters { - referenced_type: "double" - default_arg: false - } - linker_set_key: "test_double" - access: public_access -} -functions { - return_type: "void" - function_name: "test_long_double" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" - parameters { - referenced_type: "long double" - default_arg: false - } - linker_set_key: "test_long_double" - access: public_access -} diff --git a/vndk/tools/header-checker/tests/expected/func_decl_one_arg_ret.h b/vndk/tools/header-checker/tests/expected/func_decl_one_arg_ret.h index d4e3d8e134eac83e22c2d1ae46ecd71c58c8262b..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 --- a/vndk/tools/header-checker/tests/expected/func_decl_one_arg_ret.h +++ b/vndk/tools/header-checker/tests/expected/func_decl_one_arg_ret.h @@ -1,299 +0,0 @@ -builtin_types { - type_info { - name: "char" - size: 1 - alignment: 1 - referenced_type: "char" - source_file: "" - linker_set_key: "char" - } - is_unsigned: false - is_integral: true -} -builtin_types { - type_info { - name: "short" - size: 2 - alignment: 2 - referenced_type: "short" - source_file: "" - linker_set_key: "short" - } - is_unsigned: false - is_integral: true -} -builtin_types { - type_info { - name: "int" - size: 4 - alignment: 4 - referenced_type: "int" - source_file: "" - linker_set_key: "int" - } - is_unsigned: false - is_integral: true -} -builtin_types { - type_info { - name: "long" - size: 8 - alignment: 8 - referenced_type: "long" - source_file: "" - linker_set_key: "long" - } - is_unsigned: false - is_integral: true -} -builtin_types { - type_info { - name: "long long" - size: 8 - alignment: 8 - referenced_type: "long long" - source_file: "" - linker_set_key: "long long" - } - is_unsigned: false - is_integral: true -} -builtin_types { - type_info { - name: "unsigned char" - size: 1 - alignment: 1 - referenced_type: "unsigned char" - source_file: "" - linker_set_key: "unsigned char" - } - is_unsigned: true - is_integral: true -} -builtin_types { - type_info { - name: "unsigned short" - size: 2 - alignment: 2 - referenced_type: "unsigned short" - source_file: "" - linker_set_key: "unsigned short" - } - is_unsigned: true - is_integral: true -} -builtin_types { - type_info { - name: "unsigned int" - size: 4 - alignment: 4 - referenced_type: "unsigned int" - source_file: "" - linker_set_key: "unsigned int" - } - is_unsigned: true - is_integral: true -} -builtin_types { - type_info { - name: "unsigned long" - size: 8 - alignment: 8 - referenced_type: "unsigned long" - source_file: "" - linker_set_key: "unsigned long" - } - is_unsigned: true - is_integral: true -} -builtin_types { - type_info { - name: "unsigned long long" - size: 8 - alignment: 8 - referenced_type: "unsigned long long" - source_file: "" - linker_set_key: "unsigned long long" - } - is_unsigned: true - is_integral: true -} -builtin_types { - type_info { - name: "float" - size: 4 - alignment: 4 - referenced_type: "float" - source_file: "" - linker_set_key: "float" - } - is_unsigned: false - is_integral: false -} -builtin_types { - type_info { - name: "double" - size: 8 - alignment: 8 - referenced_type: "double" - source_file: "" - linker_set_key: "double" - } - is_unsigned: false - is_integral: false -} -builtin_types { - type_info { - name: "long double" - size: 16 - alignment: 16 - referenced_type: "long double" - source_file: "" - linker_set_key: "long double" - } - is_unsigned: false - is_integral: false -} -functions { - return_type: "char" - function_name: "test_char" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" - parameters { - referenced_type: "char" - default_arg: false - } - linker_set_key: "test_char" - access: public_access -} -functions { - return_type: "short" - function_name: "test_short" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" - parameters { - referenced_type: "short" - default_arg: false - } - linker_set_key: "test_short" - access: public_access -} -functions { - return_type: "int" - function_name: "test_int" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" - parameters { - referenced_type: "int" - default_arg: false - } - linker_set_key: "test_int" - access: public_access -} -functions { - return_type: "long" - function_name: "test_long" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" - parameters { - referenced_type: "long" - default_arg: false - } - linker_set_key: "test_long" - access: public_access -} -functions { - return_type: "long long" - function_name: "test_long_long" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" - parameters { - referenced_type: "long long" - default_arg: false - } - linker_set_key: "test_long_long" - access: public_access -} -functions { - return_type: "unsigned char" - function_name: "test_unsigned_char" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" - parameters { - referenced_type: "unsigned char" - default_arg: false - } - linker_set_key: "test_unsigned_char" - access: public_access -} -functions { - return_type: "unsigned short" - function_name: "test_unsigned_short" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" - parameters { - referenced_type: "unsigned short" - default_arg: false - } - linker_set_key: "test_unsigned_short" - access: public_access -} -functions { - return_type: "unsigned int" - function_name: "test_unsigned_int" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" - parameters { - referenced_type: "unsigned int" - default_arg: false - } - linker_set_key: "test_unsigned_int" - access: public_access -} -functions { - return_type: "unsigned long" - function_name: "test_unsigned_long" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" - parameters { - referenced_type: "unsigned long" - default_arg: false - } - linker_set_key: "test_unsigned_long" - access: public_access -} -functions { - return_type: "unsigned long long" - function_name: "test_unsigned_long_long" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" - parameters { - referenced_type: "unsigned long long" - default_arg: false - } - linker_set_key: "test_unsigned_long_long" - access: public_access -} -functions { - return_type: "float" - function_name: "test_float" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" - parameters { - referenced_type: "float" - default_arg: false - } - linker_set_key: "test_float" - access: public_access -} -functions { - return_type: "double" - function_name: "test_double" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" - parameters { - referenced_type: "double" - default_arg: false - } - linker_set_key: "test_double" - access: public_access -} -functions { - return_type: "long double" - function_name: "test_long_double" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" - parameters { - referenced_type: "long double" - default_arg: false - } - linker_set_key: "test_long_double" - access: public_access -} diff --git a/vndk/tools/header-checker/tests/expected/func_decl_two_args.h b/vndk/tools/header-checker/tests/expected/func_decl_two_args.h index fa49a4a8afd0fb4eddb0fca1e15a0dc18425b6db..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 --- a/vndk/tools/header-checker/tests/expected/func_decl_two_args.h +++ b/vndk/tools/header-checker/tests/expected/func_decl_two_args.h @@ -1,363 +0,0 @@ -builtin_types { - type_info { - name: "void" - size: 0 - alignment: 0 - referenced_type: "void" - source_file: "" - linker_set_key: "void" - } - is_unsigned: false - is_integral: false -} -builtin_types { - type_info { - name: "int" - size: 4 - alignment: 4 - referenced_type: "int" - source_file: "" - linker_set_key: "int" - } - is_unsigned: false - is_integral: true -} -builtin_types { - type_info { - name: "char" - size: 1 - alignment: 1 - referenced_type: "char" - source_file: "" - linker_set_key: "char" - } - is_unsigned: false - is_integral: true -} -builtin_types { - type_info { - name: "short" - size: 2 - alignment: 2 - referenced_type: "short" - source_file: "" - linker_set_key: "short" - } - is_unsigned: false - is_integral: true -} -builtin_types { - type_info { - name: "long" - size: 8 - alignment: 8 - referenced_type: "long" - source_file: "" - linker_set_key: "long" - } - is_unsigned: false - is_integral: true -} -builtin_types { - type_info { - name: "long long" - size: 8 - alignment: 8 - referenced_type: "long long" - source_file: "" - linker_set_key: "long long" - } - is_unsigned: false - is_integral: true -} -builtin_types { - type_info { - name: "unsigned char" - size: 1 - alignment: 1 - referenced_type: "unsigned char" - source_file: "" - linker_set_key: "unsigned char" - } - is_unsigned: true - is_integral: true -} -builtin_types { - type_info { - name: "unsigned short" - size: 2 - alignment: 2 - referenced_type: "unsigned short" - source_file: "" - linker_set_key: "unsigned short" - } - is_unsigned: true - is_integral: true -} -builtin_types { - type_info { - name: "unsigned int" - size: 4 - alignment: 4 - referenced_type: "unsigned int" - source_file: "" - linker_set_key: "unsigned int" - } - is_unsigned: true - is_integral: true -} -builtin_types { - type_info { - name: "unsigned long" - size: 8 - alignment: 8 - referenced_type: "unsigned long" - source_file: "" - linker_set_key: "unsigned long" - } - is_unsigned: true - is_integral: true -} -builtin_types { - type_info { - name: "unsigned long long" - size: 8 - alignment: 8 - referenced_type: "unsigned long long" - source_file: "" - linker_set_key: "unsigned long long" - } - is_unsigned: true - is_integral: true -} -builtin_types { - type_info { - name: "float" - size: 4 - alignment: 4 - referenced_type: "float" - source_file: "" - linker_set_key: "float" - } - is_unsigned: false - is_integral: false -} -builtin_types { - type_info { - name: "double" - size: 8 - alignment: 8 - referenced_type: "double" - source_file: "" - linker_set_key: "double" - } - is_unsigned: false - is_integral: false -} -builtin_types { - type_info { - name: "long double" - size: 16 - alignment: 16 - referenced_type: "long double" - source_file: "" - linker_set_key: "long double" - } - is_unsigned: false - is_integral: false -} -functions { - return_type: "void" - function_name: "test_char" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" - parameters { - referenced_type: "int" - default_arg: false - } - parameters { - referenced_type: "char" - default_arg: false - } - linker_set_key: "test_char" - access: public_access -} -functions { - return_type: "void" - function_name: "test_short" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" - parameters { - referenced_type: "int" - default_arg: false - } - parameters { - referenced_type: "short" - default_arg: false - } - linker_set_key: "test_short" - access: public_access -} -functions { - return_type: "void" - function_name: "test_int" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" - parameters { - referenced_type: "int" - default_arg: false - } - parameters { - referenced_type: "int" - default_arg: false - } - linker_set_key: "test_int" - access: public_access -} -functions { - return_type: "void" - function_name: "test_long" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" - parameters { - referenced_type: "int" - default_arg: false - } - parameters { - referenced_type: "long" - default_arg: false - } - linker_set_key: "test_long" - access: public_access -} -functions { - return_type: "void" - function_name: "test_long_long" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" - parameters { - referenced_type: "int" - default_arg: false - } - parameters { - referenced_type: "long long" - default_arg: false - } - linker_set_key: "test_long_long" - access: public_access -} -functions { - return_type: "void" - function_name: "test_unsigned_char" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" - parameters { - referenced_type: "int" - default_arg: false - } - parameters { - referenced_type: "unsigned char" - default_arg: false - } - linker_set_key: "test_unsigned_char" - access: public_access -} -functions { - return_type: "void" - function_name: "test_unsigned_short" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" - parameters { - referenced_type: "int" - default_arg: false - } - parameters { - referenced_type: "unsigned short" - default_arg: false - } - linker_set_key: "test_unsigned_short" - access: public_access -} -functions { - return_type: "void" - function_name: "test_unsigned_int" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" - parameters { - referenced_type: "int" - default_arg: false - } - parameters { - referenced_type: "unsigned int" - default_arg: false - } - linker_set_key: "test_unsigned_int" - access: public_access -} -functions { - return_type: "void" - function_name: "test_unsigned_long" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" - parameters { - referenced_type: "int" - default_arg: false - } - parameters { - referenced_type: "unsigned long" - default_arg: false - } - linker_set_key: "test_unsigned_long" - access: public_access -} -functions { - return_type: "void" - function_name: "test_unsigned_long_long" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" - parameters { - referenced_type: "int" - default_arg: false - } - parameters { - referenced_type: "unsigned long long" - default_arg: false - } - linker_set_key: "test_unsigned_long_long" - access: public_access -} -functions { - return_type: "void" - function_name: "test_unsigned_float" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" - parameters { - referenced_type: "int" - default_arg: false - } - parameters { - referenced_type: "float" - default_arg: false - } - linker_set_key: "test_unsigned_float" - access: public_access -} -functions { - return_type: "void" - function_name: "test_unsigned_double" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" - parameters { - referenced_type: "int" - default_arg: false - } - parameters { - referenced_type: "double" - default_arg: false - } - linker_set_key: "test_unsigned_double" - access: public_access -} -functions { - return_type: "void" - function_name: "test_unsigned_long_double" - source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" - parameters { - referenced_type: "int" - default_arg: false - } - parameters { - referenced_type: "long double" - default_arg: false - } - linker_set_key: "test_unsigned_long_double" - access: public_access -} diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libc_and_cpp.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libc_and_cpp.so.lsdump index be52321932beeb77503e5351eb71fde0ebf8e8d1..90514f7f80102eb9f91197c9aa2d74eeb59c7bb5 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm/libc_and_cpp.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libc_and_cpp.so.lsdump @@ -1,22 +1,29 @@ record_types { type_info { - name: "Cinner" - size: 4 + name: "Foo" + size: 8 alignment: 4 - referenced_type: "Cinner" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cinner" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + linker_set_key: "Foo" + self_type: "type-1" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 - field_name: "c" - access: public_access + field_name: "a_" + access: private_access + } + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "b_" + access: private_access } access: public_access - record_kind: struct_kind + record_kind: class_kind tag_info { - unique_id: "_ZTS6Cinner" + unique_id: "_ZTS3Foo" } } record_types { @@ -24,18 +31,19 @@ record_types { name: "Cstruct" size: 8 alignment: 4 - referenced_type: "Cstruct" + referenced_type: "type-6" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" linker_set_key: "Cstruct" + self_type: "type-6" } fields { - referenced_type: "int" + referenced_type: "type-3" field_offset: 0 field_name: "a" access: public_access } fields { - referenced_type: "Cinner *" + referenced_type: "type-7" field_offset: 32 field_name: "b" access: public_access @@ -48,49 +56,46 @@ record_types { } record_types { type_info { - name: "Foo" - size: 8 + name: "Cinner" + size: 4 alignment: 4 - referenced_type: "Foo" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "Foo" + referenced_type: "type-8" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner" + self_type: "type-8" } fields { - referenced_type: "int *" + referenced_type: "type-3" field_offset: 0 - field_name: "a_" - access: private_access - } - fields { - referenced_type: "int *" - field_offset: 32 - field_name: "b_" - access: private_access + field_name: "c" + access: public_access } access: public_access - record_kind: class_kind + record_kind: struct_kind tag_info { - unique_id: "_ZTS3Foo" + unique_id: "_ZTS6Cinner" } } pointer_types { type_info { - name: "Cinner *" + name: "Foo *" size: 4 alignment: 4 - referenced_type: "Cinner" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cinner *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + linker_set_key: "Foo *" + self_type: "type-10" } } pointer_types { type_info { - name: "Cstruct *" + name: "int *" size: 4 alignment: 4 - referenced_type: "Cstruct" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cstruct *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + linker_set_key: "int *" + self_type: "type-2" } } pointer_types { @@ -98,29 +103,32 @@ pointer_types { name: "Cstruct **" size: 4 alignment: 4 - referenced_type: "Cstruct *" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" linker_set_key: "Cstruct **" + self_type: "type-4" } } pointer_types { type_info { - name: "Foo *" + name: "Cstruct *" size: 4 alignment: 4 - referenced_type: "Foo" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "Foo *" + referenced_type: "type-6" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct *" + self_type: "type-5" } } pointer_types { type_info { - name: "int *" + name: "Cinner *" size: 4 alignment: 4 - referenced_type: "int" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "int *" + referenced_type: "type-8" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner *" + self_type: "type-7" } } builtin_types { @@ -128,9 +136,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-3" source_file: "" linker_set_key: "int" + self_type: "type-3" } is_unsigned: false is_integral: true @@ -140,34 +149,35 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-9" source_file: "" linker_set_key: "void" + self_type: "type-9" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-9" function_name: "CFunction" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" parameters { - referenced_type: "Cstruct **" + referenced_type: "type-4" default_arg: false } linker_set_key: "CFunction" access: public_access } functions { - return_type: "Foo" + return_type: "type-1" function_name: "foo" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" parameters { - referenced_type: "int *" + referenced_type: "type-2" default_arg: false } parameters { - referenced_type: "int *" + referenced_type: "type-2" default_arg: false } linker_set_key: "_Z3fooPiS_" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libc_and_cpp_with_unused_struct.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libc_and_cpp_with_unused_struct.so.lsdump index 76367c4be1c399b9df6a9c3da74baa3453018320..610c5c61567fe67c53e2aa85d585c4ca0a85a69a 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm/libc_and_cpp_with_unused_struct.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libc_and_cpp_with_unused_struct.so.lsdump @@ -1,22 +1,23 @@ record_types { type_info { - name: "Cinner" + name: "UnusedStruct" size: 4 alignment: 4 - referenced_type: "Cinner" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cinner" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + linker_set_key: "UnusedStruct" + self_type: "type-1" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 - field_name: "c" + field_name: "mUnusedMember" access: public_access } access: public_access record_kind: struct_kind tag_info { - unique_id: "_ZTS6Cinner" + unique_id: "_ZTS12UnusedStruct" } } record_types { @@ -24,18 +25,19 @@ record_types { name: "Cstruct" size: 8 alignment: 4 - referenced_type: "Cstruct" + referenced_type: "type-4" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" linker_set_key: "Cstruct" + self_type: "type-4" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "a" access: public_access } fields { - referenced_type: "Cinner *" + referenced_type: "type-5" field_offset: 32 field_name: "b" access: public_access @@ -46,23 +48,46 @@ record_types { unique_id: "_ZTS7Cstruct" } } +record_types { + type_info { + name: "Cinner" + size: 4 + alignment: 4 + referenced_type: "type-6" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner" + self_type: "type-6" + } + fields { + referenced_type: "type-2" + field_offset: 0 + field_name: "c" + access: public_access + } + access: public_access + record_kind: struct_kind + tag_info { + unique_id: "_ZTS6Cinner" + } +} record_types { type_info { name: "Foo" size: 8 alignment: 4 - referenced_type: "Foo" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" linker_set_key: "Foo" + self_type: "type-8" } fields { - referenced_type: "int *" + referenced_type: "type-9" field_offset: 0 field_name: "a_" access: private_access } fields { - referenced_type: "int *" + referenced_type: "type-9" field_offset: 32 field_name: "b_" access: private_access @@ -73,35 +98,26 @@ record_types { unique_id: "_ZTS3Foo" } } -record_types { +pointer_types { type_info { - name: "UnusedStruct" + name: "int *" size: 4 alignment: 4 - referenced_type: "UnusedStruct" + referenced_type: "type-2" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "UnusedStruct" - } - fields { - referenced_type: "int" - field_offset: 0 - field_name: "mUnusedMember" - access: public_access - } - access: public_access - record_kind: struct_kind - tag_info { - unique_id: "_ZTS12UnusedStruct" + linker_set_key: "int *" + self_type: "type-9" } } pointer_types { type_info { - name: "Cinner *" + name: "Cstruct **" size: 4 alignment: 4 - referenced_type: "Cinner" + referenced_type: "type-3" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cinner *" + linker_set_key: "Cstruct **" + self_type: "type-7" } } pointer_types { @@ -109,19 +125,21 @@ pointer_types { name: "Cstruct *" size: 4 alignment: 4 - referenced_type: "Cstruct" + referenced_type: "type-4" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" linker_set_key: "Cstruct *" + self_type: "type-3" } } pointer_types { type_info { - name: "Cstruct **" + name: "Cinner *" size: 4 alignment: 4 - referenced_type: "Cstruct *" + referenced_type: "type-6" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cstruct **" + linker_set_key: "Cinner *" + self_type: "type-5" } } pointer_types { @@ -129,19 +147,10 @@ pointer_types { name: "Foo *" size: 4 alignment: 4 - referenced_type: "Foo" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" linker_set_key: "Foo *" - } -} -pointer_types { - type_info { - name: "int *" - size: 4 - alignment: 4 - referenced_type: "int" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "int *" + self_type: "type-11" } } builtin_types { @@ -149,9 +158,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -161,34 +171,35 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "CFunction" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" parameters { - referenced_type: "Cstruct **" + referenced_type: "type-7" default_arg: false } linker_set_key: "CFunction" access: public_access } functions { - return_type: "Foo" + return_type: "type-8" function_name: "foo" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" parameters { - referenced_type: "int *" + referenced_type: "type-9" default_arg: false } parameters { - referenced_type: "int *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_Z3fooPiS_" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp.so.lsdump index 971fa9a6aa59846848d6dab21b3d235858b3fb10..37a453e8fe391889730ed1538727d25e47388596 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_add_function.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_add_function.so.lsdump index 6d6b70e18fc5289d89aaa0cfe225bee4ec3aac30..0dd522c363876ad187ffa9f6b211fd7ef76c0850 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_add_function.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_add_function.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,122 +290,123 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::~SuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeakerD2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "int" + return_type: "type-2" function_name: "HighVolumeSpeaker::AddedFunction" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker13AddedFunctionEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_add_global_variable.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_add_global_variable.so.lsdump index b1265337797553f35b6c4608cedf00008e3ef3d4..e2e0214aa2a3c808f57c43887609507b956b8246 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_add_global_variable.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_add_global_variable.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,123 +290,117 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::~SuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeakerD2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" access: public_access } -global_vars { - name: "HighVolumeSpeaker::global_unprotected_id" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "_ZN17HighVolumeSpeaker21global_unprotected_idE" - referenced_type: "int" - access: public_access -} elf_functions { name: "_Z26test_virtual_function_callP12SuperSpeaker" } diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_change_function_access.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_change_function_access.so.lsdump index 8d34659c1abf85ba860d1c8a81313d5e2bd8a57d..3cb585f8380bff1136d8213d34272bfcd436120e 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_change_function_access.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_change_function_access.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: private_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_change_member_access.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_change_member_access.so.lsdump index 2b61151d3773fb3c2930f0bb709f25b6f4ec09d4..b9a056d2653612219df44fab6aab96ba94cac98f 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_change_member_access.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_change_member_access.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: private_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: private_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,51 +75,63 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: private_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" access: private_access } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access + } vtable_layout { vtable_components { kind: OffsetToTop @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_enum_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_enum_diff.so.lsdump index d602695542cf81c12fb02b6fbf487ccec28b7959..29cfe0931c4a83b2c804f9dbdedb88cd5a5e9192 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_enum_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_enum_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-4" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-4" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-5" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "int" + underlying_type: "type-2" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -196,32 +200,35 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-4" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-3" } } pointer_types { @@ -229,9 +236,10 @@ pointer_types { name: "float *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-7" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "float *" + self_type: "type-6" } } builtin_types { @@ -239,9 +247,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-7" source_file: "" linker_set_key: "float" + self_type: "type-7" } is_unsigned: false is_integral: false @@ -251,9 +260,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -263,9 +273,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-5" source_file: "" linker_set_key: "unsigned int" + self_type: "type-5" } is_unsigned: true is_integral: true @@ -275,100 +286,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-7" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_enum_extended.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_enum_extended.so.lsdump index 7ff904799d2542114cb8c19fce05f02f3274a54c..02fdc977a28f47e0171216cdd6b40d6f57fc43bc 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_enum_extended.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_enum_extended.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -204,42 +208,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -247,9 +255,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -259,9 +268,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -271,9 +281,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -283,100 +294,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_cv_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_cv_diff.so.lsdump index 393c5590c7b33454ad758b32e27c58225c3cbc57..a9f7529ac42ab3e75428cb4a3c2d4d7b00fbba45 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_cv_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_cv_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "const float *" - field_offset: 96 - field_name: "const_speaker_float_star" - access: public_access + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-12" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "const_speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-9" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-9" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,32 +204,35 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-10" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-13" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } pointer_types { @@ -233,9 +240,10 @@ pointer_types { name: "const float *" size: 4 alignment: 4 - referenced_type: "const float" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "const float *" + self_type: "type-7" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,9 +290,10 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-11" source_file: "" linker_set_key: "void" + self_type: "type-11" } is_unsigned: false is_integral: false @@ -291,101 +303,102 @@ qualified_types { name: "const float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "const float" + self_type: "type-8" } is_const: true is_volatile: false is_restricted: false } functions { - return_type: "void" + return_type: "type-11" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-10" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-9" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-13" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_diff.so.lsdump index 58f1db759fece3287530c48bba3b0cde1b7ee6c2..75d88e8591ee7a0e4b8d743c6951f107e4e77b49 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 - alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "long long" - field_offset: 64 - field_name: "speaker_long_long" - access: public_access - } - fields { - referenced_type: "long long *" - field_offset: 128 - field_name: "speaker_long_long_star" - access: public_access + name: "HighVolumeSpeaker" + size: 8 + alignment: 4 + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-12" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 - alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + name: "LowVolumeSpeaker" + size: 24 + alignment: 8 + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_long_long" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_long_long_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-9" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,32 +204,35 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-10" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-13" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } pointer_types { @@ -233,9 +240,10 @@ pointer_types { name: "long long *" size: 4 alignment: 4 - referenced_type: "long long" + referenced_type: "type-6" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "long long *" + self_type: "type-7" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "long long" size: 8 alignment: 8 - referenced_type: "long long" + referenced_type: "type-6" source_file: "" linker_set_key: "long long" + self_type: "type-6" } is_unsigned: false is_integral: true @@ -279,9 +290,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-9" source_file: "" linker_set_key: "unsigned int" + self_type: "type-9" } is_unsigned: true is_integral: true @@ -291,100 +303,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-11" source_file: "" linker_set_key: "void" + self_type: "type-11" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-11" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-10" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-13" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_fake_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_fake_diff.so.lsdump index a1256f03cc2522a6f108e1c45d857d2ff6735c85..02fedd460ee223ec455717ab49df92accbf72fee 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_fake_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_fake_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "char32_t" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-12" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-6" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-6" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-7" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-4" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-9" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-10" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-13" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-4" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-6" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-5" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "char32_t" size: 4 alignment: 4 - referenced_type: "char32_t" + referenced_type: "type-7" source_file: "" linker_set_key: "char32_t" + self_type: "type-7" } is_unsigned: true is_integral: true @@ -255,9 +264,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -267,9 +277,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -279,9 +290,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-9" source_file: "" linker_set_key: "unsigned int" + self_type: "type-9" } is_unsigned: true is_integral: true @@ -291,100 +303,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-11" source_file: "" linker_set_key: "void" + self_type: "type-11" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-11" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-10" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-5" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-5" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-13" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_integral_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_integral_type_diff.so.lsdump index abc774ade5e4e50c01af37ee8201e21f605b2a50..e283091f688c920d162b52ae6dfc5b3eb838add8 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_integral_type_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_integral_type_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "float" - field_offset: 64 - field_name: "speaker_float" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-3" + field_offset: 64 + field_name: "speaker_float" + access: public_access + } + fields { + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-7" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-7" } - underlying_type: "unsigned int" + underlying_type: "type-8" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-6" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-8" source_file: "" linker_set_key: "unsigned int" + self_type: "type-8" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-7" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_name_changed.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_name_changed.so.lsdump new file mode 100644 index 0000000000000000000000000000000000000000..69ac3f1811b0f305c3c3724f80bf9d792d8cd150 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_name_changed.so.lsdump @@ -0,0 +1,428 @@ +record_types { + type_info { + name: "SuperSpeaker" + size: 8 + alignment: 4 + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" + } + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId_" + access: private_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "_ZTI12SuperSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN12SuperSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN12SuperSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind + tag_info { + unique_id: "_ZTS12SuperSpeaker" + } +} +record_types { + type_info { + name: "HighVolumeSpeaker" + size: 8 + alignment: 4 + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "_ZTI17HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind + tag_info { + unique_id: "_ZTS17HighVolumeSpeaker" + } +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + alignment: 4 + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" + } + fields { + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t_" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star_" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "_ZTI16LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind + tag_info { + unique_id: "_ZTS16LowVolumeSpeaker" + } +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "type-8" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" + } + underlying_type: "type-6" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + name: "SuperSpeaker::Volume::Lower" + } + access: private_access + tag_info { + unique_id: "_ZTSN12SuperSpeaker6VolumeE" + } +} +pointer_types { + type_info { + name: "SuperSpeaker *" + size: 4 + alignment: 4 + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" + } +} +pointer_types { + type_info { + name: "float *" + size: 4 + alignment: 4 + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" + } +} +pointer_types { + type_info { + name: "LowVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" + } +} +builtin_types { + type_info { + name: "float" + size: 4 + alignment: 4 + referenced_type: "type-3" + source_file: "" + linker_set_key: "float" + self_type: "type-3" + } + is_unsigned: false + is_integral: false +} +builtin_types { + type_info { + name: "int" + size: 4 + alignment: 4 + referenced_type: "type-2" + source_file: "" + linker_set_key: "int" + self_type: "type-2" + } + is_unsigned: false + is_integral: true +} +builtin_types { + type_info { + name: "unsigned int" + size: 4 + alignment: 4 + referenced_type: "type-6" + source_file: "" + linker_set_key: "unsigned int" + self_type: "type-6" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "type-10" + source_file: "" + linker_set_key: "void" + self_type: "type-10" + } + is_unsigned: false + is_integral: false +} +functions { + return_type: "type-10" + function_name: "SuperSpeaker::SpeakLouder" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + parameters { + referenced_type: "type-9" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" + access: public_access +} +functions { + return_type: "type-9" + function_name: "SuperSpeaker::CreateSuperSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + parameters { + referenced_type: "type-2" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" + access: public_access +} +functions { + return_type: "type-8" + function_name: "SuperSpeaker::SpeakLoud" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + parameters { + referenced_type: "type-9" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + access: public_access +} +functions { + return_type: "type-10" + function_name: "LowVolumeSpeaker::Speak" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + parameters { + referenced_type: "type-4" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + access: public_access +} +functions { + return_type: "type-10" + function_name: "LowVolumeSpeaker::Listen" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + parameters { + referenced_type: "type-4" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +functions { + return_type: "type-12" + function_name: "HighVolumeSpeaker::BadPractice" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + parameters { + referenced_type: "type-12" + default_arg: false + } + parameters { + referenced_type: "type-3" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" + access: public_access +} +functions { + return_type: "type-10" + function_name: "HighVolumeSpeaker::Speak" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + parameters { + referenced_type: "type-12" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" + access: public_access +} +functions { + return_type: "type-10" + function_name: "HighVolumeSpeaker::Listen" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + parameters { + referenced_type: "type-12" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_parameter_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_parameter_type_diff.so.lsdump index 2eebc5fda851a7338bebd12846aa4b05c3034480..529a41396c30077d8c42ca3f532c0be9dd0c8b09 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_parameter_type_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_parameter_type_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-4" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-4" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-5" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-5" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,32 +204,35 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-4" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-3" } } pointer_types { @@ -233,9 +240,10 @@ pointer_types { name: "float *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-7" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "float *" + self_type: "type-6" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-7" source_file: "" linker_set_key: "float" + self_type: "type-7" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-5" source_file: "" linker_set_key: "unsigned int" + self_type: "type-5" } is_unsigned: true is_integral: true @@ -279,111 +290,112 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::~SuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeakerD2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEi" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_return_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_return_type_diff.so.lsdump index f64fcd8663d84b97a268e37d382f89dc76aef3d2..8b4497946dfbacab3acf1799680cde8f1da1365d 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_return_type_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_return_type_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "int" + return_type: "type-2" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "int" + return_type: "type-2" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump index 8a745f2d15083a33b3f7accb6fb4ed9a3925ef54..a30665c61a07a1121c35f1cc99b1cd415c6d5cb7 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_vtable_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_vtable_diff.so.lsdump index b3f4f65d194b501d9f86d4ae8d73a9b25aba12ba..687ee8c5b69eb75051defff1778dfa9b710c5aec 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_vtable_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_vtable_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,96 +290,97 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libreproducability.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libreproducability.so.lsdump index 2fd114f291e60b2be3e65e438e75b482f33397cb..406c66c7caefccc347ea7625025908bb2639f6c4 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm/libreproducability.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libreproducability.so.lsdump @@ -3,12 +3,13 @@ record_types { name: "ShouldRepro" size: 4 alignment: 4 - referenced_type: "ShouldRepro" + referenced_type: "type-1" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/reproducability_c.h" linker_set_key: "ShouldRepro" + self_type: "type-1" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "a" access: public_access @@ -24,9 +25,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libc_and_cpp.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libc_and_cpp.so.lsdump index 358c99667d7d0dd858720cbac7278de6b09c00fa..d72294e6e89ed3c4d5bef851814a3f6ba7716601 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libc_and_cpp.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libc_and_cpp.so.lsdump @@ -1,22 +1,29 @@ record_types { type_info { - name: "Cinner" - size: 4 - alignment: 4 - referenced_type: "Cinner" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cinner" + name: "Foo" + size: 16 + alignment: 8 + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + linker_set_key: "Foo" + self_type: "type-1" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 - field_name: "c" - access: public_access + field_name: "a_" + access: private_access + } + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "b_" + access: private_access } access: public_access - record_kind: struct_kind + record_kind: class_kind tag_info { - unique_id: "_ZTS6Cinner" + unique_id: "_ZTS3Foo" } } record_types { @@ -24,18 +31,19 @@ record_types { name: "Cstruct" size: 16 alignment: 8 - referenced_type: "Cstruct" + referenced_type: "type-6" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" linker_set_key: "Cstruct" + self_type: "type-6" } fields { - referenced_type: "int" + referenced_type: "type-3" field_offset: 0 field_name: "a" access: public_access } fields { - referenced_type: "Cinner *" + referenced_type: "type-7" field_offset: 64 field_name: "b" access: public_access @@ -48,49 +56,46 @@ record_types { } record_types { type_info { - name: "Foo" - size: 16 - alignment: 8 - referenced_type: "Foo" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "Foo" + name: "Cinner" + size: 4 + alignment: 4 + referenced_type: "type-8" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner" + self_type: "type-8" } fields { - referenced_type: "int *" + referenced_type: "type-3" field_offset: 0 - field_name: "a_" - access: private_access - } - fields { - referenced_type: "int *" - field_offset: 64 - field_name: "b_" - access: private_access + field_name: "c" + access: public_access } access: public_access - record_kind: class_kind + record_kind: struct_kind tag_info { - unique_id: "_ZTS3Foo" + unique_id: "_ZTS6Cinner" } } pointer_types { type_info { - name: "Cinner *" + name: "Foo *" size: 8 alignment: 8 - referenced_type: "Cinner" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cinner *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + linker_set_key: "Foo *" + self_type: "type-10" } } pointer_types { type_info { - name: "Cstruct *" + name: "int *" size: 8 alignment: 8 - referenced_type: "Cstruct" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cstruct *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + linker_set_key: "int *" + self_type: "type-2" } } pointer_types { @@ -98,29 +103,32 @@ pointer_types { name: "Cstruct **" size: 8 alignment: 8 - referenced_type: "Cstruct *" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" linker_set_key: "Cstruct **" + self_type: "type-4" } } pointer_types { type_info { - name: "Foo *" + name: "Cstruct *" size: 8 alignment: 8 - referenced_type: "Foo" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "Foo *" + referenced_type: "type-6" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct *" + self_type: "type-5" } } pointer_types { type_info { - name: "int *" + name: "Cinner *" size: 8 alignment: 8 - referenced_type: "int" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "int *" + referenced_type: "type-8" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner *" + self_type: "type-7" } } builtin_types { @@ -128,9 +136,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-3" source_file: "" linker_set_key: "int" + self_type: "type-3" } is_unsigned: false is_integral: true @@ -140,34 +149,35 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-9" source_file: "" linker_set_key: "void" + self_type: "type-9" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-9" function_name: "CFunction" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" parameters { - referenced_type: "Cstruct **" + referenced_type: "type-4" default_arg: false } linker_set_key: "CFunction" access: public_access } functions { - return_type: "Foo" + return_type: "type-1" function_name: "foo" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" parameters { - referenced_type: "int *" + referenced_type: "type-2" default_arg: false } parameters { - referenced_type: "int *" + referenced_type: "type-2" default_arg: false } linker_set_key: "_Z3fooPiS_" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libc_and_cpp_with_unused_struct.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libc_and_cpp_with_unused_struct.so.lsdump index 012c760fa59f2cdd930a1a098bc7976f69fa1e80..0e9e1da523f833a5aeace8870dc438dc54829e4f 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libc_and_cpp_with_unused_struct.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libc_and_cpp_with_unused_struct.so.lsdump @@ -1,22 +1,23 @@ record_types { type_info { - name: "Cinner" + name: "UnusedStruct" size: 4 alignment: 4 - referenced_type: "Cinner" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cinner" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + linker_set_key: "UnusedStruct" + self_type: "type-1" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 - field_name: "c" + field_name: "mUnusedMember" access: public_access } access: public_access record_kind: struct_kind tag_info { - unique_id: "_ZTS6Cinner" + unique_id: "_ZTS12UnusedStruct" } } record_types { @@ -24,18 +25,19 @@ record_types { name: "Cstruct" size: 16 alignment: 8 - referenced_type: "Cstruct" + referenced_type: "type-4" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" linker_set_key: "Cstruct" + self_type: "type-4" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "a" access: public_access } fields { - referenced_type: "Cinner *" + referenced_type: "type-5" field_offset: 64 field_name: "b" access: public_access @@ -46,23 +48,46 @@ record_types { unique_id: "_ZTS7Cstruct" } } +record_types { + type_info { + name: "Cinner" + size: 4 + alignment: 4 + referenced_type: "type-6" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner" + self_type: "type-6" + } + fields { + referenced_type: "type-2" + field_offset: 0 + field_name: "c" + access: public_access + } + access: public_access + record_kind: struct_kind + tag_info { + unique_id: "_ZTS6Cinner" + } +} record_types { type_info { name: "Foo" size: 16 alignment: 8 - referenced_type: "Foo" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" linker_set_key: "Foo" + self_type: "type-8" } fields { - referenced_type: "int *" + referenced_type: "type-9" field_offset: 0 field_name: "a_" access: private_access } fields { - referenced_type: "int *" + referenced_type: "type-9" field_offset: 64 field_name: "b_" access: private_access @@ -73,35 +98,26 @@ record_types { unique_id: "_ZTS3Foo" } } -record_types { +pointer_types { type_info { - name: "UnusedStruct" - size: 4 - alignment: 4 - referenced_type: "UnusedStruct" + name: "int *" + size: 8 + alignment: 8 + referenced_type: "type-2" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "UnusedStruct" - } - fields { - referenced_type: "int" - field_offset: 0 - field_name: "mUnusedMember" - access: public_access - } - access: public_access - record_kind: struct_kind - tag_info { - unique_id: "_ZTS12UnusedStruct" + linker_set_key: "int *" + self_type: "type-9" } } pointer_types { type_info { - name: "Cinner *" + name: "Cstruct **" size: 8 alignment: 8 - referenced_type: "Cinner" + referenced_type: "type-3" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cinner *" + linker_set_key: "Cstruct **" + self_type: "type-7" } } pointer_types { @@ -109,19 +125,21 @@ pointer_types { name: "Cstruct *" size: 8 alignment: 8 - referenced_type: "Cstruct" + referenced_type: "type-4" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" linker_set_key: "Cstruct *" + self_type: "type-3" } } pointer_types { type_info { - name: "Cstruct **" + name: "Cinner *" size: 8 alignment: 8 - referenced_type: "Cstruct *" + referenced_type: "type-6" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cstruct **" + linker_set_key: "Cinner *" + self_type: "type-5" } } pointer_types { @@ -129,19 +147,10 @@ pointer_types { name: "Foo *" size: 8 alignment: 8 - referenced_type: "Foo" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" linker_set_key: "Foo *" - } -} -pointer_types { - type_info { - name: "int *" - size: 8 - alignment: 8 - referenced_type: "int" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "int *" + self_type: "type-11" } } builtin_types { @@ -149,9 +158,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -161,34 +171,35 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "CFunction" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" parameters { - referenced_type: "Cstruct **" + referenced_type: "type-7" default_arg: false } linker_set_key: "CFunction" access: public_access } functions { - return_type: "Foo" + return_type: "type-8" function_name: "foo" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" parameters { - referenced_type: "int *" + referenced_type: "type-9" default_arg: false } parameters { - referenced_type: "int *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_Z3fooPiS_" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp.so.lsdump index 465ede8c165db88a9f1fcd0d84e65ec088c90321..3990163125c10928b8f6eb3004f13bc292e6f673 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_add_function.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_add_function.so.lsdump index 406b6efe3ba8f7fb6850df62fe4f06efb842f3c4..ccb26f6ccbdb06c94af42799af75f7ab7f08abd7 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_add_function.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_add_function.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,122 +290,123 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::~SuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeakerD2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "int" + return_type: "type-2" function_name: "HighVolumeSpeaker::AddedFunction" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker13AddedFunctionEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_add_global_variable.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_add_global_variable.so.lsdump index 04acd4aeb5534e74d270396a54d03ddf07d929b2..e8367b575278fed20e3c88331374befc3f3e23c3 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_add_global_variable.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_add_global_variable.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,123 +290,117 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::~SuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeakerD2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" access: public_access } -global_vars { - name: "HighVolumeSpeaker::global_unprotected_id" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "_ZN17HighVolumeSpeaker21global_unprotected_idE" - referenced_type: "int" - access: public_access -} elf_functions { name: "_Z26test_virtual_function_callP12SuperSpeaker" } diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_change_function_access.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_change_function_access.so.lsdump index 06d39c849ceb5b1728eac3c8573bd6c9d8cb4c8a..1aa765f278604f53fa598b4d324e0380cbc44e15 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_change_function_access.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_change_function_access.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: private_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_change_member_access.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_change_member_access.so.lsdump index 65250cb1ff23566134d68af6f4b0a83549cdcf00..3dc6dffd11fbe9e55868d9966f7edb5dc23b6184 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_change_member_access.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_change_member_access.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: private_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: private_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,51 +75,63 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: private_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" access: private_access } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access + } vtable_layout { vtable_components { kind: OffsetToTop @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_enum_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_enum_diff.so.lsdump index d30af78e59afbce2625351e29c1b684980f27362..ca92c59fdfd26109861ae5fd40e30741be95f9f8 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_enum_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_enum_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-4" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-4" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-5" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-6" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "int" + underlying_type: "type-2" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -196,32 +200,35 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-4" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-3" } } pointer_types { @@ -229,9 +236,10 @@ pointer_types { name: "float *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-7" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "float *" + self_type: "type-6" } } builtin_types { @@ -239,9 +247,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-7" source_file: "" linker_set_key: "float" + self_type: "type-7" } is_unsigned: false is_integral: false @@ -251,9 +260,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -263,9 +273,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-5" source_file: "" linker_set_key: "unsigned int" + self_type: "type-5" } is_unsigned: true is_integral: true @@ -275,100 +286,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-7" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_enum_extended.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_enum_extended.so.lsdump index a7505e739ddb3c7529045d143f0345449782053d..0a48efd1145ee4c65516657545d16b97fe6ed9f8 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_enum_extended.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_enum_extended.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -204,42 +208,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -247,9 +255,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -259,9 +268,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -271,9 +281,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -283,100 +294,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_cv_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_cv_diff.so.lsdump index 9182b2860fb671a20b5b3ea3e7b06deded609a8d..13e0bc31e0aaa65b8aedf62d8617c9a6caf2bf92 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_cv_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_cv_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "const float *" - field_offset: 128 - field_name: "const_speaker_float_star" - access: public_access + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-12" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "const_speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-9" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-9" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,32 +204,35 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-10" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-13" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } pointer_types { @@ -233,9 +240,10 @@ pointer_types { name: "const float *" size: 8 alignment: 8 - referenced_type: "const float" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "const float *" + self_type: "type-7" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,9 +290,10 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-11" source_file: "" linker_set_key: "void" + self_type: "type-11" } is_unsigned: false is_integral: false @@ -291,101 +303,102 @@ qualified_types { name: "const float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "const float" + self_type: "type-8" } is_const: true is_volatile: false is_restricted: false } functions { - return_type: "void" + return_type: "type-11" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-10" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-9" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-13" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_diff.so.lsdump index b8cd3c0cf0fbb5d0471483025cd78a8f193d93a6..25b8dfc058fe9b454785830521c7b1b4345f61ac 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 32 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "long long" - field_offset: 128 - field_name: "speaker_long_long" - access: public_access - } - fields { - referenced_type: "long long *" - field_offset: 192 - field_name: "speaker_long_long_star" - access: public_access + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-12" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 32 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 128 + field_name: "speaker_long_long" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 192 + field_name: "speaker_long_long_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-9" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,32 +204,35 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-10" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-13" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } pointer_types { @@ -233,9 +240,10 @@ pointer_types { name: "long long *" size: 8 alignment: 8 - referenced_type: "long long" + referenced_type: "type-6" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "long long *" + self_type: "type-7" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "long long" size: 8 alignment: 8 - referenced_type: "long long" + referenced_type: "type-6" source_file: "" linker_set_key: "long long" + self_type: "type-6" } is_unsigned: false is_integral: true @@ -279,9 +290,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-9" source_file: "" linker_set_key: "unsigned int" + self_type: "type-9" } is_unsigned: true is_integral: true @@ -291,100 +303,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-11" source_file: "" linker_set_key: "void" + self_type: "type-11" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-11" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-10" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-13" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_fake_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_fake_diff.so.lsdump index 453cf6ec50183dbcd3651ec90868f6d0c2532d71..cae72dc1e4ec1ce6414f58b1af6b2c5b19f70516 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_fake_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_fake_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "char32_t" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-12" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-6" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-6" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-4" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-9" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-10" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-13" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-4" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-6" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-5" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "char32_t" size: 4 alignment: 4 - referenced_type: "char32_t" + referenced_type: "type-7" source_file: "" linker_set_key: "char32_t" + self_type: "type-7" } is_unsigned: true is_integral: true @@ -255,9 +264,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -267,9 +277,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -279,9 +290,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-9" source_file: "" linker_set_key: "unsigned int" + self_type: "type-9" } is_unsigned: true is_integral: true @@ -291,100 +303,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-11" source_file: "" linker_set_key: "void" + self_type: "type-11" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-11" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-10" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-5" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-5" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-13" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_integral_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_integral_type_diff.so.lsdump index d97d0e7d0753005049f68276a6fb2e43e5098874..db7ac4524b9b0015c029729a8a027957ae9b553c 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_integral_type_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_integral_type_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "float" - field_offset: 96 - field_name: "speaker_float" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-3" + field_offset: 96 + field_name: "speaker_float" + access: public_access + } + fields { + referenced_type: "type-6" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-7" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-7" } - underlying_type: "unsigned int" + underlying_type: "type-8" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-6" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-8" source_file: "" linker_set_key: "unsigned int" + self_type: "type-8" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-7" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_name_changed.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_name_changed.so.lsdump new file mode 100644 index 0000000000000000000000000000000000000000..718ae0d877ed00bc2f6f3a4c677e57a37c75123c --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_name_changed.so.lsdump @@ -0,0 +1,428 @@ +record_types { + type_info { + name: "SuperSpeaker" + size: 16 + alignment: 8 + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" + } + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId_" + access: private_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "_ZTI12SuperSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN12SuperSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN12SuperSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind + tag_info { + unique_id: "_ZTS12SuperSpeaker" + } +} +record_types { + type_info { + name: "HighVolumeSpeaker" + size: 16 + alignment: 8 + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "_ZTI17HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind + tag_info { + unique_id: "_ZTS17HighVolumeSpeaker" + } +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + alignment: 8 + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" + } + fields { + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t_" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star_" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "_ZTI16LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind + tag_info { + unique_id: "_ZTS16LowVolumeSpeaker" + } +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "type-8" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" + } + underlying_type: "type-6" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + name: "SuperSpeaker::Volume::Lower" + } + access: private_access + tag_info { + unique_id: "_ZTSN12SuperSpeaker6VolumeE" + } +} +pointer_types { + type_info { + name: "SuperSpeaker *" + size: 8 + alignment: 8 + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" + } +} +pointer_types { + type_info { + name: "float *" + size: 8 + alignment: 8 + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" + } +} +pointer_types { + type_info { + name: "LowVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" + } +} +builtin_types { + type_info { + name: "float" + size: 4 + alignment: 4 + referenced_type: "type-3" + source_file: "" + linker_set_key: "float" + self_type: "type-3" + } + is_unsigned: false + is_integral: false +} +builtin_types { + type_info { + name: "int" + size: 4 + alignment: 4 + referenced_type: "type-2" + source_file: "" + linker_set_key: "int" + self_type: "type-2" + } + is_unsigned: false + is_integral: true +} +builtin_types { + type_info { + name: "unsigned int" + size: 4 + alignment: 4 + referenced_type: "type-6" + source_file: "" + linker_set_key: "unsigned int" + self_type: "type-6" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "type-10" + source_file: "" + linker_set_key: "void" + self_type: "type-10" + } + is_unsigned: false + is_integral: false +} +functions { + return_type: "type-10" + function_name: "SuperSpeaker::SpeakLouder" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + parameters { + referenced_type: "type-9" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" + access: public_access +} +functions { + return_type: "type-9" + function_name: "SuperSpeaker::CreateSuperSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + parameters { + referenced_type: "type-2" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" + access: public_access +} +functions { + return_type: "type-8" + function_name: "SuperSpeaker::SpeakLoud" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + parameters { + referenced_type: "type-9" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + access: public_access +} +functions { + return_type: "type-10" + function_name: "LowVolumeSpeaker::Speak" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + parameters { + referenced_type: "type-4" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + access: public_access +} +functions { + return_type: "type-10" + function_name: "LowVolumeSpeaker::Listen" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + parameters { + referenced_type: "type-4" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +functions { + return_type: "type-12" + function_name: "HighVolumeSpeaker::BadPractice" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + parameters { + referenced_type: "type-12" + default_arg: false + } + parameters { + referenced_type: "type-3" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" + access: public_access +} +functions { + return_type: "type-10" + function_name: "HighVolumeSpeaker::Speak" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + parameters { + referenced_type: "type-12" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" + access: public_access +} +functions { + return_type: "type-10" + function_name: "HighVolumeSpeaker::Listen" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + parameters { + referenced_type: "type-12" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_parameter_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_parameter_type_diff.so.lsdump index 70a6fd7df78bf4908de2d4bfeef42b1a9d6048eb..1c97d32bd6d7c23fffbbce3b3b23f2ed634cdf7e 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_parameter_type_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_parameter_type_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-4" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-4" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-5" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-6" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-5" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,32 +204,35 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-4" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-3" } } pointer_types { @@ -233,9 +240,10 @@ pointer_types { name: "float *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-7" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "float *" + self_type: "type-6" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-7" source_file: "" linker_set_key: "float" + self_type: "type-7" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-5" source_file: "" linker_set_key: "unsigned int" + self_type: "type-5" } is_unsigned: true is_integral: true @@ -279,111 +290,112 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::~SuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeakerD2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEi" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_return_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_return_type_diff.so.lsdump index 26350363de889e23c77e5085161aa673e8d344c0..03537d5ed7c3ca959720be3244c271c209ad7530 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_return_type_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_return_type_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "int" + return_type: "type-2" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "int" + return_type: "type-2" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump index d7212077080d97d7d975bff1ed2c3feeefb1ae01..d99ecd57e4160b8e06783bce10b78ab70a9ed5ca 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_vtable_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_vtable_diff.so.lsdump index e234005b2eb91c1d0c7b5c1abf91fc090a517785..efbec4ee8f5ca3db2df3068e53d86774edf95ceb 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_vtable_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_vtable_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,96 +290,97 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libreproducability.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libreproducability.so.lsdump index 2fd114f291e60b2be3e65e438e75b482f33397cb..406c66c7caefccc347ea7625025908bb2639f6c4 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libreproducability.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libreproducability.so.lsdump @@ -3,12 +3,13 @@ record_types { name: "ShouldRepro" size: 4 alignment: 4 - referenced_type: "ShouldRepro" + referenced_type: "type-1" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/reproducability_c.h" linker_set_key: "ShouldRepro" + self_type: "type-1" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "a" access: public_access @@ -24,9 +25,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libc_and_cpp.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libc_and_cpp.so.lsdump index be52321932beeb77503e5351eb71fde0ebf8e8d1..90514f7f80102eb9f91197c9aa2d74eeb59c7bb5 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips/libc_and_cpp.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libc_and_cpp.so.lsdump @@ -1,22 +1,29 @@ record_types { type_info { - name: "Cinner" - size: 4 + name: "Foo" + size: 8 alignment: 4 - referenced_type: "Cinner" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cinner" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + linker_set_key: "Foo" + self_type: "type-1" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 - field_name: "c" - access: public_access + field_name: "a_" + access: private_access + } + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "b_" + access: private_access } access: public_access - record_kind: struct_kind + record_kind: class_kind tag_info { - unique_id: "_ZTS6Cinner" + unique_id: "_ZTS3Foo" } } record_types { @@ -24,18 +31,19 @@ record_types { name: "Cstruct" size: 8 alignment: 4 - referenced_type: "Cstruct" + referenced_type: "type-6" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" linker_set_key: "Cstruct" + self_type: "type-6" } fields { - referenced_type: "int" + referenced_type: "type-3" field_offset: 0 field_name: "a" access: public_access } fields { - referenced_type: "Cinner *" + referenced_type: "type-7" field_offset: 32 field_name: "b" access: public_access @@ -48,49 +56,46 @@ record_types { } record_types { type_info { - name: "Foo" - size: 8 + name: "Cinner" + size: 4 alignment: 4 - referenced_type: "Foo" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "Foo" + referenced_type: "type-8" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner" + self_type: "type-8" } fields { - referenced_type: "int *" + referenced_type: "type-3" field_offset: 0 - field_name: "a_" - access: private_access - } - fields { - referenced_type: "int *" - field_offset: 32 - field_name: "b_" - access: private_access + field_name: "c" + access: public_access } access: public_access - record_kind: class_kind + record_kind: struct_kind tag_info { - unique_id: "_ZTS3Foo" + unique_id: "_ZTS6Cinner" } } pointer_types { type_info { - name: "Cinner *" + name: "Foo *" size: 4 alignment: 4 - referenced_type: "Cinner" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cinner *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + linker_set_key: "Foo *" + self_type: "type-10" } } pointer_types { type_info { - name: "Cstruct *" + name: "int *" size: 4 alignment: 4 - referenced_type: "Cstruct" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cstruct *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + linker_set_key: "int *" + self_type: "type-2" } } pointer_types { @@ -98,29 +103,32 @@ pointer_types { name: "Cstruct **" size: 4 alignment: 4 - referenced_type: "Cstruct *" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" linker_set_key: "Cstruct **" + self_type: "type-4" } } pointer_types { type_info { - name: "Foo *" + name: "Cstruct *" size: 4 alignment: 4 - referenced_type: "Foo" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "Foo *" + referenced_type: "type-6" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct *" + self_type: "type-5" } } pointer_types { type_info { - name: "int *" + name: "Cinner *" size: 4 alignment: 4 - referenced_type: "int" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "int *" + referenced_type: "type-8" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner *" + self_type: "type-7" } } builtin_types { @@ -128,9 +136,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-3" source_file: "" linker_set_key: "int" + self_type: "type-3" } is_unsigned: false is_integral: true @@ -140,34 +149,35 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-9" source_file: "" linker_set_key: "void" + self_type: "type-9" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-9" function_name: "CFunction" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" parameters { - referenced_type: "Cstruct **" + referenced_type: "type-4" default_arg: false } linker_set_key: "CFunction" access: public_access } functions { - return_type: "Foo" + return_type: "type-1" function_name: "foo" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" parameters { - referenced_type: "int *" + referenced_type: "type-2" default_arg: false } parameters { - referenced_type: "int *" + referenced_type: "type-2" default_arg: false } linker_set_key: "_Z3fooPiS_" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libc_and_cpp_with_unused_struct.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libc_and_cpp_with_unused_struct.so.lsdump index 76367c4be1c399b9df6a9c3da74baa3453018320..610c5c61567fe67c53e2aa85d585c4ca0a85a69a 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips/libc_and_cpp_with_unused_struct.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libc_and_cpp_with_unused_struct.so.lsdump @@ -1,22 +1,23 @@ record_types { type_info { - name: "Cinner" + name: "UnusedStruct" size: 4 alignment: 4 - referenced_type: "Cinner" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cinner" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + linker_set_key: "UnusedStruct" + self_type: "type-1" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 - field_name: "c" + field_name: "mUnusedMember" access: public_access } access: public_access record_kind: struct_kind tag_info { - unique_id: "_ZTS6Cinner" + unique_id: "_ZTS12UnusedStruct" } } record_types { @@ -24,18 +25,19 @@ record_types { name: "Cstruct" size: 8 alignment: 4 - referenced_type: "Cstruct" + referenced_type: "type-4" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" linker_set_key: "Cstruct" + self_type: "type-4" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "a" access: public_access } fields { - referenced_type: "Cinner *" + referenced_type: "type-5" field_offset: 32 field_name: "b" access: public_access @@ -46,23 +48,46 @@ record_types { unique_id: "_ZTS7Cstruct" } } +record_types { + type_info { + name: "Cinner" + size: 4 + alignment: 4 + referenced_type: "type-6" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner" + self_type: "type-6" + } + fields { + referenced_type: "type-2" + field_offset: 0 + field_name: "c" + access: public_access + } + access: public_access + record_kind: struct_kind + tag_info { + unique_id: "_ZTS6Cinner" + } +} record_types { type_info { name: "Foo" size: 8 alignment: 4 - referenced_type: "Foo" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" linker_set_key: "Foo" + self_type: "type-8" } fields { - referenced_type: "int *" + referenced_type: "type-9" field_offset: 0 field_name: "a_" access: private_access } fields { - referenced_type: "int *" + referenced_type: "type-9" field_offset: 32 field_name: "b_" access: private_access @@ -73,35 +98,26 @@ record_types { unique_id: "_ZTS3Foo" } } -record_types { +pointer_types { type_info { - name: "UnusedStruct" + name: "int *" size: 4 alignment: 4 - referenced_type: "UnusedStruct" + referenced_type: "type-2" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "UnusedStruct" - } - fields { - referenced_type: "int" - field_offset: 0 - field_name: "mUnusedMember" - access: public_access - } - access: public_access - record_kind: struct_kind - tag_info { - unique_id: "_ZTS12UnusedStruct" + linker_set_key: "int *" + self_type: "type-9" } } pointer_types { type_info { - name: "Cinner *" + name: "Cstruct **" size: 4 alignment: 4 - referenced_type: "Cinner" + referenced_type: "type-3" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cinner *" + linker_set_key: "Cstruct **" + self_type: "type-7" } } pointer_types { @@ -109,19 +125,21 @@ pointer_types { name: "Cstruct *" size: 4 alignment: 4 - referenced_type: "Cstruct" + referenced_type: "type-4" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" linker_set_key: "Cstruct *" + self_type: "type-3" } } pointer_types { type_info { - name: "Cstruct **" + name: "Cinner *" size: 4 alignment: 4 - referenced_type: "Cstruct *" + referenced_type: "type-6" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cstruct **" + linker_set_key: "Cinner *" + self_type: "type-5" } } pointer_types { @@ -129,19 +147,10 @@ pointer_types { name: "Foo *" size: 4 alignment: 4 - referenced_type: "Foo" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" linker_set_key: "Foo *" - } -} -pointer_types { - type_info { - name: "int *" - size: 4 - alignment: 4 - referenced_type: "int" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "int *" + self_type: "type-11" } } builtin_types { @@ -149,9 +158,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -161,34 +171,35 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "CFunction" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" parameters { - referenced_type: "Cstruct **" + referenced_type: "type-7" default_arg: false } linker_set_key: "CFunction" access: public_access } functions { - return_type: "Foo" + return_type: "type-8" function_name: "foo" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" parameters { - referenced_type: "int *" + referenced_type: "type-9" default_arg: false } parameters { - referenced_type: "int *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_Z3fooPiS_" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp.so.lsdump index 971fa9a6aa59846848d6dab21b3d235858b3fb10..37a453e8fe391889730ed1538727d25e47388596 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_add_function.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_add_function.so.lsdump index 6d6b70e18fc5289d89aaa0cfe225bee4ec3aac30..0dd522c363876ad187ffa9f6b211fd7ef76c0850 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_add_function.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_add_function.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,122 +290,123 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::~SuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeakerD2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "int" + return_type: "type-2" function_name: "HighVolumeSpeaker::AddedFunction" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker13AddedFunctionEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_add_global_variable.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_add_global_variable.so.lsdump index b1265337797553f35b6c4608cedf00008e3ef3d4..e2e0214aa2a3c808f57c43887609507b956b8246 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_add_global_variable.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_add_global_variable.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,123 +290,117 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::~SuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeakerD2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" access: public_access } -global_vars { - name: "HighVolumeSpeaker::global_unprotected_id" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "_ZN17HighVolumeSpeaker21global_unprotected_idE" - referenced_type: "int" - access: public_access -} elf_functions { name: "_Z26test_virtual_function_callP12SuperSpeaker" } diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_change_function_access.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_change_function_access.so.lsdump index 8d34659c1abf85ba860d1c8a81313d5e2bd8a57d..3cb585f8380bff1136d8213d34272bfcd436120e 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_change_function_access.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_change_function_access.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: private_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_change_member_access.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_change_member_access.so.lsdump index 2b61151d3773fb3c2930f0bb709f25b6f4ec09d4..b9a056d2653612219df44fab6aab96ba94cac98f 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_change_member_access.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_change_member_access.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: private_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: private_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,51 +75,63 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: private_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" access: private_access } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access + } vtable_layout { vtable_components { kind: OffsetToTop @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_enum_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_enum_diff.so.lsdump index d602695542cf81c12fb02b6fbf487ccec28b7959..29cfe0931c4a83b2c804f9dbdedb88cd5a5e9192 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_enum_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_enum_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-4" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-4" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-5" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "int" + underlying_type: "type-2" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -196,32 +200,35 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-4" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-3" } } pointer_types { @@ -229,9 +236,10 @@ pointer_types { name: "float *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-7" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "float *" + self_type: "type-6" } } builtin_types { @@ -239,9 +247,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-7" source_file: "" linker_set_key: "float" + self_type: "type-7" } is_unsigned: false is_integral: false @@ -251,9 +260,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -263,9 +273,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-5" source_file: "" linker_set_key: "unsigned int" + self_type: "type-5" } is_unsigned: true is_integral: true @@ -275,100 +286,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-7" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_enum_extended.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_enum_extended.so.lsdump index 7ff904799d2542114cb8c19fce05f02f3274a54c..02fdc977a28f47e0171216cdd6b40d6f57fc43bc 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_enum_extended.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_enum_extended.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -204,42 +208,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -247,9 +255,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -259,9 +268,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -271,9 +281,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -283,100 +294,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_cv_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_cv_diff.so.lsdump index 393c5590c7b33454ad758b32e27c58225c3cbc57..a9f7529ac42ab3e75428cb4a3c2d4d7b00fbba45 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_cv_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_cv_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "const float *" - field_offset: 96 - field_name: "const_speaker_float_star" - access: public_access + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-12" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "const_speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-9" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-9" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,32 +204,35 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-10" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-13" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } pointer_types { @@ -233,9 +240,10 @@ pointer_types { name: "const float *" size: 4 alignment: 4 - referenced_type: "const float" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "const float *" + self_type: "type-7" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,9 +290,10 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-11" source_file: "" linker_set_key: "void" + self_type: "type-11" } is_unsigned: false is_integral: false @@ -291,101 +303,102 @@ qualified_types { name: "const float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "const float" + self_type: "type-8" } is_const: true is_volatile: false is_restricted: false } functions { - return_type: "void" + return_type: "type-11" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-10" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-9" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-13" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_diff.so.lsdump index 58f1db759fece3287530c48bba3b0cde1b7ee6c2..75d88e8591ee7a0e4b8d743c6951f107e4e77b49 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 - alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "long long" - field_offset: 64 - field_name: "speaker_long_long" - access: public_access - } - fields { - referenced_type: "long long *" - field_offset: 128 - field_name: "speaker_long_long_star" - access: public_access + name: "HighVolumeSpeaker" + size: 8 + alignment: 4 + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-12" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 - alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + name: "LowVolumeSpeaker" + size: 24 + alignment: 8 + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_long_long" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_long_long_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-9" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,32 +204,35 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-10" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-13" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } pointer_types { @@ -233,9 +240,10 @@ pointer_types { name: "long long *" size: 4 alignment: 4 - referenced_type: "long long" + referenced_type: "type-6" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "long long *" + self_type: "type-7" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "long long" size: 8 alignment: 8 - referenced_type: "long long" + referenced_type: "type-6" source_file: "" linker_set_key: "long long" + self_type: "type-6" } is_unsigned: false is_integral: true @@ -279,9 +290,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-9" source_file: "" linker_set_key: "unsigned int" + self_type: "type-9" } is_unsigned: true is_integral: true @@ -291,100 +303,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-11" source_file: "" linker_set_key: "void" + self_type: "type-11" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-11" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-10" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-13" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_fake_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_fake_diff.so.lsdump index a1256f03cc2522a6f108e1c45d857d2ff6735c85..02fedd460ee223ec455717ab49df92accbf72fee 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_fake_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_fake_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "char32_t" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-12" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-6" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-6" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-7" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-4" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-9" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-10" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-13" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-4" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-6" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-5" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "char32_t" size: 4 alignment: 4 - referenced_type: "char32_t" + referenced_type: "type-7" source_file: "" linker_set_key: "char32_t" + self_type: "type-7" } is_unsigned: true is_integral: true @@ -255,9 +264,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -267,9 +277,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -279,9 +290,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-9" source_file: "" linker_set_key: "unsigned int" + self_type: "type-9" } is_unsigned: true is_integral: true @@ -291,100 +303,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-11" source_file: "" linker_set_key: "void" + self_type: "type-11" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-11" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-10" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-5" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-5" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-13" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_integral_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_integral_type_diff.so.lsdump index abc774ade5e4e50c01af37ee8201e21f605b2a50..e283091f688c920d162b52ae6dfc5b3eb838add8 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_integral_type_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_integral_type_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "float" - field_offset: 64 - field_name: "speaker_float" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-3" + field_offset: 64 + field_name: "speaker_float" + access: public_access + } + fields { + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-7" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-7" } - underlying_type: "unsigned int" + underlying_type: "type-8" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-6" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-8" source_file: "" linker_set_key: "unsigned int" + self_type: "type-8" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-7" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_name_changed.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_name_changed.so.lsdump new file mode 100644 index 0000000000000000000000000000000000000000..69ac3f1811b0f305c3c3724f80bf9d792d8cd150 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_name_changed.so.lsdump @@ -0,0 +1,428 @@ +record_types { + type_info { + name: "SuperSpeaker" + size: 8 + alignment: 4 + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" + } + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId_" + access: private_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "_ZTI12SuperSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN12SuperSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN12SuperSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind + tag_info { + unique_id: "_ZTS12SuperSpeaker" + } +} +record_types { + type_info { + name: "HighVolumeSpeaker" + size: 8 + alignment: 4 + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "_ZTI17HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind + tag_info { + unique_id: "_ZTS17HighVolumeSpeaker" + } +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + alignment: 4 + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" + } + fields { + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t_" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star_" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "_ZTI16LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind + tag_info { + unique_id: "_ZTS16LowVolumeSpeaker" + } +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "type-8" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" + } + underlying_type: "type-6" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + name: "SuperSpeaker::Volume::Lower" + } + access: private_access + tag_info { + unique_id: "_ZTSN12SuperSpeaker6VolumeE" + } +} +pointer_types { + type_info { + name: "SuperSpeaker *" + size: 4 + alignment: 4 + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" + } +} +pointer_types { + type_info { + name: "float *" + size: 4 + alignment: 4 + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" + } +} +pointer_types { + type_info { + name: "LowVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" + } +} +builtin_types { + type_info { + name: "float" + size: 4 + alignment: 4 + referenced_type: "type-3" + source_file: "" + linker_set_key: "float" + self_type: "type-3" + } + is_unsigned: false + is_integral: false +} +builtin_types { + type_info { + name: "int" + size: 4 + alignment: 4 + referenced_type: "type-2" + source_file: "" + linker_set_key: "int" + self_type: "type-2" + } + is_unsigned: false + is_integral: true +} +builtin_types { + type_info { + name: "unsigned int" + size: 4 + alignment: 4 + referenced_type: "type-6" + source_file: "" + linker_set_key: "unsigned int" + self_type: "type-6" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "type-10" + source_file: "" + linker_set_key: "void" + self_type: "type-10" + } + is_unsigned: false + is_integral: false +} +functions { + return_type: "type-10" + function_name: "SuperSpeaker::SpeakLouder" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + parameters { + referenced_type: "type-9" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" + access: public_access +} +functions { + return_type: "type-9" + function_name: "SuperSpeaker::CreateSuperSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + parameters { + referenced_type: "type-2" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" + access: public_access +} +functions { + return_type: "type-8" + function_name: "SuperSpeaker::SpeakLoud" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + parameters { + referenced_type: "type-9" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + access: public_access +} +functions { + return_type: "type-10" + function_name: "LowVolumeSpeaker::Speak" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + parameters { + referenced_type: "type-4" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + access: public_access +} +functions { + return_type: "type-10" + function_name: "LowVolumeSpeaker::Listen" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + parameters { + referenced_type: "type-4" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +functions { + return_type: "type-12" + function_name: "HighVolumeSpeaker::BadPractice" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + parameters { + referenced_type: "type-12" + default_arg: false + } + parameters { + referenced_type: "type-3" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" + access: public_access +} +functions { + return_type: "type-10" + function_name: "HighVolumeSpeaker::Speak" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + parameters { + referenced_type: "type-12" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" + access: public_access +} +functions { + return_type: "type-10" + function_name: "HighVolumeSpeaker::Listen" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + parameters { + referenced_type: "type-12" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_parameter_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_parameter_type_diff.so.lsdump index 2eebc5fda851a7338bebd12846aa4b05c3034480..529a41396c30077d8c42ca3f532c0be9dd0c8b09 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_parameter_type_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_parameter_type_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-4" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-4" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-5" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-5" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,32 +204,35 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-4" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-3" } } pointer_types { @@ -233,9 +240,10 @@ pointer_types { name: "float *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-7" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "float *" + self_type: "type-6" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-7" source_file: "" linker_set_key: "float" + self_type: "type-7" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-5" source_file: "" linker_set_key: "unsigned int" + self_type: "type-5" } is_unsigned: true is_integral: true @@ -279,111 +290,112 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::~SuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeakerD2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEi" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_return_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_return_type_diff.so.lsdump index f64fcd8663d84b97a268e37d382f89dc76aef3d2..8b4497946dfbacab3acf1799680cde8f1da1365d 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_return_type_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_return_type_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "int" + return_type: "type-2" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "int" + return_type: "type-2" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump index 8a745f2d15083a33b3f7accb6fb4ed9a3925ef54..a30665c61a07a1121c35f1cc99b1cd415c6d5cb7 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_vtable_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_vtable_diff.so.lsdump index b3f4f65d194b501d9f86d4ae8d73a9b25aba12ba..687ee8c5b69eb75051defff1778dfa9b710c5aec 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_vtable_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_vtable_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,96 +290,97 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libreproducability.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libreproducability.so.lsdump index 2fd114f291e60b2be3e65e438e75b482f33397cb..406c66c7caefccc347ea7625025908bb2639f6c4 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips/libreproducability.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libreproducability.so.lsdump @@ -3,12 +3,13 @@ record_types { name: "ShouldRepro" size: 4 alignment: 4 - referenced_type: "ShouldRepro" + referenced_type: "type-1" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/reproducability_c.h" linker_set_key: "ShouldRepro" + self_type: "type-1" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "a" access: public_access @@ -24,9 +25,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libc_and_cpp.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libc_and_cpp.so.lsdump index 358c99667d7d0dd858720cbac7278de6b09c00fa..d72294e6e89ed3c4d5bef851814a3f6ba7716601 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libc_and_cpp.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libc_and_cpp.so.lsdump @@ -1,22 +1,29 @@ record_types { type_info { - name: "Cinner" - size: 4 - alignment: 4 - referenced_type: "Cinner" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cinner" + name: "Foo" + size: 16 + alignment: 8 + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + linker_set_key: "Foo" + self_type: "type-1" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 - field_name: "c" - access: public_access + field_name: "a_" + access: private_access + } + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "b_" + access: private_access } access: public_access - record_kind: struct_kind + record_kind: class_kind tag_info { - unique_id: "_ZTS6Cinner" + unique_id: "_ZTS3Foo" } } record_types { @@ -24,18 +31,19 @@ record_types { name: "Cstruct" size: 16 alignment: 8 - referenced_type: "Cstruct" + referenced_type: "type-6" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" linker_set_key: "Cstruct" + self_type: "type-6" } fields { - referenced_type: "int" + referenced_type: "type-3" field_offset: 0 field_name: "a" access: public_access } fields { - referenced_type: "Cinner *" + referenced_type: "type-7" field_offset: 64 field_name: "b" access: public_access @@ -48,49 +56,46 @@ record_types { } record_types { type_info { - name: "Foo" - size: 16 - alignment: 8 - referenced_type: "Foo" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "Foo" + name: "Cinner" + size: 4 + alignment: 4 + referenced_type: "type-8" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner" + self_type: "type-8" } fields { - referenced_type: "int *" + referenced_type: "type-3" field_offset: 0 - field_name: "a_" - access: private_access - } - fields { - referenced_type: "int *" - field_offset: 64 - field_name: "b_" - access: private_access + field_name: "c" + access: public_access } access: public_access - record_kind: class_kind + record_kind: struct_kind tag_info { - unique_id: "_ZTS3Foo" + unique_id: "_ZTS6Cinner" } } pointer_types { type_info { - name: "Cinner *" + name: "Foo *" size: 8 alignment: 8 - referenced_type: "Cinner" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cinner *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + linker_set_key: "Foo *" + self_type: "type-10" } } pointer_types { type_info { - name: "Cstruct *" + name: "int *" size: 8 alignment: 8 - referenced_type: "Cstruct" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cstruct *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + linker_set_key: "int *" + self_type: "type-2" } } pointer_types { @@ -98,29 +103,32 @@ pointer_types { name: "Cstruct **" size: 8 alignment: 8 - referenced_type: "Cstruct *" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" linker_set_key: "Cstruct **" + self_type: "type-4" } } pointer_types { type_info { - name: "Foo *" + name: "Cstruct *" size: 8 alignment: 8 - referenced_type: "Foo" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "Foo *" + referenced_type: "type-6" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct *" + self_type: "type-5" } } pointer_types { type_info { - name: "int *" + name: "Cinner *" size: 8 alignment: 8 - referenced_type: "int" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "int *" + referenced_type: "type-8" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner *" + self_type: "type-7" } } builtin_types { @@ -128,9 +136,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-3" source_file: "" linker_set_key: "int" + self_type: "type-3" } is_unsigned: false is_integral: true @@ -140,34 +149,35 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-9" source_file: "" linker_set_key: "void" + self_type: "type-9" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-9" function_name: "CFunction" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" parameters { - referenced_type: "Cstruct **" + referenced_type: "type-4" default_arg: false } linker_set_key: "CFunction" access: public_access } functions { - return_type: "Foo" + return_type: "type-1" function_name: "foo" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" parameters { - referenced_type: "int *" + referenced_type: "type-2" default_arg: false } parameters { - referenced_type: "int *" + referenced_type: "type-2" default_arg: false } linker_set_key: "_Z3fooPiS_" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libc_and_cpp_with_unused_struct.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libc_and_cpp_with_unused_struct.so.lsdump index 012c760fa59f2cdd930a1a098bc7976f69fa1e80..0e9e1da523f833a5aeace8870dc438dc54829e4f 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libc_and_cpp_with_unused_struct.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libc_and_cpp_with_unused_struct.so.lsdump @@ -1,22 +1,23 @@ record_types { type_info { - name: "Cinner" + name: "UnusedStruct" size: 4 alignment: 4 - referenced_type: "Cinner" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cinner" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + linker_set_key: "UnusedStruct" + self_type: "type-1" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 - field_name: "c" + field_name: "mUnusedMember" access: public_access } access: public_access record_kind: struct_kind tag_info { - unique_id: "_ZTS6Cinner" + unique_id: "_ZTS12UnusedStruct" } } record_types { @@ -24,18 +25,19 @@ record_types { name: "Cstruct" size: 16 alignment: 8 - referenced_type: "Cstruct" + referenced_type: "type-4" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" linker_set_key: "Cstruct" + self_type: "type-4" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "a" access: public_access } fields { - referenced_type: "Cinner *" + referenced_type: "type-5" field_offset: 64 field_name: "b" access: public_access @@ -46,23 +48,46 @@ record_types { unique_id: "_ZTS7Cstruct" } } +record_types { + type_info { + name: "Cinner" + size: 4 + alignment: 4 + referenced_type: "type-6" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner" + self_type: "type-6" + } + fields { + referenced_type: "type-2" + field_offset: 0 + field_name: "c" + access: public_access + } + access: public_access + record_kind: struct_kind + tag_info { + unique_id: "_ZTS6Cinner" + } +} record_types { type_info { name: "Foo" size: 16 alignment: 8 - referenced_type: "Foo" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" linker_set_key: "Foo" + self_type: "type-8" } fields { - referenced_type: "int *" + referenced_type: "type-9" field_offset: 0 field_name: "a_" access: private_access } fields { - referenced_type: "int *" + referenced_type: "type-9" field_offset: 64 field_name: "b_" access: private_access @@ -73,35 +98,26 @@ record_types { unique_id: "_ZTS3Foo" } } -record_types { +pointer_types { type_info { - name: "UnusedStruct" - size: 4 - alignment: 4 - referenced_type: "UnusedStruct" + name: "int *" + size: 8 + alignment: 8 + referenced_type: "type-2" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "UnusedStruct" - } - fields { - referenced_type: "int" - field_offset: 0 - field_name: "mUnusedMember" - access: public_access - } - access: public_access - record_kind: struct_kind - tag_info { - unique_id: "_ZTS12UnusedStruct" + linker_set_key: "int *" + self_type: "type-9" } } pointer_types { type_info { - name: "Cinner *" + name: "Cstruct **" size: 8 alignment: 8 - referenced_type: "Cinner" + referenced_type: "type-3" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cinner *" + linker_set_key: "Cstruct **" + self_type: "type-7" } } pointer_types { @@ -109,19 +125,21 @@ pointer_types { name: "Cstruct *" size: 8 alignment: 8 - referenced_type: "Cstruct" + referenced_type: "type-4" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" linker_set_key: "Cstruct *" + self_type: "type-3" } } pointer_types { type_info { - name: "Cstruct **" + name: "Cinner *" size: 8 alignment: 8 - referenced_type: "Cstruct *" + referenced_type: "type-6" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cstruct **" + linker_set_key: "Cinner *" + self_type: "type-5" } } pointer_types { @@ -129,19 +147,10 @@ pointer_types { name: "Foo *" size: 8 alignment: 8 - referenced_type: "Foo" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" linker_set_key: "Foo *" - } -} -pointer_types { - type_info { - name: "int *" - size: 8 - alignment: 8 - referenced_type: "int" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "int *" + self_type: "type-11" } } builtin_types { @@ -149,9 +158,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -161,34 +171,35 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "CFunction" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" parameters { - referenced_type: "Cstruct **" + referenced_type: "type-7" default_arg: false } linker_set_key: "CFunction" access: public_access } functions { - return_type: "Foo" + return_type: "type-8" function_name: "foo" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" parameters { - referenced_type: "int *" + referenced_type: "type-9" default_arg: false } parameters { - referenced_type: "int *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_Z3fooPiS_" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp.so.lsdump index 465ede8c165db88a9f1fcd0d84e65ec088c90321..3990163125c10928b8f6eb3004f13bc292e6f673 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_add_function.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_add_function.so.lsdump index 406b6efe3ba8f7fb6850df62fe4f06efb842f3c4..ccb26f6ccbdb06c94af42799af75f7ab7f08abd7 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_add_function.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_add_function.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,122 +290,123 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::~SuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeakerD2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "int" + return_type: "type-2" function_name: "HighVolumeSpeaker::AddedFunction" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker13AddedFunctionEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_add_global_variable.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_add_global_variable.so.lsdump index 04acd4aeb5534e74d270396a54d03ddf07d929b2..e8367b575278fed20e3c88331374befc3f3e23c3 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_add_global_variable.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_add_global_variable.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,123 +290,117 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::~SuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeakerD2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" access: public_access } -global_vars { - name: "HighVolumeSpeaker::global_unprotected_id" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "_ZN17HighVolumeSpeaker21global_unprotected_idE" - referenced_type: "int" - access: public_access -} elf_functions { name: "_Z26test_virtual_function_callP12SuperSpeaker" } diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_change_function_access.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_change_function_access.so.lsdump index 06d39c849ceb5b1728eac3c8573bd6c9d8cb4c8a..1aa765f278604f53fa598b4d324e0380cbc44e15 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_change_function_access.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_change_function_access.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: private_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_change_member_access.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_change_member_access.so.lsdump index 65250cb1ff23566134d68af6f4b0a83549cdcf00..3dc6dffd11fbe9e55868d9966f7edb5dc23b6184 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_change_member_access.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_change_member_access.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: private_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: private_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,51 +75,63 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: private_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" access: private_access } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access + } vtable_layout { vtable_components { kind: OffsetToTop @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_enum_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_enum_diff.so.lsdump index d30af78e59afbce2625351e29c1b684980f27362..ca92c59fdfd26109861ae5fd40e30741be95f9f8 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_enum_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_enum_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-4" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-4" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-5" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-6" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "int" + underlying_type: "type-2" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -196,32 +200,35 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-4" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-3" } } pointer_types { @@ -229,9 +236,10 @@ pointer_types { name: "float *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-7" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "float *" + self_type: "type-6" } } builtin_types { @@ -239,9 +247,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-7" source_file: "" linker_set_key: "float" + self_type: "type-7" } is_unsigned: false is_integral: false @@ -251,9 +260,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -263,9 +273,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-5" source_file: "" linker_set_key: "unsigned int" + self_type: "type-5" } is_unsigned: true is_integral: true @@ -275,100 +286,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-7" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_enum_extended.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_enum_extended.so.lsdump index a7505e739ddb3c7529045d143f0345449782053d..0a48efd1145ee4c65516657545d16b97fe6ed9f8 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_enum_extended.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_enum_extended.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -204,42 +208,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -247,9 +255,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -259,9 +268,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -271,9 +281,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -283,100 +294,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_cv_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_cv_diff.so.lsdump index 9182b2860fb671a20b5b3ea3e7b06deded609a8d..13e0bc31e0aaa65b8aedf62d8617c9a6caf2bf92 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_cv_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_cv_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "const float *" - field_offset: 128 - field_name: "const_speaker_float_star" - access: public_access + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-12" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "const_speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-9" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-9" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,32 +204,35 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-10" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-13" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } pointer_types { @@ -233,9 +240,10 @@ pointer_types { name: "const float *" size: 8 alignment: 8 - referenced_type: "const float" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "const float *" + self_type: "type-7" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,9 +290,10 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-11" source_file: "" linker_set_key: "void" + self_type: "type-11" } is_unsigned: false is_integral: false @@ -291,101 +303,102 @@ qualified_types { name: "const float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "const float" + self_type: "type-8" } is_const: true is_volatile: false is_restricted: false } functions { - return_type: "void" + return_type: "type-11" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-10" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-9" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-13" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_diff.so.lsdump index b8cd3c0cf0fbb5d0471483025cd78a8f193d93a6..25b8dfc058fe9b454785830521c7b1b4345f61ac 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 32 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "long long" - field_offset: 128 - field_name: "speaker_long_long" - access: public_access - } - fields { - referenced_type: "long long *" - field_offset: 192 - field_name: "speaker_long_long_star" - access: public_access + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-12" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 32 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 128 + field_name: "speaker_long_long" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 192 + field_name: "speaker_long_long_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-9" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,32 +204,35 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-10" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-13" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } pointer_types { @@ -233,9 +240,10 @@ pointer_types { name: "long long *" size: 8 alignment: 8 - referenced_type: "long long" + referenced_type: "type-6" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "long long *" + self_type: "type-7" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "long long" size: 8 alignment: 8 - referenced_type: "long long" + referenced_type: "type-6" source_file: "" linker_set_key: "long long" + self_type: "type-6" } is_unsigned: false is_integral: true @@ -279,9 +290,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-9" source_file: "" linker_set_key: "unsigned int" + self_type: "type-9" } is_unsigned: true is_integral: true @@ -291,100 +303,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-11" source_file: "" linker_set_key: "void" + self_type: "type-11" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-11" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-10" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-13" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_fake_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_fake_diff.so.lsdump index 453cf6ec50183dbcd3651ec90868f6d0c2532d71..cae72dc1e4ec1ce6414f58b1af6b2c5b19f70516 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_fake_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_fake_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "char32_t" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-12" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-6" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-6" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-4" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-9" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-10" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-13" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-4" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-6" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-5" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "char32_t" size: 4 alignment: 4 - referenced_type: "char32_t" + referenced_type: "type-7" source_file: "" linker_set_key: "char32_t" + self_type: "type-7" } is_unsigned: true is_integral: true @@ -255,9 +264,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -267,9 +277,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -279,9 +290,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-9" source_file: "" linker_set_key: "unsigned int" + self_type: "type-9" } is_unsigned: true is_integral: true @@ -291,100 +303,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-11" source_file: "" linker_set_key: "void" + self_type: "type-11" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-11" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-10" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-5" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-5" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-13" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_integral_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_integral_type_diff.so.lsdump index d97d0e7d0753005049f68276a6fb2e43e5098874..db7ac4524b9b0015c029729a8a027957ae9b553c 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_integral_type_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_integral_type_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "float" - field_offset: 96 - field_name: "speaker_float" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-3" + field_offset: 96 + field_name: "speaker_float" + access: public_access + } + fields { + referenced_type: "type-6" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-7" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-7" } - underlying_type: "unsigned int" + underlying_type: "type-8" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-6" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-8" source_file: "" linker_set_key: "unsigned int" + self_type: "type-8" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-7" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_name_changed.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_name_changed.so.lsdump new file mode 100644 index 0000000000000000000000000000000000000000..718ae0d877ed00bc2f6f3a4c677e57a37c75123c --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_name_changed.so.lsdump @@ -0,0 +1,428 @@ +record_types { + type_info { + name: "SuperSpeaker" + size: 16 + alignment: 8 + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" + } + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId_" + access: private_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "_ZTI12SuperSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN12SuperSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN12SuperSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind + tag_info { + unique_id: "_ZTS12SuperSpeaker" + } +} +record_types { + type_info { + name: "HighVolumeSpeaker" + size: 16 + alignment: 8 + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "_ZTI17HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind + tag_info { + unique_id: "_ZTS17HighVolumeSpeaker" + } +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + alignment: 8 + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" + } + fields { + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t_" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star_" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "_ZTI16LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind + tag_info { + unique_id: "_ZTS16LowVolumeSpeaker" + } +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "type-8" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" + } + underlying_type: "type-6" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + name: "SuperSpeaker::Volume::Lower" + } + access: private_access + tag_info { + unique_id: "_ZTSN12SuperSpeaker6VolumeE" + } +} +pointer_types { + type_info { + name: "SuperSpeaker *" + size: 8 + alignment: 8 + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" + } +} +pointer_types { + type_info { + name: "float *" + size: 8 + alignment: 8 + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" + } +} +pointer_types { + type_info { + name: "LowVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" + } +} +builtin_types { + type_info { + name: "float" + size: 4 + alignment: 4 + referenced_type: "type-3" + source_file: "" + linker_set_key: "float" + self_type: "type-3" + } + is_unsigned: false + is_integral: false +} +builtin_types { + type_info { + name: "int" + size: 4 + alignment: 4 + referenced_type: "type-2" + source_file: "" + linker_set_key: "int" + self_type: "type-2" + } + is_unsigned: false + is_integral: true +} +builtin_types { + type_info { + name: "unsigned int" + size: 4 + alignment: 4 + referenced_type: "type-6" + source_file: "" + linker_set_key: "unsigned int" + self_type: "type-6" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "type-10" + source_file: "" + linker_set_key: "void" + self_type: "type-10" + } + is_unsigned: false + is_integral: false +} +functions { + return_type: "type-10" + function_name: "SuperSpeaker::SpeakLouder" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + parameters { + referenced_type: "type-9" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" + access: public_access +} +functions { + return_type: "type-9" + function_name: "SuperSpeaker::CreateSuperSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + parameters { + referenced_type: "type-2" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" + access: public_access +} +functions { + return_type: "type-8" + function_name: "SuperSpeaker::SpeakLoud" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + parameters { + referenced_type: "type-9" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + access: public_access +} +functions { + return_type: "type-10" + function_name: "LowVolumeSpeaker::Speak" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + parameters { + referenced_type: "type-4" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + access: public_access +} +functions { + return_type: "type-10" + function_name: "LowVolumeSpeaker::Listen" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + parameters { + referenced_type: "type-4" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +functions { + return_type: "type-12" + function_name: "HighVolumeSpeaker::BadPractice" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + parameters { + referenced_type: "type-12" + default_arg: false + } + parameters { + referenced_type: "type-3" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" + access: public_access +} +functions { + return_type: "type-10" + function_name: "HighVolumeSpeaker::Speak" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + parameters { + referenced_type: "type-12" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" + access: public_access +} +functions { + return_type: "type-10" + function_name: "HighVolumeSpeaker::Listen" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + parameters { + referenced_type: "type-12" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_parameter_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_parameter_type_diff.so.lsdump index 70a6fd7df78bf4908de2d4bfeef42b1a9d6048eb..1c97d32bd6d7c23fffbbce3b3b23f2ed634cdf7e 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_parameter_type_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_parameter_type_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-4" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-4" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-5" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-6" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-5" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,32 +204,35 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-4" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-3" } } pointer_types { @@ -233,9 +240,10 @@ pointer_types { name: "float *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-7" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "float *" + self_type: "type-6" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-7" source_file: "" linker_set_key: "float" + self_type: "type-7" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-5" source_file: "" linker_set_key: "unsigned int" + self_type: "type-5" } is_unsigned: true is_integral: true @@ -279,111 +290,112 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::~SuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeakerD2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEi" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_return_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_return_type_diff.so.lsdump index 26350363de889e23c77e5085161aa673e8d344c0..03537d5ed7c3ca959720be3244c271c209ad7530 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_return_type_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_return_type_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "int" + return_type: "type-2" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "int" + return_type: "type-2" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump index d7212077080d97d7d975bff1ed2c3feeefb1ae01..d99ecd57e4160b8e06783bce10b78ab70a9ed5ca 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_vtable_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_vtable_diff.so.lsdump index e234005b2eb91c1d0c7b5c1abf91fc090a517785..efbec4ee8f5ca3db2df3068e53d86774edf95ceb 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_vtable_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_vtable_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,96 +290,97 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libreproducability.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libreproducability.so.lsdump index 2fd114f291e60b2be3e65e438e75b482f33397cb..406c66c7caefccc347ea7625025908bb2639f6c4 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libreproducability.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libreproducability.so.lsdump @@ -3,12 +3,13 @@ record_types { name: "ShouldRepro" size: 4 alignment: 4 - referenced_type: "ShouldRepro" + referenced_type: "type-1" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/reproducability_c.h" linker_set_key: "ShouldRepro" + self_type: "type-1" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "a" access: public_access @@ -24,9 +25,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libc_and_cpp.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libc_and_cpp.so.lsdump index be52321932beeb77503e5351eb71fde0ebf8e8d1..90514f7f80102eb9f91197c9aa2d74eeb59c7bb5 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86/libc_and_cpp.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libc_and_cpp.so.lsdump @@ -1,22 +1,29 @@ record_types { type_info { - name: "Cinner" - size: 4 + name: "Foo" + size: 8 alignment: 4 - referenced_type: "Cinner" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cinner" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + linker_set_key: "Foo" + self_type: "type-1" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 - field_name: "c" - access: public_access + field_name: "a_" + access: private_access + } + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "b_" + access: private_access } access: public_access - record_kind: struct_kind + record_kind: class_kind tag_info { - unique_id: "_ZTS6Cinner" + unique_id: "_ZTS3Foo" } } record_types { @@ -24,18 +31,19 @@ record_types { name: "Cstruct" size: 8 alignment: 4 - referenced_type: "Cstruct" + referenced_type: "type-6" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" linker_set_key: "Cstruct" + self_type: "type-6" } fields { - referenced_type: "int" + referenced_type: "type-3" field_offset: 0 field_name: "a" access: public_access } fields { - referenced_type: "Cinner *" + referenced_type: "type-7" field_offset: 32 field_name: "b" access: public_access @@ -48,49 +56,46 @@ record_types { } record_types { type_info { - name: "Foo" - size: 8 + name: "Cinner" + size: 4 alignment: 4 - referenced_type: "Foo" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "Foo" + referenced_type: "type-8" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner" + self_type: "type-8" } fields { - referenced_type: "int *" + referenced_type: "type-3" field_offset: 0 - field_name: "a_" - access: private_access - } - fields { - referenced_type: "int *" - field_offset: 32 - field_name: "b_" - access: private_access + field_name: "c" + access: public_access } access: public_access - record_kind: class_kind + record_kind: struct_kind tag_info { - unique_id: "_ZTS3Foo" + unique_id: "_ZTS6Cinner" } } pointer_types { type_info { - name: "Cinner *" + name: "Foo *" size: 4 alignment: 4 - referenced_type: "Cinner" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cinner *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + linker_set_key: "Foo *" + self_type: "type-10" } } pointer_types { type_info { - name: "Cstruct *" + name: "int *" size: 4 alignment: 4 - referenced_type: "Cstruct" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cstruct *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + linker_set_key: "int *" + self_type: "type-2" } } pointer_types { @@ -98,29 +103,32 @@ pointer_types { name: "Cstruct **" size: 4 alignment: 4 - referenced_type: "Cstruct *" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" linker_set_key: "Cstruct **" + self_type: "type-4" } } pointer_types { type_info { - name: "Foo *" + name: "Cstruct *" size: 4 alignment: 4 - referenced_type: "Foo" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "Foo *" + referenced_type: "type-6" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct *" + self_type: "type-5" } } pointer_types { type_info { - name: "int *" + name: "Cinner *" size: 4 alignment: 4 - referenced_type: "int" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "int *" + referenced_type: "type-8" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner *" + self_type: "type-7" } } builtin_types { @@ -128,9 +136,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-3" source_file: "" linker_set_key: "int" + self_type: "type-3" } is_unsigned: false is_integral: true @@ -140,34 +149,35 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-9" source_file: "" linker_set_key: "void" + self_type: "type-9" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-9" function_name: "CFunction" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" parameters { - referenced_type: "Cstruct **" + referenced_type: "type-4" default_arg: false } linker_set_key: "CFunction" access: public_access } functions { - return_type: "Foo" + return_type: "type-1" function_name: "foo" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" parameters { - referenced_type: "int *" + referenced_type: "type-2" default_arg: false } parameters { - referenced_type: "int *" + referenced_type: "type-2" default_arg: false } linker_set_key: "_Z3fooPiS_" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libc_and_cpp_with_unused_struct.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libc_and_cpp_with_unused_struct.so.lsdump index 76367c4be1c399b9df6a9c3da74baa3453018320..610c5c61567fe67c53e2aa85d585c4ca0a85a69a 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86/libc_and_cpp_with_unused_struct.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libc_and_cpp_with_unused_struct.so.lsdump @@ -1,22 +1,23 @@ record_types { type_info { - name: "Cinner" + name: "UnusedStruct" size: 4 alignment: 4 - referenced_type: "Cinner" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cinner" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + linker_set_key: "UnusedStruct" + self_type: "type-1" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 - field_name: "c" + field_name: "mUnusedMember" access: public_access } access: public_access record_kind: struct_kind tag_info { - unique_id: "_ZTS6Cinner" + unique_id: "_ZTS12UnusedStruct" } } record_types { @@ -24,18 +25,19 @@ record_types { name: "Cstruct" size: 8 alignment: 4 - referenced_type: "Cstruct" + referenced_type: "type-4" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" linker_set_key: "Cstruct" + self_type: "type-4" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "a" access: public_access } fields { - referenced_type: "Cinner *" + referenced_type: "type-5" field_offset: 32 field_name: "b" access: public_access @@ -46,23 +48,46 @@ record_types { unique_id: "_ZTS7Cstruct" } } +record_types { + type_info { + name: "Cinner" + size: 4 + alignment: 4 + referenced_type: "type-6" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner" + self_type: "type-6" + } + fields { + referenced_type: "type-2" + field_offset: 0 + field_name: "c" + access: public_access + } + access: public_access + record_kind: struct_kind + tag_info { + unique_id: "_ZTS6Cinner" + } +} record_types { type_info { name: "Foo" size: 8 alignment: 4 - referenced_type: "Foo" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" linker_set_key: "Foo" + self_type: "type-8" } fields { - referenced_type: "int *" + referenced_type: "type-9" field_offset: 0 field_name: "a_" access: private_access } fields { - referenced_type: "int *" + referenced_type: "type-9" field_offset: 32 field_name: "b_" access: private_access @@ -73,35 +98,26 @@ record_types { unique_id: "_ZTS3Foo" } } -record_types { +pointer_types { type_info { - name: "UnusedStruct" + name: "int *" size: 4 alignment: 4 - referenced_type: "UnusedStruct" + referenced_type: "type-2" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "UnusedStruct" - } - fields { - referenced_type: "int" - field_offset: 0 - field_name: "mUnusedMember" - access: public_access - } - access: public_access - record_kind: struct_kind - tag_info { - unique_id: "_ZTS12UnusedStruct" + linker_set_key: "int *" + self_type: "type-9" } } pointer_types { type_info { - name: "Cinner *" + name: "Cstruct **" size: 4 alignment: 4 - referenced_type: "Cinner" + referenced_type: "type-3" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cinner *" + linker_set_key: "Cstruct **" + self_type: "type-7" } } pointer_types { @@ -109,19 +125,21 @@ pointer_types { name: "Cstruct *" size: 4 alignment: 4 - referenced_type: "Cstruct" + referenced_type: "type-4" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" linker_set_key: "Cstruct *" + self_type: "type-3" } } pointer_types { type_info { - name: "Cstruct **" + name: "Cinner *" size: 4 alignment: 4 - referenced_type: "Cstruct *" + referenced_type: "type-6" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cstruct **" + linker_set_key: "Cinner *" + self_type: "type-5" } } pointer_types { @@ -129,19 +147,10 @@ pointer_types { name: "Foo *" size: 4 alignment: 4 - referenced_type: "Foo" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" linker_set_key: "Foo *" - } -} -pointer_types { - type_info { - name: "int *" - size: 4 - alignment: 4 - referenced_type: "int" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "int *" + self_type: "type-11" } } builtin_types { @@ -149,9 +158,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -161,34 +171,35 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "CFunction" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" parameters { - referenced_type: "Cstruct **" + referenced_type: "type-7" default_arg: false } linker_set_key: "CFunction" access: public_access } functions { - return_type: "Foo" + return_type: "type-8" function_name: "foo" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" parameters { - referenced_type: "int *" + referenced_type: "type-9" default_arg: false } parameters { - referenced_type: "int *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_Z3fooPiS_" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp.so.lsdump index 971fa9a6aa59846848d6dab21b3d235858b3fb10..37a453e8fe391889730ed1538727d25e47388596 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_add_function.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_add_function.so.lsdump index 6d6b70e18fc5289d89aaa0cfe225bee4ec3aac30..0dd522c363876ad187ffa9f6b211fd7ef76c0850 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_add_function.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_add_function.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,122 +290,123 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::~SuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeakerD2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "int" + return_type: "type-2" function_name: "HighVolumeSpeaker::AddedFunction" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker13AddedFunctionEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_add_global_variable.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_add_global_variable.so.lsdump index b1265337797553f35b6c4608cedf00008e3ef3d4..e2e0214aa2a3c808f57c43887609507b956b8246 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_add_global_variable.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_add_global_variable.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,123 +290,117 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::~SuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeakerD2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" access: public_access } -global_vars { - name: "HighVolumeSpeaker::global_unprotected_id" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "_ZN17HighVolumeSpeaker21global_unprotected_idE" - referenced_type: "int" - access: public_access -} elf_functions { name: "_Z26test_virtual_function_callP12SuperSpeaker" } diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_change_function_access.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_change_function_access.so.lsdump index 8d34659c1abf85ba860d1c8a81313d5e2bd8a57d..3cb585f8380bff1136d8213d34272bfcd436120e 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_change_function_access.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_change_function_access.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: private_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_change_member_access.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_change_member_access.so.lsdump index 2b61151d3773fb3c2930f0bb709f25b6f4ec09d4..b9a056d2653612219df44fab6aab96ba94cac98f 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_change_member_access.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_change_member_access.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: private_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: private_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,51 +75,63 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: private_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" access: private_access } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access + } vtable_layout { vtable_components { kind: OffsetToTop @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_enum_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_enum_diff.so.lsdump index d602695542cf81c12fb02b6fbf487ccec28b7959..29cfe0931c4a83b2c804f9dbdedb88cd5a5e9192 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_enum_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_enum_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-4" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-4" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-5" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "int" + underlying_type: "type-2" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -196,32 +200,35 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-4" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-3" } } pointer_types { @@ -229,9 +236,10 @@ pointer_types { name: "float *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-7" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "float *" + self_type: "type-6" } } builtin_types { @@ -239,9 +247,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-7" source_file: "" linker_set_key: "float" + self_type: "type-7" } is_unsigned: false is_integral: false @@ -251,9 +260,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -263,9 +273,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-5" source_file: "" linker_set_key: "unsigned int" + self_type: "type-5" } is_unsigned: true is_integral: true @@ -275,100 +286,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-7" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_enum_extended.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_enum_extended.so.lsdump index 7ff904799d2542114cb8c19fce05f02f3274a54c..02fdc977a28f47e0171216cdd6b40d6f57fc43bc 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_enum_extended.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_enum_extended.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -204,42 +208,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -247,9 +255,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -259,9 +268,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -271,9 +281,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -283,100 +294,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_cv_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_cv_diff.so.lsdump index 393c5590c7b33454ad758b32e27c58225c3cbc57..a9f7529ac42ab3e75428cb4a3c2d4d7b00fbba45 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_cv_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_cv_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "const float *" - field_offset: 96 - field_name: "const_speaker_float_star" - access: public_access + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-12" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "const_speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-9" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-9" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,32 +204,35 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-10" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-13" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } pointer_types { @@ -233,9 +240,10 @@ pointer_types { name: "const float *" size: 4 alignment: 4 - referenced_type: "const float" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "const float *" + self_type: "type-7" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,9 +290,10 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-11" source_file: "" linker_set_key: "void" + self_type: "type-11" } is_unsigned: false is_integral: false @@ -291,101 +303,102 @@ qualified_types { name: "const float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "const float" + self_type: "type-8" } is_const: true is_volatile: false is_restricted: false } functions { - return_type: "void" + return_type: "type-11" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-10" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-9" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-13" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_diff.so.lsdump index f471389a2d56f4f012ca5bcc112b0c9c79725ad8..2f4f5eb863129b96d5a944db585955b114edf356 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 20 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "long long" - field_offset: 64 - field_name: "speaker_long_long" - access: public_access - } - fields { - referenced_type: "long long *" - field_offset: 128 - field_name: "speaker_long_long_star" - access: public_access + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-12" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 20 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_long_long" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_long_long_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-9" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,32 +204,35 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-10" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-13" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } pointer_types { @@ -233,9 +240,10 @@ pointer_types { name: "long long *" size: 4 alignment: 4 - referenced_type: "long long" + referenced_type: "type-6" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "long long *" + self_type: "type-7" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "long long" size: 8 alignment: 4 - referenced_type: "long long" + referenced_type: "type-6" source_file: "" linker_set_key: "long long" + self_type: "type-6" } is_unsigned: false is_integral: true @@ -279,9 +290,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-9" source_file: "" linker_set_key: "unsigned int" + self_type: "type-9" } is_unsigned: true is_integral: true @@ -291,100 +303,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-11" source_file: "" linker_set_key: "void" + self_type: "type-11" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-11" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-10" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-13" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_fake_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_fake_diff.so.lsdump index a1256f03cc2522a6f108e1c45d857d2ff6735c85..02fedd460ee223ec455717ab49df92accbf72fee 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_fake_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_fake_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "char32_t" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-12" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-6" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-6" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-7" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-4" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-9" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-10" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-13" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-4" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-6" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-5" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "char32_t" size: 4 alignment: 4 - referenced_type: "char32_t" + referenced_type: "type-7" source_file: "" linker_set_key: "char32_t" + self_type: "type-7" } is_unsigned: true is_integral: true @@ -255,9 +264,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -267,9 +277,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -279,9 +290,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-9" source_file: "" linker_set_key: "unsigned int" + self_type: "type-9" } is_unsigned: true is_integral: true @@ -291,100 +303,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-11" source_file: "" linker_set_key: "void" + self_type: "type-11" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-11" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-10" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-5" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-5" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-13" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_integral_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_integral_type_diff.so.lsdump index abc774ade5e4e50c01af37ee8201e21f605b2a50..e283091f688c920d162b52ae6dfc5b3eb838add8 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_integral_type_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_integral_type_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "float" - field_offset: 64 - field_name: "speaker_float" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-3" + field_offset: 64 + field_name: "speaker_float" + access: public_access + } + fields { + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-7" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-7" } - underlying_type: "unsigned int" + underlying_type: "type-8" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-6" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-8" source_file: "" linker_set_key: "unsigned int" + self_type: "type-8" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-7" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_name_changed.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_name_changed.so.lsdump new file mode 100644 index 0000000000000000000000000000000000000000..69ac3f1811b0f305c3c3724f80bf9d792d8cd150 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_name_changed.so.lsdump @@ -0,0 +1,428 @@ +record_types { + type_info { + name: "SuperSpeaker" + size: 8 + alignment: 4 + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" + } + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId_" + access: private_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "_ZTI12SuperSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN12SuperSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN12SuperSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind + tag_info { + unique_id: "_ZTS12SuperSpeaker" + } +} +record_types { + type_info { + name: "HighVolumeSpeaker" + size: 8 + alignment: 4 + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "_ZTI17HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind + tag_info { + unique_id: "_ZTS17HighVolumeSpeaker" + } +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + alignment: 4 + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" + } + fields { + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t_" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star_" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "_ZTI16LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind + tag_info { + unique_id: "_ZTS16LowVolumeSpeaker" + } +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "type-8" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" + } + underlying_type: "type-6" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + name: "SuperSpeaker::Volume::Lower" + } + access: private_access + tag_info { + unique_id: "_ZTSN12SuperSpeaker6VolumeE" + } +} +pointer_types { + type_info { + name: "SuperSpeaker *" + size: 4 + alignment: 4 + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" + } +} +pointer_types { + type_info { + name: "float *" + size: 4 + alignment: 4 + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" + } +} +pointer_types { + type_info { + name: "LowVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" + } +} +builtin_types { + type_info { + name: "float" + size: 4 + alignment: 4 + referenced_type: "type-3" + source_file: "" + linker_set_key: "float" + self_type: "type-3" + } + is_unsigned: false + is_integral: false +} +builtin_types { + type_info { + name: "int" + size: 4 + alignment: 4 + referenced_type: "type-2" + source_file: "" + linker_set_key: "int" + self_type: "type-2" + } + is_unsigned: false + is_integral: true +} +builtin_types { + type_info { + name: "unsigned int" + size: 4 + alignment: 4 + referenced_type: "type-6" + source_file: "" + linker_set_key: "unsigned int" + self_type: "type-6" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "type-10" + source_file: "" + linker_set_key: "void" + self_type: "type-10" + } + is_unsigned: false + is_integral: false +} +functions { + return_type: "type-10" + function_name: "SuperSpeaker::SpeakLouder" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + parameters { + referenced_type: "type-9" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" + access: public_access +} +functions { + return_type: "type-9" + function_name: "SuperSpeaker::CreateSuperSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + parameters { + referenced_type: "type-2" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" + access: public_access +} +functions { + return_type: "type-8" + function_name: "SuperSpeaker::SpeakLoud" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + parameters { + referenced_type: "type-9" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + access: public_access +} +functions { + return_type: "type-10" + function_name: "LowVolumeSpeaker::Speak" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + parameters { + referenced_type: "type-4" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + access: public_access +} +functions { + return_type: "type-10" + function_name: "LowVolumeSpeaker::Listen" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + parameters { + referenced_type: "type-4" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +functions { + return_type: "type-12" + function_name: "HighVolumeSpeaker::BadPractice" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + parameters { + referenced_type: "type-12" + default_arg: false + } + parameters { + referenced_type: "type-3" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" + access: public_access +} +functions { + return_type: "type-10" + function_name: "HighVolumeSpeaker::Speak" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + parameters { + referenced_type: "type-12" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" + access: public_access +} +functions { + return_type: "type-10" + function_name: "HighVolumeSpeaker::Listen" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + parameters { + referenced_type: "type-12" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_parameter_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_parameter_type_diff.so.lsdump index 2eebc5fda851a7338bebd12846aa4b05c3034480..529a41396c30077d8c42ca3f532c0be9dd0c8b09 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_parameter_type_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_parameter_type_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-4" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-4" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-5" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-5" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,32 +204,35 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-4" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-3" } } pointer_types { @@ -233,9 +240,10 @@ pointer_types { name: "float *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-7" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "float *" + self_type: "type-6" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-7" source_file: "" linker_set_key: "float" + self_type: "type-7" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-5" source_file: "" linker_set_key: "unsigned int" + self_type: "type-5" } is_unsigned: true is_integral: true @@ -279,111 +290,112 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::~SuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeakerD2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEi" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_return_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_return_type_diff.so.lsdump index f64fcd8663d84b97a268e37d382f89dc76aef3d2..8b4497946dfbacab3acf1799680cde8f1da1365d 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_return_type_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_return_type_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "int" + return_type: "type-2" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "int" + return_type: "type-2" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump index 8a745f2d15083a33b3f7accb6fb4ed9a3925ef54..a30665c61a07a1121c35f1cc99b1cd415c6d5cb7 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_vtable_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_vtable_diff.so.lsdump index b3f4f65d194b501d9f86d4ae8d73a9b25aba12ba..687ee8c5b69eb75051defff1778dfa9b710c5aec 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_vtable_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_vtable_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 8 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 32 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 16 + name: "HighVolumeSpeaker" + size: 8 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 64 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 96 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 8 + name: "LowVolumeSpeaker" + size: 16 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 32 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 4 alignment: 4 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 4 alignment: 4 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,96 +290,97 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libreproducability.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libreproducability.so.lsdump index 2fd114f291e60b2be3e65e438e75b482f33397cb..406c66c7caefccc347ea7625025908bb2639f6c4 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86/libreproducability.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libreproducability.so.lsdump @@ -3,12 +3,13 @@ record_types { name: "ShouldRepro" size: 4 alignment: 4 - referenced_type: "ShouldRepro" + referenced_type: "type-1" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/reproducability_c.h" linker_set_key: "ShouldRepro" + self_type: "type-1" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "a" access: public_access @@ -24,9 +25,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libc_and_cpp.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libc_and_cpp.so.lsdump index 358c99667d7d0dd858720cbac7278de6b09c00fa..d72294e6e89ed3c4d5bef851814a3f6ba7716601 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libc_and_cpp.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libc_and_cpp.so.lsdump @@ -1,22 +1,29 @@ record_types { type_info { - name: "Cinner" - size: 4 - alignment: 4 - referenced_type: "Cinner" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cinner" + name: "Foo" + size: 16 + alignment: 8 + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + linker_set_key: "Foo" + self_type: "type-1" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 - field_name: "c" - access: public_access + field_name: "a_" + access: private_access + } + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "b_" + access: private_access } access: public_access - record_kind: struct_kind + record_kind: class_kind tag_info { - unique_id: "_ZTS6Cinner" + unique_id: "_ZTS3Foo" } } record_types { @@ -24,18 +31,19 @@ record_types { name: "Cstruct" size: 16 alignment: 8 - referenced_type: "Cstruct" + referenced_type: "type-6" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" linker_set_key: "Cstruct" + self_type: "type-6" } fields { - referenced_type: "int" + referenced_type: "type-3" field_offset: 0 field_name: "a" access: public_access } fields { - referenced_type: "Cinner *" + referenced_type: "type-7" field_offset: 64 field_name: "b" access: public_access @@ -48,49 +56,46 @@ record_types { } record_types { type_info { - name: "Foo" - size: 16 - alignment: 8 - referenced_type: "Foo" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "Foo" + name: "Cinner" + size: 4 + alignment: 4 + referenced_type: "type-8" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner" + self_type: "type-8" } fields { - referenced_type: "int *" + referenced_type: "type-3" field_offset: 0 - field_name: "a_" - access: private_access - } - fields { - referenced_type: "int *" - field_offset: 64 - field_name: "b_" - access: private_access + field_name: "c" + access: public_access } access: public_access - record_kind: class_kind + record_kind: struct_kind tag_info { - unique_id: "_ZTS3Foo" + unique_id: "_ZTS6Cinner" } } pointer_types { type_info { - name: "Cinner *" + name: "Foo *" size: 8 alignment: 8 - referenced_type: "Cinner" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cinner *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + linker_set_key: "Foo *" + self_type: "type-10" } } pointer_types { type_info { - name: "Cstruct *" + name: "int *" size: 8 alignment: 8 - referenced_type: "Cstruct" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cstruct *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + linker_set_key: "int *" + self_type: "type-2" } } pointer_types { @@ -98,29 +103,32 @@ pointer_types { name: "Cstruct **" size: 8 alignment: 8 - referenced_type: "Cstruct *" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" linker_set_key: "Cstruct **" + self_type: "type-4" } } pointer_types { type_info { - name: "Foo *" + name: "Cstruct *" size: 8 alignment: 8 - referenced_type: "Foo" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "Foo *" + referenced_type: "type-6" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct *" + self_type: "type-5" } } pointer_types { type_info { - name: "int *" + name: "Cinner *" size: 8 alignment: 8 - referenced_type: "int" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "int *" + referenced_type: "type-8" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner *" + self_type: "type-7" } } builtin_types { @@ -128,9 +136,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-3" source_file: "" linker_set_key: "int" + self_type: "type-3" } is_unsigned: false is_integral: true @@ -140,34 +149,35 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-9" source_file: "" linker_set_key: "void" + self_type: "type-9" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-9" function_name: "CFunction" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" parameters { - referenced_type: "Cstruct **" + referenced_type: "type-4" default_arg: false } linker_set_key: "CFunction" access: public_access } functions { - return_type: "Foo" + return_type: "type-1" function_name: "foo" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" parameters { - referenced_type: "int *" + referenced_type: "type-2" default_arg: false } parameters { - referenced_type: "int *" + referenced_type: "type-2" default_arg: false } linker_set_key: "_Z3fooPiS_" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libc_and_cpp_with_unused_struct.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libc_and_cpp_with_unused_struct.so.lsdump index 012c760fa59f2cdd930a1a098bc7976f69fa1e80..0e9e1da523f833a5aeace8870dc438dc54829e4f 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libc_and_cpp_with_unused_struct.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libc_and_cpp_with_unused_struct.so.lsdump @@ -1,22 +1,23 @@ record_types { type_info { - name: "Cinner" + name: "UnusedStruct" size: 4 alignment: 4 - referenced_type: "Cinner" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cinner" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + linker_set_key: "UnusedStruct" + self_type: "type-1" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 - field_name: "c" + field_name: "mUnusedMember" access: public_access } access: public_access record_kind: struct_kind tag_info { - unique_id: "_ZTS6Cinner" + unique_id: "_ZTS12UnusedStruct" } } record_types { @@ -24,18 +25,19 @@ record_types { name: "Cstruct" size: 16 alignment: 8 - referenced_type: "Cstruct" + referenced_type: "type-4" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" linker_set_key: "Cstruct" + self_type: "type-4" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "a" access: public_access } fields { - referenced_type: "Cinner *" + referenced_type: "type-5" field_offset: 64 field_name: "b" access: public_access @@ -46,23 +48,46 @@ record_types { unique_id: "_ZTS7Cstruct" } } +record_types { + type_info { + name: "Cinner" + size: 4 + alignment: 4 + referenced_type: "type-6" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner" + self_type: "type-6" + } + fields { + referenced_type: "type-2" + field_offset: 0 + field_name: "c" + access: public_access + } + access: public_access + record_kind: struct_kind + tag_info { + unique_id: "_ZTS6Cinner" + } +} record_types { type_info { name: "Foo" size: 16 alignment: 8 - referenced_type: "Foo" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" linker_set_key: "Foo" + self_type: "type-8" } fields { - referenced_type: "int *" + referenced_type: "type-9" field_offset: 0 field_name: "a_" access: private_access } fields { - referenced_type: "int *" + referenced_type: "type-9" field_offset: 64 field_name: "b_" access: private_access @@ -73,35 +98,26 @@ record_types { unique_id: "_ZTS3Foo" } } -record_types { +pointer_types { type_info { - name: "UnusedStruct" - size: 4 - alignment: 4 - referenced_type: "UnusedStruct" + name: "int *" + size: 8 + alignment: 8 + referenced_type: "type-2" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "UnusedStruct" - } - fields { - referenced_type: "int" - field_offset: 0 - field_name: "mUnusedMember" - access: public_access - } - access: public_access - record_kind: struct_kind - tag_info { - unique_id: "_ZTS12UnusedStruct" + linker_set_key: "int *" + self_type: "type-9" } } pointer_types { type_info { - name: "Cinner *" + name: "Cstruct **" size: 8 alignment: 8 - referenced_type: "Cinner" + referenced_type: "type-3" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cinner *" + linker_set_key: "Cstruct **" + self_type: "type-7" } } pointer_types { @@ -109,19 +125,21 @@ pointer_types { name: "Cstruct *" size: 8 alignment: 8 - referenced_type: "Cstruct" + referenced_type: "type-4" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" linker_set_key: "Cstruct *" + self_type: "type-3" } } pointer_types { type_info { - name: "Cstruct **" + name: "Cinner *" size: 8 alignment: 8 - referenced_type: "Cstruct *" + referenced_type: "type-6" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" - linker_set_key: "Cstruct **" + linker_set_key: "Cinner *" + self_type: "type-5" } } pointer_types { @@ -129,19 +147,10 @@ pointer_types { name: "Foo *" size: 8 alignment: 8 - referenced_type: "Foo" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" linker_set_key: "Foo *" - } -} -pointer_types { - type_info { - name: "int *" - size: 8 - alignment: 8 - referenced_type: "int" - source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" - linker_set_key: "int *" + self_type: "type-11" } } builtin_types { @@ -149,9 +158,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -161,34 +171,35 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "CFunction" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" parameters { - referenced_type: "Cstruct **" + referenced_type: "type-7" default_arg: false } linker_set_key: "CFunction" access: public_access } functions { - return_type: "Foo" + return_type: "type-8" function_name: "foo" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" parameters { - referenced_type: "int *" + referenced_type: "type-9" default_arg: false } parameters { - referenced_type: "int *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_Z3fooPiS_" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp.so.lsdump index 465ede8c165db88a9f1fcd0d84e65ec088c90321..3990163125c10928b8f6eb3004f13bc292e6f673 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_add_function.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_add_function.so.lsdump index 406b6efe3ba8f7fb6850df62fe4f06efb842f3c4..ccb26f6ccbdb06c94af42799af75f7ab7f08abd7 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_add_function.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_add_function.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,122 +290,123 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::~SuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeakerD2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "int" + return_type: "type-2" function_name: "HighVolumeSpeaker::AddedFunction" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker13AddedFunctionEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_add_global_variable.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_add_global_variable.so.lsdump index 04acd4aeb5534e74d270396a54d03ddf07d929b2..e8367b575278fed20e3c88331374befc3f3e23c3 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_add_global_variable.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_add_global_variable.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,123 +290,117 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::~SuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeakerD2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" access: public_access } -global_vars { - name: "HighVolumeSpeaker::global_unprotected_id" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "_ZN17HighVolumeSpeaker21global_unprotected_idE" - referenced_type: "int" - access: public_access -} elf_functions { name: "_Z26test_virtual_function_callP12SuperSpeaker" } diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_change_function_access.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_change_function_access.so.lsdump index 06d39c849ceb5b1728eac3c8573bd6c9d8cb4c8a..1aa765f278604f53fa598b4d324e0380cbc44e15 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_change_function_access.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_change_function_access.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: private_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_change_member_access.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_change_member_access.so.lsdump index 65250cb1ff23566134d68af6f4b0a83549cdcf00..3dc6dffd11fbe9e55868d9966f7edb5dc23b6184 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_change_member_access.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_change_member_access.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: private_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: private_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,51 +75,63 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: private_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" access: private_access } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access + } vtable_layout { vtable_components { kind: OffsetToTop @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_enum_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_enum_diff.so.lsdump index d30af78e59afbce2625351e29c1b684980f27362..ca92c59fdfd26109861ae5fd40e30741be95f9f8 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_enum_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_enum_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-4" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-4" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-5" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-6" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "int" + underlying_type: "type-2" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -196,32 +200,35 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-4" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-3" } } pointer_types { @@ -229,9 +236,10 @@ pointer_types { name: "float *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-7" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "float *" + self_type: "type-6" } } builtin_types { @@ -239,9 +247,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-7" source_file: "" linker_set_key: "float" + self_type: "type-7" } is_unsigned: false is_integral: false @@ -251,9 +260,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -263,9 +273,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-5" source_file: "" linker_set_key: "unsigned int" + self_type: "type-5" } is_unsigned: true is_integral: true @@ -275,100 +286,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-7" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_enum_extended.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_enum_extended.so.lsdump index a7505e739ddb3c7529045d143f0345449782053d..0a48efd1145ee4c65516657545d16b97fe6ed9f8 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_enum_extended.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_enum_extended.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -204,42 +208,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -247,9 +255,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -259,9 +268,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -271,9 +281,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -283,100 +294,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_cv_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_cv_diff.so.lsdump index 9182b2860fb671a20b5b3ea3e7b06deded609a8d..13e0bc31e0aaa65b8aedf62d8617c9a6caf2bf92 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_cv_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_cv_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "const float *" - field_offset: 128 - field_name: "const_speaker_float_star" - access: public_access + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-12" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "const_speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-9" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-9" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,32 +204,35 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-10" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-13" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } pointer_types { @@ -233,9 +240,10 @@ pointer_types { name: "const float *" size: 8 alignment: 8 - referenced_type: "const float" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "const float *" + self_type: "type-7" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,9 +290,10 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-11" source_file: "" linker_set_key: "void" + self_type: "type-11" } is_unsigned: false is_integral: false @@ -291,101 +303,102 @@ qualified_types { name: "const float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "const float" + self_type: "type-8" } is_const: true is_volatile: false is_restricted: false } functions { - return_type: "void" + return_type: "type-11" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-10" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-9" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-13" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_diff.so.lsdump index b8cd3c0cf0fbb5d0471483025cd78a8f193d93a6..25b8dfc058fe9b454785830521c7b1b4345f61ac 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 32 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "long long" - field_offset: 128 - field_name: "speaker_long_long" - access: public_access - } - fields { - referenced_type: "long long *" - field_offset: 192 - field_name: "speaker_long_long_star" - access: public_access + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-12" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 32 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 128 + field_name: "speaker_long_long" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 192 + field_name: "speaker_long_long_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-9" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,32 +204,35 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-10" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-13" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } pointer_types { @@ -233,9 +240,10 @@ pointer_types { name: "long long *" size: 8 alignment: 8 - referenced_type: "long long" + referenced_type: "type-6" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "long long *" + self_type: "type-7" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "long long" size: 8 alignment: 8 - referenced_type: "long long" + referenced_type: "type-6" source_file: "" linker_set_key: "long long" + self_type: "type-6" } is_unsigned: false is_integral: true @@ -279,9 +290,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-9" source_file: "" linker_set_key: "unsigned int" + self_type: "type-9" } is_unsigned: true is_integral: true @@ -291,100 +303,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-11" source_file: "" linker_set_key: "void" + self_type: "type-11" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-11" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-10" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-13" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_fake_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_fake_diff.so.lsdump index 453cf6ec50183dbcd3651ec90868f6d0c2532d71..cae72dc1e4ec1ce6414f58b1af6b2c5b19f70516 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_fake_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_fake_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "char32_t" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-12" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-6" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-6" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-7" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-4" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-9" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-10" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-12" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-13" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-4" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-6" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-5" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "char32_t" size: 4 alignment: 4 - referenced_type: "char32_t" + referenced_type: "type-7" source_file: "" linker_set_key: "char32_t" + self_type: "type-7" } is_unsigned: true is_integral: true @@ -255,9 +264,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -267,9 +277,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -279,9 +290,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-9" source_file: "" linker_set_key: "unsigned int" + self_type: "type-9" } is_unsigned: true is_integral: true @@ -291,100 +303,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-11" source_file: "" linker_set_key: "void" + self_type: "type-11" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-11" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-10" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-10" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-5" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-5" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-13" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-11" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-13" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_integral_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_integral_type_diff.so.lsdump index d97d0e7d0753005049f68276a6fb2e43e5098874..db7ac4524b9b0015c029729a8a027957ae9b553c 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_integral_type_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_integral_type_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "float" - field_offset: 96 - field_name: "speaker_float" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-3" + field_offset: 96 + field_name: "speaker_float" + access: public_access + } + fields { + referenced_type: "type-6" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-7" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-7" } - underlying_type: "unsigned int" + underlying_type: "type-8" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-6" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-8" source_file: "" linker_set_key: "unsigned int" + self_type: "type-8" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-7" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_name_changed.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_name_changed.so.lsdump new file mode 100644 index 0000000000000000000000000000000000000000..718ae0d877ed00bc2f6f3a4c677e57a37c75123c --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_name_changed.so.lsdump @@ -0,0 +1,428 @@ +record_types { + type_info { + name: "SuperSpeaker" + size: 16 + alignment: 8 + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" + } + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId_" + access: private_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "_ZTI12SuperSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN12SuperSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN12SuperSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind + tag_info { + unique_id: "_ZTS12SuperSpeaker" + } +} +record_types { + type_info { + name: "HighVolumeSpeaker" + size: 16 + alignment: 8 + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "_ZTI17HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind + tag_info { + unique_id: "_ZTS17HighVolumeSpeaker" + } +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + alignment: 8 + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" + } + fields { + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t_" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star_" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "_ZTI16LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind + tag_info { + unique_id: "_ZTS16LowVolumeSpeaker" + } +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "type-8" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" + } + underlying_type: "type-6" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + name: "SuperSpeaker::Volume::Lower" + } + access: private_access + tag_info { + unique_id: "_ZTSN12SuperSpeaker6VolumeE" + } +} +pointer_types { + type_info { + name: "SuperSpeaker *" + size: 8 + alignment: 8 + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" + } +} +pointer_types { + type_info { + name: "float *" + size: 8 + alignment: 8 + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" + } +} +pointer_types { + type_info { + name: "LowVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" + } +} +builtin_types { + type_info { + name: "float" + size: 4 + alignment: 4 + referenced_type: "type-3" + source_file: "" + linker_set_key: "float" + self_type: "type-3" + } + is_unsigned: false + is_integral: false +} +builtin_types { + type_info { + name: "int" + size: 4 + alignment: 4 + referenced_type: "type-2" + source_file: "" + linker_set_key: "int" + self_type: "type-2" + } + is_unsigned: false + is_integral: true +} +builtin_types { + type_info { + name: "unsigned int" + size: 4 + alignment: 4 + referenced_type: "type-6" + source_file: "" + linker_set_key: "unsigned int" + self_type: "type-6" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "type-10" + source_file: "" + linker_set_key: "void" + self_type: "type-10" + } + is_unsigned: false + is_integral: false +} +functions { + return_type: "type-10" + function_name: "SuperSpeaker::SpeakLouder" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + parameters { + referenced_type: "type-9" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" + access: public_access +} +functions { + return_type: "type-9" + function_name: "SuperSpeaker::CreateSuperSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + parameters { + referenced_type: "type-2" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" + access: public_access +} +functions { + return_type: "type-8" + function_name: "SuperSpeaker::SpeakLoud" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + parameters { + referenced_type: "type-9" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + access: public_access +} +functions { + return_type: "type-10" + function_name: "LowVolumeSpeaker::Speak" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + parameters { + referenced_type: "type-4" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + access: public_access +} +functions { + return_type: "type-10" + function_name: "LowVolumeSpeaker::Listen" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + parameters { + referenced_type: "type-4" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +functions { + return_type: "type-12" + function_name: "HighVolumeSpeaker::BadPractice" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + parameters { + referenced_type: "type-12" + default_arg: false + } + parameters { + referenced_type: "type-3" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" + access: public_access +} +functions { + return_type: "type-10" + function_name: "HighVolumeSpeaker::Speak" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + parameters { + referenced_type: "type-12" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" + access: public_access +} +functions { + return_type: "type-10" + function_name: "HighVolumeSpeaker::Listen" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + parameters { + referenced_type: "type-12" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_parameter_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_parameter_type_diff.so.lsdump index 70a6fd7df78bf4908de2d4bfeef42b1a9d6048eb..1c97d32bd6d7c23fffbbce3b3b23f2ed634cdf7e 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_parameter_type_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_parameter_type_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-4" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-4" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-5" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-6" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-5" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,32 +204,35 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-4" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-3" } } pointer_types { @@ -233,9 +240,10 @@ pointer_types { name: "float *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-7" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" linker_set_key: "float *" + self_type: "type-6" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-7" source_file: "" linker_set_key: "float" + self_type: "type-7" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-5" source_file: "" linker_set_key: "unsigned int" + self_type: "type-5" } is_unsigned: true is_integral: true @@ -279,111 +290,112 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::~SuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeakerD2Ev" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEi" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_return_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_return_type_diff.so.lsdump index 26350363de889e23c77e5085161aa673e8d344c0..03537d5ed7c3ca959720be3244c271c209ad7530 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_return_type_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_return_type_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "int" + return_type: "type-2" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "int" + return_type: "type-2" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump index d7212077080d97d7d975bff1ed2c3feeefb1ae01..d99ecd57e4160b8e06783bce10b78ab70a9ed5ca 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,100 +290,101 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_vtable_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_vtable_diff.so.lsdump index e234005b2eb91c1d0c7b5c1abf91fc090a517785..efbec4ee8f5ca3db2df3068e53d86774edf95ceb 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_vtable_diff.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_vtable_diff.so.lsdump @@ -1,16 +1,18 @@ record_types { type_info { - name: "HighVolumeSpeaker" + name: "SuperSpeaker" size: 16 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker" + self_type: "type-1" } - base_specifiers { - referenced_type: "SuperSpeaker" - is_virtual: false - access: public_access + fields { + referenced_type: "type-2" + field_offset: 64 + field_name: "mSpeakderId" + access: private_access } vtable_layout { vtable_components { @@ -20,59 +22,48 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI17HighVolumeSpeaker" + mangled_component_name: "_ZTI12SuperSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN12SuperSpeaker6ListenEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + mangled_component_name: "_ZN12SuperSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + mangled_component_name: "_ZN12SuperSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS17HighVolumeSpeaker" + unique_id: "_ZTS12SuperSpeaker" } } record_types { type_info { - name: "LowVolumeSpeaker" - size: 24 + name: "HighVolumeSpeaker" + size: 16 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker" - } - fields { - referenced_type: "unsigned int" - field_offset: 96 - field_name: "speaker_uint_t" - access: public_access - } - fields { - referenced_type: "float *" - field_offset: 128 - field_name: "speaker_float_star" - access: public_access + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + self_type: "type-11" } base_specifiers { - referenced_type: "SuperSpeaker" + referenced_type: "type-1" is_virtual: false access: public_access } @@ -84,50 +75,62 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI16LowVolumeSpeaker" + mangled_component_name: "_ZTI17HighVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS16LowVolumeSpeaker" + unique_id: "_ZTS17HighVolumeSpeaker" } } record_types { type_info { - name: "SuperSpeaker" - size: 16 + name: "LowVolumeSpeaker" + size: 24 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker" + referenced_type: "type-5" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker" + self_type: "type-5" } fields { - referenced_type: "int" - field_offset: 64 - field_name: "mSpeakderId" - access: private_access + referenced_type: "type-6" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "type-7" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "type-1" + is_virtual: false + access: public_access } vtable_layout { vtable_components { @@ -137,34 +140,34 @@ record_types { } vtable_components { kind: RTTI - mangled_component_name: "_ZTI12SuperSpeaker" + mangled_component_name: "_ZTI16LowVolumeSpeaker" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker6ListenEv" + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" component_value: 0 } vtable_components { kind: FunctionPointer - mangled_component_name: "_ZN12SuperSpeaker5SpeakEv" + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" component_value: 0 } vtable_components { kind: CompleteDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD1Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" component_value: 0 } vtable_components { kind: DeletingDtorPointer - mangled_component_name: "_ZN12SuperSpeakerD0Ev" + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" component_value: 0 } } access: public_access record_kind: class_kind tag_info { - unique_id: "_ZTS12SuperSpeaker" + unique_id: "_ZTS16LowVolumeSpeaker" } } enum_types { @@ -172,11 +175,12 @@ enum_types { name: "SuperSpeaker::Volume" size: 4 alignment: 4 - referenced_type: "SuperSpeaker::Volume" + referenced_type: "type-8" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "SuperSpeaker::Volume" + self_type: "type-8" } - underlying_type: "unsigned int" + underlying_type: "type-6" enum_fields { enum_field_value: 1 name: "SuperSpeaker::Volume::Loud" @@ -200,42 +204,46 @@ enum_types { } pointer_types { type_info { - name: "HighVolumeSpeaker *" + name: "SuperSpeaker *" size: 8 alignment: 8 - referenced_type: "HighVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" - linker_set_key: "HighVolumeSpeaker *" + referenced_type: "type-1" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker *" + self_type: "type-9" } } pointer_types { type_info { - name: "LowVolumeSpeaker *" + name: "HighVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "LowVolumeSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "LowVolumeSpeaker *" + referenced_type: "type-11" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + self_type: "type-12" } } pointer_types { type_info { - name: "SuperSpeaker *" + name: "float *" size: 8 alignment: 8 - referenced_type: "SuperSpeaker" - source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" - linker_set_key: "SuperSpeaker *" + referenced_type: "type-3" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "float *" + self_type: "type-7" } } pointer_types { type_info { - name: "float *" + name: "LowVolumeSpeaker *" size: 8 alignment: 8 - referenced_type: "float" + referenced_type: "type-5" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" - linker_set_key: "float *" + linker_set_key: "LowVolumeSpeaker *" + self_type: "type-4" } } builtin_types { @@ -243,9 +251,10 @@ builtin_types { name: "float" size: 4 alignment: 4 - referenced_type: "float" + referenced_type: "type-3" source_file: "" linker_set_key: "float" + self_type: "type-3" } is_unsigned: false is_integral: false @@ -255,9 +264,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true @@ -267,9 +277,10 @@ builtin_types { name: "unsigned int" size: 4 alignment: 4 - referenced_type: "unsigned int" + referenced_type: "type-6" source_file: "" linker_set_key: "unsigned int" + self_type: "type-6" } is_unsigned: true is_integral: true @@ -279,96 +290,97 @@ builtin_types { name: "void" size: 0 alignment: 0 - referenced_type: "void" + referenced_type: "type-10" source_file: "" linker_set_key: "void" + self_type: "type-10" } is_unsigned: false is_integral: false } functions { - return_type: "void" + return_type: "type-10" function_name: "SuperSpeaker::SpeakLouder" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv" access: public_access } functions { - return_type: "SuperSpeaker *" + return_type: "type-9" function_name: "SuperSpeaker::CreateSuperSpeaker" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "int" + referenced_type: "type-2" default_arg: false } linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" access: public_access } functions { - return_type: "SuperSpeaker::Volume" + return_type: "type-8" function_name: "SuperSpeaker::SpeakLoud" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" parameters { - referenced_type: "SuperSpeaker *" + referenced_type: "type-9" default_arg: false } linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "LowVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" parameters { - referenced_type: "LowVolumeSpeaker *" + referenced_type: "type-4" default_arg: false } linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" access: public_access } functions { - return_type: "HighVolumeSpeaker *" + return_type: "type-12" function_name: "HighVolumeSpeaker::BadPractice" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } parameters { - referenced_type: "float" + referenced_type: "type-3" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Speak" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv" access: public_access } functions { - return_type: "void" + return_type: "type-10" function_name: "HighVolumeSpeaker::Listen" source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" parameters { - referenced_type: "HighVolumeSpeaker *" + referenced_type: "type-12" default_arg: false } linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv" diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libreproducability.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libreproducability.so.lsdump index 2fd114f291e60b2be3e65e438e75b482f33397cb..406c66c7caefccc347ea7625025908bb2639f6c4 100644 --- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libreproducability.so.lsdump +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libreproducability.so.lsdump @@ -3,12 +3,13 @@ record_types { name: "ShouldRepro" size: 4 alignment: 4 - referenced_type: "ShouldRepro" + referenced_type: "type-1" source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/reproducability_c.h" linker_set_key: "ShouldRepro" + self_type: "type-1" } fields { - referenced_type: "int" + referenced_type: "type-2" field_offset: 0 field_name: "a" access: public_access @@ -24,9 +25,10 @@ builtin_types { name: "int" size: 4 alignment: 4 - referenced_type: "int" + referenced_type: "type-2" source_file: "" linker_set_key: "int" + self_type: "type-2" } is_unsigned: false is_integral: true