diff options
author | Brad King <brad.king@kitware.com> | 2015-04-28 13:45:35 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2015-04-28 17:15:00 (GMT) |
commit | f0c00cb8bd3c5e6c38c6ee47370c15630e7446eb (patch) | |
tree | 2889095a7ca034ba79e9485052836c96d56bf3c0 /test/expect/gccxml.any.Class-implicit-member-bad-base.xml.txt | |
parent | bafe43d6438fa5ce0ef778d5d713cd7f594370b9 (diff) | |
download | CastXML-f0c00cb8bd3c5e6c38c6ee47370c15630e7446eb.zip CastXML-f0c00cb8bd3c5e6c38c6ee47370c15630e7446eb.tar.gz CastXML-f0c00cb8bd3c5e6c38c6ee47370c15630e7446eb.tar.bz2 |
Output: Refactor generation of CvQualifiedType elements
Previously our handling of cv-qualified types did not account for
multiple locally cv-qualified types encountered through multiple levels
of desugaring. This could lead to CvQualifiedType elements that
reference elements that are generated with a different id.
Refactor our internal representation of dump nodes to keep cv-qualifiers
in the node ids. Teach AddTypeDumpNode to collect cv-qualifiers from
each level of desugaring and compute their union. Once the desugared
unqualified type is found, generate one CvQualifiedType element for the
qualified type, if any.
Update the expected test output to account for the new ordering of
nodes. Mark the Class-template-constructor-template test case as no
longer broken because this approach fixes it. Add test cases covering
cv-qualifiers added at different layers of desugaring (via "T const"
where T is already a "const" type in a template instantiation).
GitHub-Issue: 10
Diffstat (limited to 'test/expect/gccxml.any.Class-implicit-member-bad-base.xml.txt')
-rw-r--r-- | test/expect/gccxml.any.Class-implicit-member-bad-base.xml.txt | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/test/expect/gccxml.any.Class-implicit-member-bad-base.xml.txt b/test/expect/gccxml.any.Class-implicit-member-bad-base.xml.txt index 14a5495..2bf091b 100644 --- a/test/expect/gccxml.any.Class-implicit-member-bad-base.xml.txt +++ b/test/expect/gccxml.any.Class-implicit-member-bad-base.xml.txt @@ -10,17 +10,17 @@ <Destructor id="_5" name="start" context="_1" access="public" location="f1:9" file="f1" line="9" inline="1" artificial="1"( throws="")?/> <Class id="_6" name="base<const int>" context="_2" location="f1:1" file="f1" line="1" members="_8 _9 _10 _11" size="[0-9]+" align="[0-9]+"/> <ReferenceType id="_7" type="_1c"/> - <Field id="_8" name="data" type="_14c" context="_6" access="protected" location="f1:3" file="f1" line="3" offset="0"/> + <CvQualifiedType id="_1c" type="_1" const="1"/> + <Field id="_8" name="data" type="_13c" context="_6" access="protected" location="f1:3" file="f1" line="3" offset="0"/> <Constructor id="_9" name="base" context="_6" access="protected" location="f1:4" file="f1" line="4"/> <Constructor id="_10" name="base" context="_6" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?> <Argument type="_15" location="f1:1" file="f1" line="1"/> </Constructor> <Destructor id="_11" name="base" context="_6" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?/> - <CvQualifiedType id="_14c" type="_14" const="1"/> - <FundamentalType id="_14" name="int" size="[0-9]+" align="[0-9]+"/> + <FundamentalType id="_13" name="int" size="[0-9]+" align="[0-9]+"/> + <CvQualifiedType id="_13c" type="_13" const="1"/> <ReferenceType id="_15" type="_6c"/> - <Namespace id="_2" name="::"/> - <CvQualifiedType id="_1c" type="_1" const="1"/> <CvQualifiedType id="_6c" type="_6" const="1"/> + <Namespace id="_2" name="::"/> <File id="f1" name=".*/test/input/Class-implicit-member-bad-base.cxx"/> </GCC_XML>$ |