mirror of
git://sourceware.org/git/libabigail.git
synced 2024-12-22 01:40:12 +00:00
97ef8941b3
* src:abg-ir.h: Move template declarations before class class_decl, so that class_decl can have member templates. (class class_decl::member_function_template) (class_decl::add_member_function_template) (class_decl::{base_specs_type, member_types_type, data_members_types, member_functions_type, member_function_templates_type}): New declarations. * src/abg-ir.cc (class_decl::add_member_function_template) (class_decl::member_function_template_hash::operator()): New definitions. (class_decl_hash::operator()): Support hashing for member function templates. * src/abg-reader.cc (build_class_decl): Use the new class_decl::{member_types_type, data_members_type, member_functions_type, base_specs_type} types. Support member function templates. * src/abg-writer.cc (write_cdtor_const_static): New definition. (write_class_decl): Support member function templates. * tests/data/test-read-write/test14.xml: New input data. * tests/Makefile.am: Add it to the distribution. * tests/test-read-write.cc (InOutSpec int_out_specs): De-serialize the new test input file, serialize it back and diff both results.
19 lines
813 B
XML
19 lines
813 B
XML
<abi-instr version='1.0'>
|
|
<type-decl name='int' size-in-bits='32' id='type-id-1'/>
|
|
<class-decl name='S' size-in-bits='8' alignment-in-bits='8' visibility='default' id='type-id-2'>
|
|
<member-template access='public'>
|
|
<function-template-decl id='fn-tmpl-id-3'>
|
|
<template-type-parameter id='type-id-4' name='T'/>
|
|
<template-parameter-type-composition>
|
|
<pointer-type-def type-id='type-id-4' id='type-id-5'/>
|
|
</template-parameter-type-composition>
|
|
<template-non-type-parameter type-id='type-id-5' name='U'/>
|
|
<function-decl name='foo' binding='global'>
|
|
<parameter type-id='type-id-5' name='first'/>
|
|
<return type-id='type-id-1'/>
|
|
</function-decl>
|
|
</function-template-decl>
|
|
</member-template>
|
|
</class-decl>
|
|
</abi-instr>
|