Merge "Add unit tests for header-abi-dumper -suppress-errors"
This commit is contained in:
@@ -20,10 +20,9 @@ FILE_EXTENSIONS = ['h', 'hpp', 'hxx', 'cpp', 'cc', 'c']
|
|||||||
|
|
||||||
def make_and_copy_reference_dumps(module, default_cflags=[],
|
def make_and_copy_reference_dumps(module, default_cflags=[],
|
||||||
reference_dump_dir=REFERENCE_DUMP_DIR):
|
reference_dump_dir=REFERENCE_DUMP_DIR):
|
||||||
lsdump_content = module.make_lsdump(default_cflags)
|
lsdump_content = module.make_dump(default_cflags)
|
||||||
return copy_reference_dump_content(module.get_name(), lsdump_content,
|
return copy_reference_dump_content(module.get_dump_name(), lsdump_content,
|
||||||
reference_dump_dir, '',
|
reference_dump_dir, '', module.arch)
|
||||||
module.get_arch())
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
patt = re.compile(
|
patt = re.compile(
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
#ifndef KNOWN_ISSUES_H_
|
||||||
|
#define KNOWN_ISSUES_H_
|
||||||
|
|
||||||
|
// header-abi-dumper is unable to output the following types correctly.
|
||||||
|
|
||||||
|
// template<int I> struct NonTypeTemplate;
|
||||||
|
extern NonTypeTemplate<1> non_type_template;
|
||||||
|
|
||||||
|
// namespace namespace1{
|
||||||
|
// template<typename T> class UsingTemplate;
|
||||||
|
// }
|
||||||
|
using namespace1::UsingTemplate;
|
||||||
|
extern UsingTemplate<float> *using_template;
|
||||||
|
|
||||||
|
// #define STDCALL __stdcall
|
||||||
|
STDCALL return_type function_with_calling_convention();
|
||||||
|
|
||||||
|
// class ClassInNameSpace;
|
||||||
|
template <typename T> class ClassTemplate;
|
||||||
|
extern ClassTemplate<::ClassInNameSpace> template_arg_in_namespace;
|
||||||
|
|
||||||
|
#endif // KNOWN_ISSUES_H_
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
#ifndef UNDECLARED_TYPES_H_
|
||||||
|
#define UNDECLARED_TYPES_H_
|
||||||
|
|
||||||
|
using ::namespace_a::A;
|
||||||
|
typedef const namespace_b::B *B;
|
||||||
|
using C = namespace_c::C[];
|
||||||
|
|
||||||
|
extern A a;
|
||||||
|
extern namespace_b::template_b<B> b;
|
||||||
|
extern const decltype(b) c;
|
||||||
|
|
||||||
|
inline A &inline_function(template_c<template_d<C>> d) {
|
||||||
|
LocalVar e;
|
||||||
|
return FunctionCall(d, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
class InvalidClass {
|
||||||
|
A member;
|
||||||
|
|
||||||
|
D member_function(E);
|
||||||
|
virtual void virtual_function(float);
|
||||||
|
};
|
||||||
|
|
||||||
|
#define DECLARE_VARIABLE extern TemplateInMacro<F> *template_in_macro
|
||||||
|
DECLARE_VARIABLE;
|
||||||
|
|
||||||
|
#endif // UNDECLARED_TYPES_H_
|
||||||
@@ -8,6 +8,7 @@ import_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
|
|||||||
import_path = os.path.abspath(os.path.join(import_path, 'utils'))
|
import_path = os.path.abspath(os.path.join(import_path, 'utils'))
|
||||||
sys.path.insert(1, import_path)
|
sys.path.insert(1, import_path)
|
||||||
|
|
||||||
|
from utils import run_header_abi_dumper
|
||||||
from utils import run_header_abi_dumper_on_file
|
from utils import run_header_abi_dumper_on_file
|
||||||
from utils import run_header_abi_linker
|
from utils import run_header_abi_linker
|
||||||
from utils import TARGET_ARCHS
|
from utils import TARGET_ARCHS
|
||||||
@@ -36,55 +37,91 @@ def relative_to_abs_path_list(relative_path_list):
|
|||||||
abs_paths.append(relative_to_abs_path(relative_path))
|
abs_paths.append(relative_to_abs_path(relative_path))
|
||||||
return abs_paths
|
return abs_paths
|
||||||
|
|
||||||
|
|
||||||
class Module(object):
|
class Module(object):
|
||||||
def __init__(self, name, arch, srcs, version_script, cflags,
|
def __init__(self, name, arch, cflags, export_include_dirs):
|
||||||
export_include_dirs, api, dumper_flags=[], linker_flags=[]):
|
|
||||||
self.name = name
|
self.name = name
|
||||||
self.arch = arch
|
self.arch = arch
|
||||||
self.srcs = relative_to_abs_path_list(srcs)
|
|
||||||
self.version_script = relative_to_abs_path(version_script)
|
|
||||||
self.cflags = cflags
|
self.cflags = cflags
|
||||||
self.arch_cflags = ['']
|
self.arch_cflags = ['']
|
||||||
if self.arch != '':
|
if self.arch != '':
|
||||||
self.arch_cflags = ARCH_TARGET_CFLAGS.get(self.arch)
|
self.arch_cflags = ARCH_TARGET_CFLAGS.get(self.arch)
|
||||||
self.export_include_dirs = relative_to_abs_path_list(export_include_dirs)
|
self.export_include_dirs = relative_to_abs_path_list(export_include_dirs)
|
||||||
|
|
||||||
|
def get_dump_name(self):
|
||||||
|
"""Returns the module name followed by file extension."""
|
||||||
|
raise NotImplementedError()
|
||||||
|
|
||||||
|
def make_dump(self, default_cflags):
|
||||||
|
"""Returns the dump content as a string."""
|
||||||
|
raise NotImplementedError()
|
||||||
|
|
||||||
|
def mutate_for_arch(self, target_arch):
|
||||||
|
"""Returns a clone of this instance with arch=target_arch."""
|
||||||
|
raise NotImplementedError()
|
||||||
|
|
||||||
|
def mutate_for_all_arches(self):
|
||||||
|
modules = []
|
||||||
|
for target_arch in TARGET_ARCHS:
|
||||||
|
modules.append(self.mutate_for_arch(target_arch))
|
||||||
|
return modules
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_test_modules():
|
||||||
|
modules = []
|
||||||
|
for module in TEST_MODULES.values():
|
||||||
|
if module.arch == '':
|
||||||
|
modules += module.mutate_for_all_arches()
|
||||||
|
return modules
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_test_module_by_name(name):
|
||||||
|
return TEST_MODULES.get(name)
|
||||||
|
|
||||||
|
|
||||||
|
class SdumpModule(Module):
|
||||||
|
def __init__(self, name, src, export_include_dirs=tuple(), cflags=tuple(),
|
||||||
|
arch='', dumper_flags=tuple()):
|
||||||
|
super(SdumpModule, self).__init__(name, arch, cflags,
|
||||||
|
export_include_dirs)
|
||||||
|
self.src = relative_to_abs_path(src)
|
||||||
|
self.dumper_flags = dumper_flags
|
||||||
|
|
||||||
|
def get_dump_name(self):
|
||||||
|
return self.name + '.sdump'
|
||||||
|
|
||||||
|
def make_dump(self, default_cflags):
|
||||||
|
return run_header_abi_dumper(
|
||||||
|
self.src, remove_absolute_paths=True, cflags=self.cflags,
|
||||||
|
export_include_dirs=self.export_include_dirs,
|
||||||
|
flags=self.dumper_flags)
|
||||||
|
|
||||||
|
def mutate_for_arch(self, target_arch):
|
||||||
|
return SdumpModule(self.name, self.src, self.export_include_dirs,
|
||||||
|
self.cflags, target_arch, self.dumper_flags)
|
||||||
|
|
||||||
|
|
||||||
|
class LsdumpModule(Module):
|
||||||
|
def __init__(self, name, arch, srcs, version_script, cflags,
|
||||||
|
export_include_dirs, api, dumper_flags=tuple(),
|
||||||
|
linker_flags=tuple()):
|
||||||
|
super(LsdumpModule, self).__init__(name, arch, cflags,
|
||||||
|
export_include_dirs)
|
||||||
|
self.srcs = relative_to_abs_path_list(srcs)
|
||||||
|
self.version_script = relative_to_abs_path(version_script)
|
||||||
self.api = api
|
self.api = api
|
||||||
self.dumper_flags = dumper_flags
|
self.dumper_flags = dumper_flags
|
||||||
self.linker_flags = linker_flags
|
self.linker_flags = linker_flags
|
||||||
|
|
||||||
def get_name(self):
|
def get_dump_name(self):
|
||||||
return self.name
|
return self.name + SOURCE_ABI_DUMP_EXT
|
||||||
|
|
||||||
def get_arch(self):
|
def make_dump(self, default_cflags):
|
||||||
return self.arch
|
|
||||||
|
|
||||||
def get_srcs(self):
|
|
||||||
return self.srcs
|
|
||||||
|
|
||||||
def get_export_include_dirs(self):
|
|
||||||
return self.export_include_dirs
|
|
||||||
|
|
||||||
def get_cflags(self):
|
|
||||||
return self.cflags
|
|
||||||
|
|
||||||
def get_version_script(self):
|
|
||||||
return self.version_script
|
|
||||||
|
|
||||||
def get_api(self):
|
|
||||||
return self.api
|
|
||||||
|
|
||||||
def get_dumper_flags(self):
|
|
||||||
return self.dumper_flags
|
|
||||||
|
|
||||||
def get_linker_flags(self):
|
|
||||||
return self.linker_flags
|
|
||||||
|
|
||||||
def make_lsdump(self, default_cflags):
|
|
||||||
""" For each source file, produce a .sdump file, and link them to form
|
""" For each source file, produce a .sdump file, and link them to form
|
||||||
an lsump file"""
|
an lsump file"""
|
||||||
dumps_to_link = []
|
dumps_to_link = []
|
||||||
with tempfile.TemporaryDirectory() as tmp:
|
with tempfile.TemporaryDirectory() as tmp:
|
||||||
output_lsdump = os.path.join(tmp, self.name) + SOURCE_ABI_DUMP_EXT
|
output_lsdump = os.path.join(tmp, self.get_dump_name())
|
||||||
for src in self.srcs:
|
for src in self.srcs:
|
||||||
output_path = os.path.join(tmp, os.path.basename(src)) + '.sdump'
|
output_path = os.path.join(tmp, os.path.basename(src)) + '.sdump'
|
||||||
dumps_to_link.append(output_path)
|
dumps_to_link.append(output_path)
|
||||||
@@ -96,40 +133,25 @@ class Module(object):
|
|||||||
self.version_script, self.api,
|
self.version_script, self.api,
|
||||||
self.arch, self.linker_flags)
|
self.arch, self.linker_flags)
|
||||||
|
|
||||||
@staticmethod
|
def mutate_for_arch(self, target_arch):
|
||||||
def mutate_module_for_arch(module, target_arch):
|
return LsdumpModule(self.name, target_arch, self.srcs,
|
||||||
name = module.get_name()
|
self.version_script, self.cflags,
|
||||||
srcs = module.get_srcs()
|
self.export_include_dirs, self.api,
|
||||||
version_script = module.get_version_script()
|
self.dumper_flags, self.linker_flags)
|
||||||
cflags = module.get_cflags()
|
|
||||||
export_include_dirs = module.get_export_include_dirs()
|
|
||||||
api = module.get_api()
|
|
||||||
dumper_flags = module.get_dumper_flags()
|
|
||||||
linker_flags = module.get_linker_flags()
|
|
||||||
return Module(name, target_arch, srcs, version_script, cflags,
|
|
||||||
export_include_dirs, api, dumper_flags, linker_flags)
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def mutate_module_for_all_arches(module):
|
|
||||||
modules = []
|
|
||||||
for target_arch in TARGET_ARCHS:
|
|
||||||
modules.append(Module.mutate_module_for_arch(module, target_arch))
|
|
||||||
return modules
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def get_test_modules():
|
|
||||||
modules = []
|
|
||||||
for module in TEST_MODULES.values():
|
|
||||||
if module.get_arch() == '':
|
|
||||||
modules += Module.mutate_module_for_all_arches(module)
|
|
||||||
return modules
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def get_test_module_by_name(name):
|
|
||||||
return TEST_MODULES[name]
|
|
||||||
|
|
||||||
TEST_MODULES = [
|
TEST_MODULES = [
|
||||||
Module(
|
SdumpModule(
|
||||||
|
name='undeclared_types.h',
|
||||||
|
src='integration/cpp/header/undeclared_types.h',
|
||||||
|
arch='',
|
||||||
|
dumper_flags=['-suppress-errors', '-output-format', 'Json']),
|
||||||
|
SdumpModule(
|
||||||
|
name='known_issues.h',
|
||||||
|
src='integration/cpp/header/known_issues.h',
|
||||||
|
arch='',
|
||||||
|
dumper_flags=['-suppress-errors', '-output-format', 'Json']),
|
||||||
|
LsdumpModule(
|
||||||
name='libc_and_cpp',
|
name='libc_and_cpp',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/c_and_cpp/source1.cpp',
|
'integration/c_and_cpp/source1.cpp',
|
||||||
@@ -141,7 +163,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libc_and_cpp_with_opaque_ptr_a',
|
name='libc_and_cpp_with_opaque_ptr_a',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/c_and_cpp/source1.cpp',
|
'integration/c_and_cpp/source1.cpp',
|
||||||
@@ -153,7 +175,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libc_and_cpp_with_opaque_ptr_b',
|
name='libc_and_cpp_with_opaque_ptr_b',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/c_and_cpp/source1.cpp',
|
'integration/c_and_cpp/source1.cpp',
|
||||||
@@ -165,7 +187,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libc_and_cpp_with_unused_struct',
|
name='libc_and_cpp_with_unused_struct',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/c_and_cpp/source1.cpp',
|
'integration/c_and_cpp/source1.cpp',
|
||||||
@@ -177,7 +199,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libc_and_cpp_with_unused_cstruct',
|
name='libc_and_cpp_with_unused_cstruct',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/c_and_cpp/source1.cpp',
|
'integration/c_and_cpp/source1.cpp',
|
||||||
@@ -189,7 +211,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp',
|
name='libgolden_cpp',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
@@ -202,7 +224,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp_odr',
|
name='libgolden_cpp_odr',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
@@ -215,7 +237,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp_add_function',
|
name='libgolden_cpp_add_function',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
@@ -228,7 +250,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp_add_function_and_unexported_elf',
|
name='libgolden_cpp_add_function_and_unexported_elf',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
@@ -241,7 +263,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp_change_function_access',
|
name='libgolden_cpp_change_function_access',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
@@ -254,7 +276,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp_add_global_variable',
|
name='libgolden_cpp_add_global_variable',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
@@ -267,7 +289,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp_add_global_variable_private',
|
name='libgolden_cpp_add_global_variable_private',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
@@ -280,7 +302,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp_return_type_diff',
|
name='libgolden_cpp_return_type_diff',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
@@ -293,7 +315,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp_parameter_type_diff',
|
name='libgolden_cpp_parameter_type_diff',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
@@ -306,7 +328,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp_vtable_diff',
|
name='libgolden_cpp_vtable_diff',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
@@ -319,7 +341,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp_member_diff',
|
name='libgolden_cpp_member_diff',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
@@ -332,7 +354,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp_member_fake_diff',
|
name='libgolden_cpp_member_fake_diff',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
@@ -345,7 +367,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp_member_cv_diff',
|
name='libgolden_cpp_member_cv_diff',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
@@ -358,7 +380,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp_change_member_access',
|
name='libgolden_cpp_change_member_access',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
@@ -371,7 +393,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp_member_integral_type_diff',
|
name='libgolden_cpp_member_integral_type_diff',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
@@ -384,7 +406,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp_enum_diff',
|
name='libgolden_cpp_enum_diff',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
@@ -397,7 +419,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp_enum_extended',
|
name='libgolden_cpp_enum_extended',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
@@ -410,7 +432,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp_unreferenced_elf_symbol_removed',
|
name='libgolden_cpp_unreferenced_elf_symbol_removed',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
@@ -423,7 +445,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libreproducability',
|
name='libreproducability',
|
||||||
srcs=['integration/c_and_cpp/reproducability.c'],
|
srcs=['integration/c_and_cpp/reproducability.c'],
|
||||||
version_script='integration/c_and_cpp/repro_map.txt',
|
version_script='integration/c_and_cpp/repro_map.txt',
|
||||||
@@ -432,7 +454,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp_member_name_changed',
|
name='libgolden_cpp_member_name_changed',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
@@ -445,7 +467,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp_function_pointer',
|
name='libgolden_cpp_function_pointer',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
@@ -458,7 +480,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp_function_pointer_parameter_added',
|
name='libgolden_cpp_function_pointer_parameter_added',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
@@ -472,7 +494,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp_internal_public_struct',
|
name='libgolden_cpp_internal_public_struct',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
@@ -486,7 +508,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp_internal_private_struct',
|
name='libgolden_cpp_internal_private_struct',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
@@ -499,7 +521,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp_inheritance_type_changed',
|
name='libgolden_cpp_inheritance_type_changed',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
@@ -512,7 +534,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libpure_virtual_function',
|
name='libpure_virtual_function',
|
||||||
srcs=['integration/cpp/pure_virtual/pure_virtual_function.cpp'],
|
srcs=['integration/cpp/pure_virtual/pure_virtual_function.cpp'],
|
||||||
export_include_dirs=['integration/cpp/pure_virtual/include'],
|
export_include_dirs=['integration/cpp/pure_virtual/include'],
|
||||||
@@ -521,7 +543,7 @@ TEST_MODULES = [
|
|||||||
arch='',
|
arch='',
|
||||||
api='current',
|
api='current',
|
||||||
),
|
),
|
||||||
Module(
|
LsdumpModule(
|
||||||
name='libgolden_cpp_json',
|
name='libgolden_cpp_json',
|
||||||
srcs=[
|
srcs=[
|
||||||
'integration/cpp/gold/golden_1.cpp',
|
'integration/cpp/gold/golden_1.cpp',
|
||||||
|
|||||||
@@ -0,0 +1,46 @@
|
|||||||
|
{
|
||||||
|
"array_types" : [],
|
||||||
|
"builtin_types" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"alignment" : 4,
|
||||||
|
"is_integral" : true,
|
||||||
|
"linker_set_key" : "int",
|
||||||
|
"name" : "int",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"self_type" : "type-1",
|
||||||
|
"size" : 4
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"elf_functions" : [],
|
||||||
|
"elf_objects" : [],
|
||||||
|
"enum_types" : [],
|
||||||
|
"function_types" : [],
|
||||||
|
"functions" : [],
|
||||||
|
"global_vars" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"linker_set_key" : "non_type_template",
|
||||||
|
"name" : "non_type_template",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/known_issues.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "return_type",
|
||||||
|
"name" : "return_type",
|
||||||
|
"referenced_type" : "type-2",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/known_issues.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "template_arg_in_namespace",
|
||||||
|
"name" : "template_arg_in_namespace",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/known_issues.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"lvalue_reference_types" : [],
|
||||||
|
"pointer_types" : [],
|
||||||
|
"qualified_types" : [],
|
||||||
|
"record_types" : [],
|
||||||
|
"rvalue_reference_types" : []
|
||||||
|
}
|
||||||
@@ -0,0 +1,113 @@
|
|||||||
|
{
|
||||||
|
"array_types" : [],
|
||||||
|
"builtin_types" : [],
|
||||||
|
"elf_functions" : [],
|
||||||
|
"elf_objects" : [],
|
||||||
|
"enum_types" : [],
|
||||||
|
"function_types" : [],
|
||||||
|
"functions" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"function_name" : "inline_function",
|
||||||
|
"linker_set_key" : "_Z15inline_function10template_cIJ10template_dIJA_N11namespace_c1CEEEEE",
|
||||||
|
"parameters" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"referenced_type" : "type-5"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"return_type" : "type-4",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"access" : "private",
|
||||||
|
"function_name" : "InvalidClass::member_function",
|
||||||
|
"linker_set_key" : "_ZN12InvalidClass15member_functionE1E",
|
||||||
|
"parameters" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"is_this_ptr" : true,
|
||||||
|
"referenced_type" : "type-8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"referenced_type" : "type-9"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"return_type" : "type-6",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"global_vars" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"linker_set_key" : "a",
|
||||||
|
"name" : "a",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "b",
|
||||||
|
"name" : "b",
|
||||||
|
"referenced_type" : "type-2",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "c",
|
||||||
|
"name" : "c",
|
||||||
|
"referenced_type" : "type-3",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "template_in_macro",
|
||||||
|
"name" : "template_in_macro",
|
||||||
|
"referenced_type" : "type-11",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"lvalue_reference_types" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"alignment" : 8,
|
||||||
|
"linker_set_key" : "namespace_a::A &",
|
||||||
|
"name" : "namespace_a::A &",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"self_type" : "type-4",
|
||||||
|
"size" : 8,
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pointer_types" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"alignment" : 8,
|
||||||
|
"linker_set_key" : "InvalidClass *",
|
||||||
|
"name" : "InvalidClass *",
|
||||||
|
"referenced_type" : "type-7",
|
||||||
|
"self_type" : "type-8",
|
||||||
|
"size" : 8,
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"alignment" : 8,
|
||||||
|
"linker_set_key" : "TemplateInMacro<F> *",
|
||||||
|
"name" : "TemplateInMacro<F> *",
|
||||||
|
"referenced_type" : "type-10",
|
||||||
|
"self_type" : "type-11",
|
||||||
|
"size" : 8,
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"qualified_types" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"is_const" : true,
|
||||||
|
"linker_set_key" : "const namespace_b::template_b<const B *>",
|
||||||
|
"name" : "const namespace_b::template_b<const B *>",
|
||||||
|
"referenced_type" : "type-2",
|
||||||
|
"self_type" : "type-3",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"record_types" : [],
|
||||||
|
"rvalue_reference_types" : []
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
{
|
||||||
|
"array_types" : [],
|
||||||
|
"builtin_types" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"alignment" : 4,
|
||||||
|
"is_integral" : true,
|
||||||
|
"linker_set_key" : "int",
|
||||||
|
"name" : "int",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"self_type" : "type-1",
|
||||||
|
"size" : 4
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"elf_functions" : [],
|
||||||
|
"elf_objects" : [],
|
||||||
|
"enum_types" : [],
|
||||||
|
"function_types" : [],
|
||||||
|
"functions" : [],
|
||||||
|
"global_vars" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"linker_set_key" : "non_type_template",
|
||||||
|
"name" : "non_type_template",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/known_issues.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "return_type",
|
||||||
|
"name" : "return_type",
|
||||||
|
"referenced_type" : "type-2",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/known_issues.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "template_arg_in_namespace",
|
||||||
|
"name" : "template_arg_in_namespace",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/known_issues.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"lvalue_reference_types" : [],
|
||||||
|
"pointer_types" : [],
|
||||||
|
"qualified_types" : [],
|
||||||
|
"record_types" : [],
|
||||||
|
"rvalue_reference_types" : []
|
||||||
|
}
|
||||||
@@ -0,0 +1,113 @@
|
|||||||
|
{
|
||||||
|
"array_types" : [],
|
||||||
|
"builtin_types" : [],
|
||||||
|
"elf_functions" : [],
|
||||||
|
"elf_objects" : [],
|
||||||
|
"enum_types" : [],
|
||||||
|
"function_types" : [],
|
||||||
|
"functions" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"function_name" : "inline_function",
|
||||||
|
"linker_set_key" : "_Z15inline_function10template_cIJ10template_dIJA_N11namespace_c1CEEEEE",
|
||||||
|
"parameters" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"referenced_type" : "type-5"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"return_type" : "type-4",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"access" : "private",
|
||||||
|
"function_name" : "InvalidClass::member_function",
|
||||||
|
"linker_set_key" : "_ZN12InvalidClass15member_functionE1E",
|
||||||
|
"parameters" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"is_this_ptr" : true,
|
||||||
|
"referenced_type" : "type-8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"referenced_type" : "type-9"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"return_type" : "type-6",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"global_vars" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"linker_set_key" : "a",
|
||||||
|
"name" : "a",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "b",
|
||||||
|
"name" : "b",
|
||||||
|
"referenced_type" : "type-2",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "c",
|
||||||
|
"name" : "c",
|
||||||
|
"referenced_type" : "type-3",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "template_in_macro",
|
||||||
|
"name" : "template_in_macro",
|
||||||
|
"referenced_type" : "type-11",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"lvalue_reference_types" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"alignment" : 8,
|
||||||
|
"linker_set_key" : "namespace_a::A &",
|
||||||
|
"name" : "namespace_a::A &",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"self_type" : "type-4",
|
||||||
|
"size" : 8,
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pointer_types" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"alignment" : 8,
|
||||||
|
"linker_set_key" : "InvalidClass *",
|
||||||
|
"name" : "InvalidClass *",
|
||||||
|
"referenced_type" : "type-7",
|
||||||
|
"self_type" : "type-8",
|
||||||
|
"size" : 8,
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"alignment" : 8,
|
||||||
|
"linker_set_key" : "TemplateInMacro<F> *",
|
||||||
|
"name" : "TemplateInMacro<F> *",
|
||||||
|
"referenced_type" : "type-10",
|
||||||
|
"self_type" : "type-11",
|
||||||
|
"size" : 8,
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"qualified_types" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"is_const" : true,
|
||||||
|
"linker_set_key" : "const namespace_b::template_b<const B *>",
|
||||||
|
"name" : "const namespace_b::template_b<const B *>",
|
||||||
|
"referenced_type" : "type-2",
|
||||||
|
"self_type" : "type-3",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"record_types" : [],
|
||||||
|
"rvalue_reference_types" : []
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
{
|
||||||
|
"array_types" : [],
|
||||||
|
"builtin_types" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"alignment" : 4,
|
||||||
|
"is_integral" : true,
|
||||||
|
"linker_set_key" : "int",
|
||||||
|
"name" : "int",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"self_type" : "type-1",
|
||||||
|
"size" : 4
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"elf_functions" : [],
|
||||||
|
"elf_objects" : [],
|
||||||
|
"enum_types" : [],
|
||||||
|
"function_types" : [],
|
||||||
|
"functions" : [],
|
||||||
|
"global_vars" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"linker_set_key" : "non_type_template",
|
||||||
|
"name" : "non_type_template",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/known_issues.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "return_type",
|
||||||
|
"name" : "return_type",
|
||||||
|
"referenced_type" : "type-2",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/known_issues.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "template_arg_in_namespace",
|
||||||
|
"name" : "template_arg_in_namespace",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/known_issues.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"lvalue_reference_types" : [],
|
||||||
|
"pointer_types" : [],
|
||||||
|
"qualified_types" : [],
|
||||||
|
"record_types" : [],
|
||||||
|
"rvalue_reference_types" : []
|
||||||
|
}
|
||||||
@@ -0,0 +1,113 @@
|
|||||||
|
{
|
||||||
|
"array_types" : [],
|
||||||
|
"builtin_types" : [],
|
||||||
|
"elf_functions" : [],
|
||||||
|
"elf_objects" : [],
|
||||||
|
"enum_types" : [],
|
||||||
|
"function_types" : [],
|
||||||
|
"functions" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"function_name" : "inline_function",
|
||||||
|
"linker_set_key" : "_Z15inline_function10template_cIJ10template_dIJA_N11namespace_c1CEEEEE",
|
||||||
|
"parameters" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"referenced_type" : "type-5"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"return_type" : "type-4",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"access" : "private",
|
||||||
|
"function_name" : "InvalidClass::member_function",
|
||||||
|
"linker_set_key" : "_ZN12InvalidClass15member_functionE1E",
|
||||||
|
"parameters" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"is_this_ptr" : true,
|
||||||
|
"referenced_type" : "type-8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"referenced_type" : "type-9"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"return_type" : "type-6",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"global_vars" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"linker_set_key" : "a",
|
||||||
|
"name" : "a",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "b",
|
||||||
|
"name" : "b",
|
||||||
|
"referenced_type" : "type-2",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "c",
|
||||||
|
"name" : "c",
|
||||||
|
"referenced_type" : "type-3",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "template_in_macro",
|
||||||
|
"name" : "template_in_macro",
|
||||||
|
"referenced_type" : "type-11",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"lvalue_reference_types" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"alignment" : 8,
|
||||||
|
"linker_set_key" : "namespace_a::A &",
|
||||||
|
"name" : "namespace_a::A &",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"self_type" : "type-4",
|
||||||
|
"size" : 8,
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pointer_types" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"alignment" : 8,
|
||||||
|
"linker_set_key" : "InvalidClass *",
|
||||||
|
"name" : "InvalidClass *",
|
||||||
|
"referenced_type" : "type-7",
|
||||||
|
"self_type" : "type-8",
|
||||||
|
"size" : 8,
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"alignment" : 8,
|
||||||
|
"linker_set_key" : "TemplateInMacro<F> *",
|
||||||
|
"name" : "TemplateInMacro<F> *",
|
||||||
|
"referenced_type" : "type-10",
|
||||||
|
"self_type" : "type-11",
|
||||||
|
"size" : 8,
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"qualified_types" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"is_const" : true,
|
||||||
|
"linker_set_key" : "const namespace_b::template_b<const B *>",
|
||||||
|
"name" : "const namespace_b::template_b<const B *>",
|
||||||
|
"referenced_type" : "type-2",
|
||||||
|
"self_type" : "type-3",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"record_types" : [],
|
||||||
|
"rvalue_reference_types" : []
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
{
|
||||||
|
"array_types" : [],
|
||||||
|
"builtin_types" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"alignment" : 4,
|
||||||
|
"is_integral" : true,
|
||||||
|
"linker_set_key" : "int",
|
||||||
|
"name" : "int",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"self_type" : "type-1",
|
||||||
|
"size" : 4
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"elf_functions" : [],
|
||||||
|
"elf_objects" : [],
|
||||||
|
"enum_types" : [],
|
||||||
|
"function_types" : [],
|
||||||
|
"functions" : [],
|
||||||
|
"global_vars" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"linker_set_key" : "non_type_template",
|
||||||
|
"name" : "non_type_template",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/known_issues.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "return_type",
|
||||||
|
"name" : "return_type",
|
||||||
|
"referenced_type" : "type-2",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/known_issues.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "template_arg_in_namespace",
|
||||||
|
"name" : "template_arg_in_namespace",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/known_issues.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"lvalue_reference_types" : [],
|
||||||
|
"pointer_types" : [],
|
||||||
|
"qualified_types" : [],
|
||||||
|
"record_types" : [],
|
||||||
|
"rvalue_reference_types" : []
|
||||||
|
}
|
||||||
@@ -0,0 +1,113 @@
|
|||||||
|
{
|
||||||
|
"array_types" : [],
|
||||||
|
"builtin_types" : [],
|
||||||
|
"elf_functions" : [],
|
||||||
|
"elf_objects" : [],
|
||||||
|
"enum_types" : [],
|
||||||
|
"function_types" : [],
|
||||||
|
"functions" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"function_name" : "inline_function",
|
||||||
|
"linker_set_key" : "_Z15inline_function10template_cIJ10template_dIJA_N11namespace_c1CEEEEE",
|
||||||
|
"parameters" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"referenced_type" : "type-5"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"return_type" : "type-4",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"access" : "private",
|
||||||
|
"function_name" : "InvalidClass::member_function",
|
||||||
|
"linker_set_key" : "_ZN12InvalidClass15member_functionE1E",
|
||||||
|
"parameters" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"is_this_ptr" : true,
|
||||||
|
"referenced_type" : "type-8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"referenced_type" : "type-9"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"return_type" : "type-6",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"global_vars" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"linker_set_key" : "a",
|
||||||
|
"name" : "a",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "b",
|
||||||
|
"name" : "b",
|
||||||
|
"referenced_type" : "type-2",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "c",
|
||||||
|
"name" : "c",
|
||||||
|
"referenced_type" : "type-3",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "template_in_macro",
|
||||||
|
"name" : "template_in_macro",
|
||||||
|
"referenced_type" : "type-11",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"lvalue_reference_types" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"alignment" : 8,
|
||||||
|
"linker_set_key" : "namespace_a::A &",
|
||||||
|
"name" : "namespace_a::A &",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"self_type" : "type-4",
|
||||||
|
"size" : 8,
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pointer_types" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"alignment" : 8,
|
||||||
|
"linker_set_key" : "InvalidClass *",
|
||||||
|
"name" : "InvalidClass *",
|
||||||
|
"referenced_type" : "type-7",
|
||||||
|
"self_type" : "type-8",
|
||||||
|
"size" : 8,
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"alignment" : 8,
|
||||||
|
"linker_set_key" : "TemplateInMacro<F> *",
|
||||||
|
"name" : "TemplateInMacro<F> *",
|
||||||
|
"referenced_type" : "type-10",
|
||||||
|
"self_type" : "type-11",
|
||||||
|
"size" : 8,
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"qualified_types" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"is_const" : true,
|
||||||
|
"linker_set_key" : "const namespace_b::template_b<const B *>",
|
||||||
|
"name" : "const namespace_b::template_b<const B *>",
|
||||||
|
"referenced_type" : "type-2",
|
||||||
|
"self_type" : "type-3",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"record_types" : [],
|
||||||
|
"rvalue_reference_types" : []
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
{
|
||||||
|
"array_types" : [],
|
||||||
|
"builtin_types" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"alignment" : 4,
|
||||||
|
"is_integral" : true,
|
||||||
|
"linker_set_key" : "int",
|
||||||
|
"name" : "int",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"self_type" : "type-1",
|
||||||
|
"size" : 4
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"elf_functions" : [],
|
||||||
|
"elf_objects" : [],
|
||||||
|
"enum_types" : [],
|
||||||
|
"function_types" : [],
|
||||||
|
"functions" : [],
|
||||||
|
"global_vars" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"linker_set_key" : "non_type_template",
|
||||||
|
"name" : "non_type_template",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/known_issues.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "return_type",
|
||||||
|
"name" : "return_type",
|
||||||
|
"referenced_type" : "type-2",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/known_issues.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "template_arg_in_namespace",
|
||||||
|
"name" : "template_arg_in_namespace",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/known_issues.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"lvalue_reference_types" : [],
|
||||||
|
"pointer_types" : [],
|
||||||
|
"qualified_types" : [],
|
||||||
|
"record_types" : [],
|
||||||
|
"rvalue_reference_types" : []
|
||||||
|
}
|
||||||
@@ -0,0 +1,113 @@
|
|||||||
|
{
|
||||||
|
"array_types" : [],
|
||||||
|
"builtin_types" : [],
|
||||||
|
"elf_functions" : [],
|
||||||
|
"elf_objects" : [],
|
||||||
|
"enum_types" : [],
|
||||||
|
"function_types" : [],
|
||||||
|
"functions" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"function_name" : "inline_function",
|
||||||
|
"linker_set_key" : "_Z15inline_function10template_cIJ10template_dIJA_N11namespace_c1CEEEEE",
|
||||||
|
"parameters" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"referenced_type" : "type-5"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"return_type" : "type-4",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"access" : "private",
|
||||||
|
"function_name" : "InvalidClass::member_function",
|
||||||
|
"linker_set_key" : "_ZN12InvalidClass15member_functionE1E",
|
||||||
|
"parameters" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"is_this_ptr" : true,
|
||||||
|
"referenced_type" : "type-8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"referenced_type" : "type-9"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"return_type" : "type-6",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"global_vars" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"linker_set_key" : "a",
|
||||||
|
"name" : "a",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "b",
|
||||||
|
"name" : "b",
|
||||||
|
"referenced_type" : "type-2",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "c",
|
||||||
|
"name" : "c",
|
||||||
|
"referenced_type" : "type-3",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "template_in_macro",
|
||||||
|
"name" : "template_in_macro",
|
||||||
|
"referenced_type" : "type-11",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"lvalue_reference_types" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"alignment" : 8,
|
||||||
|
"linker_set_key" : "namespace_a::A &",
|
||||||
|
"name" : "namespace_a::A &",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"self_type" : "type-4",
|
||||||
|
"size" : 8,
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pointer_types" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"alignment" : 8,
|
||||||
|
"linker_set_key" : "InvalidClass *",
|
||||||
|
"name" : "InvalidClass *",
|
||||||
|
"referenced_type" : "type-7",
|
||||||
|
"self_type" : "type-8",
|
||||||
|
"size" : 8,
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"alignment" : 8,
|
||||||
|
"linker_set_key" : "TemplateInMacro<F> *",
|
||||||
|
"name" : "TemplateInMacro<F> *",
|
||||||
|
"referenced_type" : "type-10",
|
||||||
|
"self_type" : "type-11",
|
||||||
|
"size" : 8,
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"qualified_types" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"is_const" : true,
|
||||||
|
"linker_set_key" : "const namespace_b::template_b<const B *>",
|
||||||
|
"name" : "const namespace_b::template_b<const B *>",
|
||||||
|
"referenced_type" : "type-2",
|
||||||
|
"self_type" : "type-3",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"record_types" : [],
|
||||||
|
"rvalue_reference_types" : []
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
{
|
||||||
|
"array_types" : [],
|
||||||
|
"builtin_types" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"alignment" : 4,
|
||||||
|
"is_integral" : true,
|
||||||
|
"linker_set_key" : "int",
|
||||||
|
"name" : "int",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"self_type" : "type-1",
|
||||||
|
"size" : 4
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"elf_functions" : [],
|
||||||
|
"elf_objects" : [],
|
||||||
|
"enum_types" : [],
|
||||||
|
"function_types" : [],
|
||||||
|
"functions" : [],
|
||||||
|
"global_vars" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"linker_set_key" : "non_type_template",
|
||||||
|
"name" : "non_type_template",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/known_issues.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "return_type",
|
||||||
|
"name" : "return_type",
|
||||||
|
"referenced_type" : "type-2",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/known_issues.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "template_arg_in_namespace",
|
||||||
|
"name" : "template_arg_in_namespace",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/known_issues.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"lvalue_reference_types" : [],
|
||||||
|
"pointer_types" : [],
|
||||||
|
"qualified_types" : [],
|
||||||
|
"record_types" : [],
|
||||||
|
"rvalue_reference_types" : []
|
||||||
|
}
|
||||||
@@ -0,0 +1,113 @@
|
|||||||
|
{
|
||||||
|
"array_types" : [],
|
||||||
|
"builtin_types" : [],
|
||||||
|
"elf_functions" : [],
|
||||||
|
"elf_objects" : [],
|
||||||
|
"enum_types" : [],
|
||||||
|
"function_types" : [],
|
||||||
|
"functions" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"function_name" : "inline_function",
|
||||||
|
"linker_set_key" : "_Z15inline_function10template_cIJ10template_dIJA_N11namespace_c1CEEEEE",
|
||||||
|
"parameters" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"referenced_type" : "type-5"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"return_type" : "type-4",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"access" : "private",
|
||||||
|
"function_name" : "InvalidClass::member_function",
|
||||||
|
"linker_set_key" : "_ZN12InvalidClass15member_functionE1E",
|
||||||
|
"parameters" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"is_this_ptr" : true,
|
||||||
|
"referenced_type" : "type-8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"referenced_type" : "type-9"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"return_type" : "type-6",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"global_vars" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"linker_set_key" : "a",
|
||||||
|
"name" : "a",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "b",
|
||||||
|
"name" : "b",
|
||||||
|
"referenced_type" : "type-2",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "c",
|
||||||
|
"name" : "c",
|
||||||
|
"referenced_type" : "type-3",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"linker_set_key" : "template_in_macro",
|
||||||
|
"name" : "template_in_macro",
|
||||||
|
"referenced_type" : "type-11",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"lvalue_reference_types" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"alignment" : 8,
|
||||||
|
"linker_set_key" : "namespace_a::A &",
|
||||||
|
"name" : "namespace_a::A &",
|
||||||
|
"referenced_type" : "type-1",
|
||||||
|
"self_type" : "type-4",
|
||||||
|
"size" : 8,
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pointer_types" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"alignment" : 8,
|
||||||
|
"linker_set_key" : "InvalidClass *",
|
||||||
|
"name" : "InvalidClass *",
|
||||||
|
"referenced_type" : "type-7",
|
||||||
|
"self_type" : "type-8",
|
||||||
|
"size" : 8,
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"alignment" : 8,
|
||||||
|
"linker_set_key" : "TemplateInMacro<F> *",
|
||||||
|
"name" : "TemplateInMacro<F> *",
|
||||||
|
"referenced_type" : "type-10",
|
||||||
|
"self_type" : "type-11",
|
||||||
|
"size" : 8,
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"qualified_types" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"is_const" : true,
|
||||||
|
"linker_set_key" : "const namespace_b::template_b<const B *>",
|
||||||
|
"name" : "const namespace_b::template_b<const B *>",
|
||||||
|
"referenced_type" : "type-2",
|
||||||
|
"self_type" : "type-3",
|
||||||
|
"source_file" : "/development/vndk/tools/header-checker/tests/integration/cpp/header/undeclared_types.h"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"record_types" : [],
|
||||||
|
"rvalue_reference_types" : []
|
||||||
|
}
|
||||||
@@ -27,12 +27,6 @@ class MyTest(unittest.TestCase):
|
|||||||
def setUpClass(cls):
|
def setUpClass(cls):
|
||||||
cls.maxDiff = None
|
cls.maxDiff = None
|
||||||
|
|
||||||
def get_reference_dump_path(self, name, target_arch):
|
|
||||||
ref_dump_dir = os.path.join(REF_DUMP_DIR, target_arch)
|
|
||||||
ref_dump_path = os.path.join(ref_dump_dir,
|
|
||||||
name + SOURCE_ABI_DUMP_EXT)
|
|
||||||
return ref_dump_path
|
|
||||||
|
|
||||||
def run_and_compare(self, input_path, expected_path, cflags=[]):
|
def run_and_compare(self, input_path, expected_path, cflags=[]):
|
||||||
with open(expected_path, 'r') as f:
|
with open(expected_path, 'r') as f:
|
||||||
expected_output = f.read()
|
expected_output = f.read()
|
||||||
@@ -62,15 +56,16 @@ class MyTest(unittest.TestCase):
|
|||||||
'test', target_arch, expected_return_code,
|
'test', target_arch, expected_return_code,
|
||||||
flags)
|
flags)
|
||||||
|
|
||||||
def create_ref_dump(self, name, dir_name, target_arch):
|
def create_ref_dump(self, module_bare, dir_name, target_arch):
|
||||||
module_bare = Module.get_test_module_by_name(name)
|
module = module_bare.mutate_for_arch(target_arch)
|
||||||
module = Module.mutate_module_for_arch(module_bare, target_arch)
|
|
||||||
return make_and_copy_reference_dumps(module, [], dir_name)
|
return make_and_copy_reference_dumps(module, [], dir_name)
|
||||||
|
|
||||||
def get_or_create_ref_dump(self, name, target_arch, dir_name, create):
|
def get_or_create_ref_dump(self, name, target_arch, dir_name, create):
|
||||||
|
module = Module.get_test_module_by_name(name)
|
||||||
if create == True:
|
if create == True:
|
||||||
return self.create_ref_dump(name, dir_name, target_arch)
|
return self.create_ref_dump(module, dir_name, target_arch)
|
||||||
return self.get_reference_dump_path(name, target_arch)
|
return os.path.join(REF_DUMP_DIR, target_arch,
|
||||||
|
module.get_dump_name() if module else name)
|
||||||
|
|
||||||
def prepare_and_run_abi_diff_all_archs(self, old_lib, new_lib,
|
def prepare_and_run_abi_diff_all_archs(self, old_lib, new_lib,
|
||||||
expected_return_code, flags=[],
|
expected_return_code, flags=[],
|
||||||
@@ -109,6 +104,14 @@ class MyTest(unittest.TestCase):
|
|||||||
def test_example3_h(self):
|
def test_example3_h(self):
|
||||||
self.run_and_compare_name_cpp('example3.h')
|
self.run_and_compare_name_cpp('example3.h')
|
||||||
|
|
||||||
|
def test_undeclared_types_h(self):
|
||||||
|
self.prepare_and_absolute_diff_all_archs(
|
||||||
|
'undeclared_types.h', 'undeclared_types.h')
|
||||||
|
|
||||||
|
def test_known_issues_h(self):
|
||||||
|
self.prepare_and_absolute_diff_all_archs(
|
||||||
|
'known_issues.h', 'known_issues.h')
|
||||||
|
|
||||||
def test_libc_and_cpp(self):
|
def test_libc_and_cpp(self):
|
||||||
self.prepare_and_run_abi_diff_all_archs(
|
self.prepare_and_run_abi_diff_all_archs(
|
||||||
"libc_and_cpp", "libc_and_cpp", 0)
|
"libc_and_cpp", "libc_and_cpp", 0)
|
||||||
@@ -211,8 +214,8 @@ class MyTest(unittest.TestCase):
|
|||||||
|
|
||||||
def test_libgolden_cpp_fabricated_function_ast_removed_diff(self):
|
def test_libgolden_cpp_fabricated_function_ast_removed_diff(self):
|
||||||
self.prepare_and_run_abi_diff_all_archs(
|
self.prepare_and_run_abi_diff_all_archs(
|
||||||
"libgolden_cpp_fabricated_function_ast_removed", "libgolden_cpp", 0,
|
"libgolden_cpp_fabricated_function_ast_removed.so.lsdump",
|
||||||
[], False)
|
"libgolden_cpp", 0, [], False)
|
||||||
|
|
||||||
def test_libgolden_cpp_member_fake_diff(self):
|
def test_libgolden_cpp_member_fake_diff(self):
|
||||||
self.prepare_and_run_abi_diff_all_archs(
|
self.prepare_and_run_abi_diff_all_archs(
|
||||||
|
|||||||
@@ -78,14 +78,13 @@ def copy_reference_dump(lib_path, reference_dump_dir, compress):
|
|||||||
return reference_dump_path
|
return reference_dump_path
|
||||||
|
|
||||||
|
|
||||||
def copy_reference_dump_content(lib_name, output_content,
|
def copy_reference_dump_content(file_name, output_content,
|
||||||
reference_dump_dir_stem,
|
reference_dump_dir_stem,
|
||||||
reference_dump_dir_insertion, lib_arch):
|
reference_dump_dir_insertion, lib_arch):
|
||||||
reference_dump_dir = get_reference_dump_dir(reference_dump_dir_stem,
|
reference_dump_dir = get_reference_dump_dir(reference_dump_dir_stem,
|
||||||
reference_dump_dir_insertion,
|
reference_dump_dir_insertion,
|
||||||
lib_arch)
|
lib_arch)
|
||||||
reference_dump_path = os.path.join(reference_dump_dir,
|
reference_dump_path = os.path.join(reference_dump_dir, file_name)
|
||||||
lib_name + SOURCE_ABI_DUMP_EXT)
|
|
||||||
os.makedirs(os.path.dirname(reference_dump_path), exist_ok=True)
|
os.makedirs(os.path.dirname(reference_dump_path), exist_ok=True)
|
||||||
with open(reference_dump_path, 'w') as f:
|
with open(reference_dump_path, 'w') as f:
|
||||||
f.write(output_content)
|
f.write(output_content)
|
||||||
@@ -100,11 +99,12 @@ def read_output_content(output_path, replace_str):
|
|||||||
|
|
||||||
|
|
||||||
def run_header_abi_dumper(input_path, remove_absolute_paths, cflags=tuple(),
|
def run_header_abi_dumper(input_path, remove_absolute_paths, cflags=tuple(),
|
||||||
export_include_dirs=EXPORTED_HEADERS_DIR):
|
export_include_dirs=EXPORTED_HEADERS_DIR,
|
||||||
|
flags=tuple()):
|
||||||
with tempfile.TemporaryDirectory() as tmp:
|
with tempfile.TemporaryDirectory() as tmp:
|
||||||
output_path = os.path.join(tmp, os.path.basename(input_path)) + '.dump'
|
output_path = os.path.join(tmp, os.path.basename(input_path)) + '.dump'
|
||||||
run_header_abi_dumper_on_file(input_path, output_path,
|
run_header_abi_dumper_on_file(input_path, output_path,
|
||||||
export_include_dirs, cflags)
|
export_include_dirs, cflags, flags)
|
||||||
if remove_absolute_paths:
|
if remove_absolute_paths:
|
||||||
return read_output_content(output_path, AOSP_DIR)
|
return read_output_content(output_path, AOSP_DIR)
|
||||||
with open(output_path, 'r') as f:
|
with open(output_path, 'r') as f:
|
||||||
|
|||||||
Reference in New Issue
Block a user