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.Variable-init.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.Variable-init.xml.txt')
-rw-r--r-- | test/expect/gccxml.any.Variable-init.xml.txt | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/test/expect/gccxml.any.Variable-init.xml.txt b/test/expect/gccxml.any.Variable-init.xml.txt index 6659b64..6061dc1 100644 --- a/test/expect/gccxml.any.Variable-init.xml.txt +++ b/test/expect/gccxml.any.Variable-init.xml.txt @@ -4,9 +4,9 @@ <Variable id="_3" name="var_int" type="_5" init="123" context="_1" location="f1:2" file="f1" line="2"/> <Variable id="_4" name="var_str" type="_6" init=""abc"" context="_1" location="f1:3" file="f1" line="3"/> <FundamentalType id="_5" name="int" size="[0-9]+" align="[0-9]+"/> - <PointerType id="_6" type="_8c"/> + <PointerType id="_6" type="_7c"/> + <CvQualifiedType id="_7c" type="_7" const="1"/> <Namespace id="_2" name="::"/> - <CvQualifiedType id="_8c" type="_8" const="1"/> - <FundamentalType id="_8" name="char" size="[0-9]+" align="[0-9]+"/> + <FundamentalType id="_7" name="char" size="[0-9]+" align="[0-9]+"/> <File id="f1" name=".*/test/input/Variable-init.cxx"/> </GCC_XML>$ |