summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2014-12-08 14:44:42 (GMT)
committerBrad King <brad.king@kitware.com>2014-12-08 14:55:31 (GMT)
commit825cca7df68c0282339e3d0ec64e75f40fd57ed9 (patch)
tree9af41d42c1cc0eba670ae3ec5ca4034ff4572a9c /test
parentd64aaa7e993034b97ad92daa841bed2bbf79bfb1 (diff)
downloadCastXML-825cca7df68c0282339e3d0ec64e75f40fd57ed9.zip
CastXML-825cca7df68c0282339e3d0ec64e75f40fd57ed9.tar.gz
CastXML-825cca7df68c0282339e3d0ec64e75f40fd57ed9.tar.bz2
RunClang: Delay class implicit members until end of parsing
Tell Clang to enable incremental processing so that it does not tear down the parser when EOF is reached. In HandleTagDeclDefinition, queue completed classes for later processing instead of adding class implicit members immediately. Then add implicit members at the end and finally call clang::Sema::ActOnEndOfTranslationUnit to tear down the parser when we are done. This approach allows Clang to finish parsing the translation unit without interference from our custom implicit member behavior. Fix the expected output of the Class-bases test in c++11 mode to match the new order of the implicit members.
Diffstat (limited to 'test')
-rw-r--r--test/expect/gccxml.c++11.Class-bases.xml.txt50
1 files changed, 25 insertions, 25 deletions
diff --git a/test/expect/gccxml.c++11.Class-bases.xml.txt b/test/expect/gccxml.c++11.Class-bases.xml.txt
index d87f1fa..31cfea9 100644
--- a/test/expect/gccxml.c++11.Class-bases.xml.txt
+++ b/test/expect/gccxml.c++11.Class-bases.xml.txt
@@ -18,36 +18,36 @@
<Class id="_9" name="base_protected" context="_2" location="f1:3" file="f1" line="3" members="_20 _21 _22 _23"/>
<ReferenceType id="_10" type="_1"/>
<ReferenceType id="_11" type="_1c"/>
- <Constructor id="_12" name="base_public" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"/>
- <Constructor id="_13" 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="_14" name="=" returns="_26" 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"/>
+ <OperatorMethod id="_12" name="=" returns="_25" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1">
+ <Argument type="_26" location="f1:1" file="f1" line="1"/>
</OperatorMethod>
- <Destructor id="_15" name="base_public" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"/>
- <Constructor id="_16" name="base_private" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"/>
- <Constructor id="_17" name="base_private" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1">
- <Argument type="_27" location="f1:2" file="f1" line="2"/>
+ <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="_26" location="f1:1" file="f1" line="1"/>
</Constructor>
- <OperatorMethod id="_18" name="=" returns="_28" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1">
- <Argument type="_27" location="f1:2" file="f1" line="2"/>
+ <OperatorMethod id="_16" name="=" returns="_27" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1">
+ <Argument type="_28" location="f1:2" file="f1" line="2"/>
</OperatorMethod>
- <Destructor id="_19" name="base_private" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"/>
- <Constructor id="_20" name="base_protected" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"/>
- <Constructor id="_21" name="base_protected" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1">
- <Argument type="_29" location="f1:3" file="f1" line="3"/>
+ <Destructor id="_17" name="base_private" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"/>
+ <Constructor id="_18" name="base_private" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"/>
+ <Constructor id="_19" name="base_private" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1">
+ <Argument type="_28" location="f1:2" file="f1" line="2"/>
</Constructor>
- <OperatorMethod id="_22" name="=" returns="_30" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1">
- <Argument type="_29" location="f1:3" file="f1" line="3"/>
+ <OperatorMethod id="_20" name="=" returns="_29" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1">
+ <Argument type="_30" location="f1:3" file="f1" line="3"/>
</OperatorMethod>
- <Destructor id="_23" name="base_protected" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"/>
- <ReferenceType id="_25" type="_7c"/>
- <ReferenceType id="_26" type="_7"/>
- <ReferenceType id="_27" type="_8c"/>
- <ReferenceType id="_28" type="_8"/>
- <ReferenceType id="_29" type="_9c"/>
- <ReferenceType id="_30" type="_9"/>
+ <Destructor id="_21" name="base_protected" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"/>
+ <Constructor id="_22" name="base_protected" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"/>
+ <Constructor id="_23" name="base_protected" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1">
+ <Argument type="_30" location="f1:3" file="f1" line="3"/>
+ </Constructor>
+ <ReferenceType id="_25" type="_7"/>
+ <ReferenceType id="_26" type="_7c"/>
+ <ReferenceType id="_27" type="_8"/>
+ <ReferenceType id="_28" type="_8c"/>
+ <ReferenceType id="_29" type="_9"/>
+ <ReferenceType id="_30" type="_9c"/>
<Namespace id="_2" name="::"/>
<CvQualifiedType id="_1c" type="_1" const="1"/>
<CvQualifiedType id="_7c" type="_7" const="1"/>