diff options
author | Brad King <brad.king@kitware.com> | 2014-12-08 14:44:42 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2014-12-08 14:55:31 (GMT) |
commit | 825cca7df68c0282339e3d0ec64e75f40fd57ed9 (patch) | |
tree | 9af41d42c1cc0eba670ae3ec5ca4034ff4572a9c /test | |
parent | d64aaa7e993034b97ad92daa841bed2bbf79bfb1 (diff) | |
download | CastXML-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.txt | 50 |
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"/> |