summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-12-05 18:02:56 (GMT)
committerBrad King <brad.king@kitware.com>2017-12-05 18:06:56 (GMT)
commit7753273a87f71379ffbf3e709ce0e91998417ccd (patch)
tree1c26cd30ad99bac7fc69a0e6d7885cec75bace4f /test
parent3650f7a0a7d32ca352f41211d7aa032a12a82b2f (diff)
downloadCastXML-7753273a87f71379ffbf3e709ce0e91998417ccd.zip
CastXML-7753273a87f71379ffbf3e709ce0e91998417ccd.tar.gz
CastXML-7753273a87f71379ffbf3e709ce0e91998417ccd.tar.bz2
test: Add tests for C++17 modes
Diffstat (limited to 'test')
-rw-r--r--test/CMakeLists.txt56
-rw-r--r--test/expect/castxml1.c++17.Class-bases.xml.txt57
-rw-r--r--test/expect/castxml1.c++17.Class-template-bases.xml.txt44
-rw-r--r--test/expect/gccxml.c++17.Class-bases.xml.txt57
-rw-r--r--test/expect/gccxml.c++17.Class-template-bases.xml.txt44
5 files changed, 256 insertions, 2 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 2328406..c4e3f37 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -60,10 +60,17 @@ macro(castxml_test_output_common prefix ext std test)
set(flag --castxml-output=1)
endif()
+ set(std_flag -std=${std})
+ if(LLVM_VERSION_MAJOR VERSION_LESS 5)
+ if("${std_flag}" MATCHES "^(.*)17$")
+ set(std_flag "${CMAKE_MATCH_1}1z")
+ endif()
+ endif()
+
set(command $<TARGET_FILE:castxml>
${flag}
${_castxml_start}
- -std=${std}
+ ${std_flag}
${CMAKE_CURRENT_LIST_DIR}/input/${_castxml_input}.${ext}
-o ${prefix}.${std}.${test}.xml
${castxml_test_output_extra_arguments}
@@ -139,6 +146,16 @@ macro(castxml_test_output_gnuxx14 test)
castxml_test_output_common(castxml1 cxx gnu++14 ${test})
endmacro()
+macro(castxml_test_output_cxx17 test)
+ castxml_test_output_common(gccxml cxx c++17 ${test})
+ castxml_test_output_common(castxml1 cxx c++17 ${test})
+endmacro()
+
+macro(castxml_test_output_gnuxx17 test)
+ castxml_test_output_common(gccxml cxx gnu++17 ${test})
+ castxml_test_output_common(castxml1 cxx gnu++17 ${test})
+endmacro()
+
macro(castxml_test_output_broken_cxx98 test)
castxml_test_output_common(gccxml.broken cxx c++98 ${test})
castxml_test_output_common(castxml1.broken cxx c++98 ${test})
@@ -169,6 +186,16 @@ macro(castxml_test_output_broken_gnuxx14 test)
castxml_test_output_common(castxml1.broken cxx gnu++14 ${test})
endmacro()
+macro(castxml_test_output_broken_cxx17 test)
+ castxml_test_output_common(gccxml.broken cxx c++17 ${test})
+ castxml_test_output_common(castxml1.broken cxx c++17 ${test})
+endmacro()
+
+macro(castxml_test_output_broken_gnuxx17 test)
+ castxml_test_output_common(gccxml.broken cxx gnu++17 ${test})
+ castxml_test_output_common(castxml1.broken cxx gnu++17 ${test})
+endmacro()
+
macro(castxml_test_output_c test)
castxml_test_output_c89(${test})
castxml_test_output_gnu89(${test})
@@ -185,6 +212,8 @@ macro(castxml_test_output test)
castxml_test_output_gnuxx11(${test})
castxml_test_output_cxx14(${test})
castxml_test_output_gnuxx14(${test})
+ castxml_test_output_cxx17(${test})
+ castxml_test_output_gnuxx17(${test})
endmacro()
macro(castxml_test_output_11 test)
@@ -192,11 +221,24 @@ macro(castxml_test_output_11 test)
castxml_test_output_gnuxx11(${test})
castxml_test_output_cxx14(${test})
castxml_test_output_gnuxx14(${test})
+ castxml_test_output_cxx17(${test})
+ castxml_test_output_gnuxx17(${test})
endmacro()
macro(castxml_test_output_14 test)
castxml_test_output_cxx14(${test})
castxml_test_output_gnuxx14(${test})
+ castxml_test_output_cxx17(${test})
+ castxml_test_output_gnuxx17(${test})
+endmacro()
+
+macro(castxml_test_output_14below test)
+ castxml_test_output_cxx98(${test})
+ castxml_test_output_gnuxx98(${test})
+ castxml_test_output_cxx11(${test})
+ castxml_test_output_gnuxx11(${test})
+ castxml_test_output_cxx14(${test})
+ castxml_test_output_gnuxx14(${test})
endmacro()
macro(castxml_test_output_broken test)
@@ -206,6 +248,8 @@ macro(castxml_test_output_broken test)
castxml_test_output_broken_gnuxx11(${test})
castxml_test_output_broken_cxx14(${test})
castxml_test_output_broken_gnuxx14(${test})
+ castxml_test_output_broken_cxx17(${test})
+ castxml_test_output_broken_gnuxx17(${test})
endmacro()
set(input ${CMAKE_CURRENT_LIST_DIR}/input)
@@ -250,6 +294,14 @@ castxml_test_cmd(castxml-and-c++11 --castxml-output=1 -std=c++11 ${empty_cxx})
castxml_test_cmd(gccxml-and-c++14 --castxml-gccxml -std=c++14 ${empty_cxx})
castxml_test_cmd(castxml-and-c++14 --castxml-output=1 -std=c++14 ${empty_cxx})
+if(LLVM_VERSION_MAJOR VERSION_LESS 5)
+ castxml_test_cmd(gccxml-and-c++17 --castxml-gccxml -std=c++1z ${empty_cxx})
+ castxml_test_cmd(castxml-and-c++17 --castxml-output=1 -std=c++1z ${empty_cxx})
+else()
+ castxml_test_cmd(gccxml-and-c++17 --castxml-gccxml -std=c++17 ${empty_cxx})
+ castxml_test_cmd(castxml-and-c++17 --castxml-output=1 -std=c++17 ${empty_cxx})
+endif()
+
castxml_test_cmd(gccxml-and-objc1 --castxml-gccxml ${empty_m})
castxml_test_cmd(castxml-and-objc1 --castxml-output=1 ${empty_m})
@@ -421,7 +473,7 @@ castxml_test_output(Function-Argument-default-ns)
castxml_test_output_11(Function-lambda)
castxml_test_output(Function-rvalue-reference)
castxml_test_output(Function-template)
-castxml_test_output(Function-throw)
+castxml_test_output_14below(Function-throw)
castxml_test_output(Function-variadic)
castxml_test_output(FunctionType)
castxml_test_output(FunctionType-variadic)
diff --git a/test/expect/castxml1.c++17.Class-bases.xml.txt b/test/expect/castxml1.c++17.Class-bases.xml.txt
new file mode 100644
index 0000000..0a2b97a
--- /dev/null
+++ b/test/expect/castxml1.c++17.Class-bases.xml.txt
@@ -0,0 +1,57 @@
+^<\?xml version="1.0"\?>
+<CastXML[^>]*>
+ <Class id="_1" name="start" context="_2" location="f1:10" file="f1" line="10" members="_3 _4 _5 _6" bases="_7 private:_8 protected:_9" size="[0-9]+" align="[0-9]+">
+ <Base type="_7" access="public" virtual="0" offset="[0-9]+"/>
+ <Base type="_8" access="private" virtual="0" offset="[0-9]+"/>
+ <Base type="_9" access="protected" virtual="1"/>
+ </Class>
+ <OperatorMethod id="_3" name="=" returns="_10" context="_1" access="public" location="f1:10" file="f1" line="10" inline="1" artificial="1" mangled="[^"]+">
+ <Argument type="_11" location="f1:10" file="f1" line="10"/>
+ </OperatorMethod>
+ <Destructor id="_4" name="start" context="_1" access="public" location="f1:10" file="f1" line="10" inline="1" artificial="1"/>
+ <Constructor id="_5" name="start" context="_1" access="public" location="f1:10" file="f1" line="10" inline="1" artificial="1"/>
+ <Constructor id="_6" name="start" context="_1" access="public" location="f1:10" file="f1" line="10" inline="1" artificial="1">
+ <Argument type="_11" location="f1:10" file="f1" line="10"/>
+ </Constructor>
+ <Class id="_7" name="base_public" context="_2" location="f1:1" file="f1" line="1" members="_12 _13 _14 _15" size="[0-9]+" align="[0-9]+"/>
+ <Class id="_8" name="base_private" context="_2" location="f1:4" file="f1" line="4" members="_16 _17 _18 _19" size="[0-9]+" align="[0-9]+"/>
+ <Class id="_9" name="base_protected" context="_2" location="f1:7" file="f1" line="7" members="_20 _21 _22 _23" size="[0-9]+" align="[0-9]+"/>
+ <ReferenceType id="_10" type="_1" size="[0-9]+" align="[0-9]+"/>
+ <ReferenceType id="_11" type="_1c" size="[0-9]+" align="[0-9]+"/>
+ <CvQualifiedType id="_1c" type="_1" const="1"/>
+ <OperatorMethod id="_12" name="=" returns="_24" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1" mangled="[^"]+">
+ <Argument type="_25" location="f1:1" file="f1" line="1"/>
+ </OperatorMethod>
+ <Destructor id="_13" name="base_public" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"/>
+ <Constructor id="_14" name="base_public" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"/>
+ <Constructor id="_15" name="base_public" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1">
+ <Argument type="_25" location="f1:1" file="f1" line="1"/>
+ </Constructor>
+ <OperatorMethod id="_16" name="=" returns="_26" context="_8" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1" mangled="[^"]+">
+ <Argument type="_27" location="f1:4" file="f1" line="4"/>
+ </OperatorMethod>
+ <Destructor id="_17" name="base_private" context="_8" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"/>
+ <Constructor id="_18" name="base_private" context="_8" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"/>
+ <Constructor id="_19" name="base_private" context="_8" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1">
+ <Argument type="_27" location="f1:4" file="f1" line="4"/>
+ </Constructor>
+ <OperatorMethod id="_20" name="=" returns="_28" context="_9" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1" mangled="[^"]+">
+ <Argument type="_29" location="f1:7" file="f1" line="7"/>
+ </OperatorMethod>
+ <Destructor id="_21" name="base_protected" context="_9" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1"/>
+ <Constructor id="_22" name="base_protected" context="_9" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1"/>
+ <Constructor id="_23" name="base_protected" context="_9" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1">
+ <Argument type="_29" location="f1:7" file="f1" line="7"/>
+ </Constructor>
+ <ReferenceType id="_24" type="_7" size="[0-9]+" align="[0-9]+"/>
+ <ReferenceType id="_25" type="_7c" size="[0-9]+" align="[0-9]+"/>
+ <CvQualifiedType id="_7c" type="_7" const="1"/>
+ <ReferenceType id="_26" type="_8" size="[0-9]+" align="[0-9]+"/>
+ <ReferenceType id="_27" type="_8c" size="[0-9]+" align="[0-9]+"/>
+ <CvQualifiedType id="_8c" type="_8" const="1"/>
+ <ReferenceType id="_28" type="_9" size="[0-9]+" align="[0-9]+"/>
+ <ReferenceType id="_29" type="_9c" size="[0-9]+" align="[0-9]+"/>
+ <CvQualifiedType id="_9c" type="_9" const="1"/>
+ <Namespace id="_2" name="::"/>
+ <File id="f1" name=".*/test/input/Class-bases.cxx"/>
+</CastXML>$
diff --git a/test/expect/castxml1.c++17.Class-template-bases.xml.txt b/test/expect/castxml1.c++17.Class-template-bases.xml.txt
new file mode 100644
index 0000000..72b4cac
--- /dev/null
+++ b/test/expect/castxml1.c++17.Class-template-bases.xml.txt
@@ -0,0 +1,44 @@
+^<\?xml version="1.0"\?>
+<CastXML[^>]*>
+ <Class id="_1" name="start&lt;int&gt;" context="_2" location="f1:12" file="f1" line="12" members="_3 _4 _5 _6" bases="_7 _8" size="[0-9]+" align="[0-9]+">
+ <Base type="_7" access="public" virtual="0" offset="[0-9]+"/>
+ <Base type="_8" access="public" virtual="0" offset="[0-9]+"/>
+ </Class>
+ <Constructor id="_3" name="start" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1"/>
+ <Constructor id="_4" name="start" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1">
+ <Argument type="_9" location="f1:12" file="f1" line="12"/>
+ </Constructor>
+ <OperatorMethod id="_5" name="=" returns="_10" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1" mangled="[^"]+">
+ <Argument type="_9" location="f1:12" file="f1" line="12"/>
+ </OperatorMethod>
+ <Destructor id="_6" name="start" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1"/>
+ <Class id="_7" name="non_dependent_base" context="_2" location="f1:1" file="f1" line="1" members="_11 _12 _13 _14" size="[0-9]+" align="[0-9]+"/>
+ <Class id="_8" name="dependent_base&lt;int&gt;" context="_2" location="f1:5" file="f1" line="5" members="_15 _16 _17 _18" size="[0-9]+" align="[0-9]+"/>
+ <ReferenceType id="_9" type="_1c" size="[0-9]+" align="[0-9]+"/>
+ <CvQualifiedType id="_1c" type="_1" const="1"/>
+ <ReferenceType id="_10" type="_1" size="[0-9]+" align="[0-9]+"/>
+ <Constructor id="_11" name="non_dependent_base" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"/>
+ <Constructor id="_12" name="non_dependent_base" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1">
+ <Argument type="_19" location="f1:1" file="f1" line="1"/>
+ </Constructor>
+ <OperatorMethod id="_13" name="=" returns="_20" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1" mangled="[^"]+">
+ <Argument type="_19" location="f1:1" file="f1" line="1"/>
+ </OperatorMethod>
+ <Destructor id="_14" name="non_dependent_base" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"/>
+ <Constructor id="_15" name="dependent_base" context="_8" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"/>
+ <Constructor id="_16" name="dependent_base" context="_8" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1">
+ <Argument type="_21" location="f1:5" file="f1" line="5"/>
+ </Constructor>
+ <OperatorMethod id="_17" name="=" returns="_22" context="_8" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1" mangled="[^"]+">
+ <Argument type="_21" location="f1:5" file="f1" line="5"/>
+ </OperatorMethod>
+ <Destructor id="_18" name="dependent_base" context="_8" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"/>
+ <ReferenceType id="_19" type="_7c" size="[0-9]+" align="[0-9]+"/>
+ <CvQualifiedType id="_7c" type="_7" const="1"/>
+ <ReferenceType id="_20" type="_7" size="[0-9]+" align="[0-9]+"/>
+ <ReferenceType id="_21" type="_8c" size="[0-9]+" align="[0-9]+"/>
+ <CvQualifiedType id="_8c" type="_8" const="1"/>
+ <ReferenceType id="_22" type="_8" size="[0-9]+" align="[0-9]+"/>
+ <Namespace id="_2" name="::"/>
+ <File id="f1" name=".*/test/input/Class-template-bases.cxx"/>
+</CastXML>$
diff --git a/test/expect/gccxml.c++17.Class-bases.xml.txt b/test/expect/gccxml.c++17.Class-bases.xml.txt
new file mode 100644
index 0000000..d446622
--- /dev/null
+++ b/test/expect/gccxml.c++17.Class-bases.xml.txt
@@ -0,0 +1,57 @@
+^<\?xml version="1.0"\?>
+<GCC_XML[^>]*>
+ <Class id="_1" name="start" context="_2" location="f1:10" file="f1" line="10" members="_3 _4 _5 _6" bases="_7 private:_8 protected:_9" size="[0-9]+" align="[0-9]+">
+ <Base type="_7" access="public" virtual="0" offset="[0-9]+"/>
+ <Base type="_8" access="private" virtual="0" offset="[0-9]+"/>
+ <Base type="_9" access="protected" virtual="1"/>
+ </Class>
+ <OperatorMethod id="_3" name="=" returns="_10" context="_1" access="public" location="f1:10" file="f1" line="10" inline="1" artificial="1" mangled="[^"]+">
+ <Argument type="_11" location="f1:10" file="f1" line="10"/>
+ </OperatorMethod>
+ <Destructor id="_4" name="start" context="_1" access="public" location="f1:10" file="f1" line="10" inline="1" artificial="1"/>
+ <Constructor id="_5" name="start" context="_1" access="public" location="f1:10" file="f1" line="10" inline="1" artificial="1"/>
+ <Constructor id="_6" name="start" context="_1" access="public" location="f1:10" file="f1" line="10" inline="1" artificial="1">
+ <Argument type="_11" location="f1:10" file="f1" line="10"/>
+ </Constructor>
+ <Class id="_7" name="base_public" context="_2" location="f1:1" file="f1" line="1" members="_12 _13 _14 _15" size="[0-9]+" align="[0-9]+"/>
+ <Class id="_8" name="base_private" context="_2" location="f1:4" file="f1" line="4" members="_16 _17 _18 _19" size="[0-9]+" align="[0-9]+"/>
+ <Class id="_9" name="base_protected" context="_2" location="f1:7" file="f1" line="7" members="_20 _21 _22 _23" size="[0-9]+" align="[0-9]+"/>
+ <ReferenceType id="_10" type="_1" size="[0-9]+" align="[0-9]+"/>
+ <ReferenceType id="_11" type="_1c" size="[0-9]+" align="[0-9]+"/>
+ <CvQualifiedType id="_1c" type="_1" const="1"/>
+ <OperatorMethod id="_12" name="=" returns="_24" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1" mangled="[^"]+">
+ <Argument type="_25" location="f1:1" file="f1" line="1"/>
+ </OperatorMethod>
+ <Destructor id="_13" name="base_public" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"/>
+ <Constructor id="_14" name="base_public" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"/>
+ <Constructor id="_15" name="base_public" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1">
+ <Argument type="_25" location="f1:1" file="f1" line="1"/>
+ </Constructor>
+ <OperatorMethod id="_16" name="=" returns="_26" context="_8" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1" mangled="[^"]+">
+ <Argument type="_27" location="f1:4" file="f1" line="4"/>
+ </OperatorMethod>
+ <Destructor id="_17" name="base_private" context="_8" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"/>
+ <Constructor id="_18" name="base_private" context="_8" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"/>
+ <Constructor id="_19" name="base_private" context="_8" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1">
+ <Argument type="_27" location="f1:4" file="f1" line="4"/>
+ </Constructor>
+ <OperatorMethod id="_20" name="=" returns="_28" context="_9" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1" mangled="[^"]+">
+ <Argument type="_29" location="f1:7" file="f1" line="7"/>
+ </OperatorMethod>
+ <Destructor id="_21" name="base_protected" context="_9" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1"/>
+ <Constructor id="_22" name="base_protected" context="_9" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1"/>
+ <Constructor id="_23" name="base_protected" context="_9" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1">
+ <Argument type="_29" location="f1:7" file="f1" line="7"/>
+ </Constructor>
+ <ReferenceType id="_24" type="_7" size="[0-9]+" align="[0-9]+"/>
+ <ReferenceType id="_25" type="_7c" size="[0-9]+" align="[0-9]+"/>
+ <CvQualifiedType id="_7c" type="_7" const="1"/>
+ <ReferenceType id="_26" type="_8" size="[0-9]+" align="[0-9]+"/>
+ <ReferenceType id="_27" type="_8c" size="[0-9]+" align="[0-9]+"/>
+ <CvQualifiedType id="_8c" type="_8" const="1"/>
+ <ReferenceType id="_28" type="_9" size="[0-9]+" align="[0-9]+"/>
+ <ReferenceType id="_29" type="_9c" size="[0-9]+" align="[0-9]+"/>
+ <CvQualifiedType id="_9c" type="_9" const="1"/>
+ <Namespace id="_2" name="::"/>
+ <File id="f1" name=".*/test/input/Class-bases.cxx"/>
+</GCC_XML>$
diff --git a/test/expect/gccxml.c++17.Class-template-bases.xml.txt b/test/expect/gccxml.c++17.Class-template-bases.xml.txt
new file mode 100644
index 0000000..e09f577
--- /dev/null
+++ b/test/expect/gccxml.c++17.Class-template-bases.xml.txt
@@ -0,0 +1,44 @@
+^<\?xml version="1.0"\?>
+<GCC_XML[^>]*>
+ <Class id="_1" name="start&lt;int&gt;" context="_2" location="f1:12" file="f1" line="12" members="_3 _4 _5 _6" bases="_7 _8" size="[0-9]+" align="[0-9]+">
+ <Base type="_7" access="public" virtual="0" offset="[0-9]+"/>
+ <Base type="_8" access="public" virtual="0" offset="[0-9]+"/>
+ </Class>
+ <Constructor id="_3" name="start" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1"/>
+ <Constructor id="_4" name="start" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1">
+ <Argument type="_9" location="f1:12" file="f1" line="12"/>
+ </Constructor>
+ <OperatorMethod id="_5" name="=" returns="_10" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1" mangled="[^"]+">
+ <Argument type="_9" location="f1:12" file="f1" line="12"/>
+ </OperatorMethod>
+ <Destructor id="_6" name="start" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1"/>
+ <Class id="_7" name="non_dependent_base" context="_2" location="f1:1" file="f1" line="1" members="_11 _12 _13 _14" size="[0-9]+" align="[0-9]+"/>
+ <Class id="_8" name="dependent_base&lt;int&gt;" context="_2" location="f1:5" file="f1" line="5" members="_15 _16 _17 _18" size="[0-9]+" align="[0-9]+"/>
+ <ReferenceType id="_9" type="_1c" size="[0-9]+" align="[0-9]+"/>
+ <CvQualifiedType id="_1c" type="_1" const="1"/>
+ <ReferenceType id="_10" type="_1" size="[0-9]+" align="[0-9]+"/>
+ <Constructor id="_11" name="non_dependent_base" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"/>
+ <Constructor id="_12" name="non_dependent_base" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1">
+ <Argument type="_19" location="f1:1" file="f1" line="1"/>
+ </Constructor>
+ <OperatorMethod id="_13" name="=" returns="_20" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1" mangled="[^"]+">
+ <Argument type="_19" location="f1:1" file="f1" line="1"/>
+ </OperatorMethod>
+ <Destructor id="_14" name="non_dependent_base" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"/>
+ <Constructor id="_15" name="dependent_base" context="_8" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"/>
+ <Constructor id="_16" name="dependent_base" context="_8" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1">
+ <Argument type="_21" location="f1:5" file="f1" line="5"/>
+ </Constructor>
+ <OperatorMethod id="_17" name="=" returns="_22" context="_8" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1" mangled="[^"]+">
+ <Argument type="_21" location="f1:5" file="f1" line="5"/>
+ </OperatorMethod>
+ <Destructor id="_18" name="dependent_base" context="_8" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"/>
+ <ReferenceType id="_19" type="_7c" size="[0-9]+" align="[0-9]+"/>
+ <CvQualifiedType id="_7c" type="_7" const="1"/>
+ <ReferenceType id="_20" type="_7" size="[0-9]+" align="[0-9]+"/>
+ <ReferenceType id="_21" type="_8c" size="[0-9]+" align="[0-9]+"/>
+ <CvQualifiedType id="_8c" type="_8" const="1"/>
+ <ReferenceType id="_22" type="_8" size="[0-9]+" align="[0-9]+"/>
+ <Namespace id="_2" name="::"/>
+ <File id="f1" name=".*/test/input/Class-template-bases.cxx"/>
+</GCC_XML>$