summaryrefslogtreecommitdiffstats
path: root/test/expect/gccxml.any.RValueReferenceType.xml.txt
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2014-04-10 13:00:38 (GMT)
committerBrad King <brad.king@kitware.com>2014-04-10 13:11:05 (GMT)
commit80d1be2da7aea241318130e4c49aebfe54377e29 (patch)
tree19bf27d537f9b909a824f8717eb013ac95309f31 /test/expect/gccxml.any.RValueReferenceType.xml.txt
parent721e248bcad717e306133990bf9ac1b64861dbe7 (diff)
downloadCastXML-80d1be2da7aea241318130e4c49aebfe54377e29.zip
CastXML-80d1be2da7aea241318130e4c49aebfe54377e29.tar.gz
CastXML-80d1be2da7aea241318130e4c49aebfe54377e29.tar.bz2
castxml: Support -std=c++11 with --castxml-gccxml
Parsing standard library headers in Visual Studio 11 and above requires Clang to use -std=c++11 because the headers use C++11 constructs. While gccxml output format does not support these constructs, it is still useful to be able to output interfaces from C++98 project code while tolerating C++11 constructs in system headers. Drop the rejection of -std=c++11 and --castxml-gccxml together. Teach our ASTVisitor::AddDumpNode method to skip deleted member functions, implicit move constructors, and implicit move assignment operators. This should avoid encountering any C++11 constructs that are not written explicitly in the translation unit. Extend the test suite to run all gccxml output format tests in both -std=c++98 and -std=c++11 mode to verify the behavior of the two modes is as close as possible. Tweak the Class-implicit-members expected output to tolerate the empty throw specification missing in C++11 mode. Add a RValueReferenceType test to verify that the gccxml-format output contains an Unimplemented element for the rvalue-reference type.
Diffstat (limited to 'test/expect/gccxml.any.RValueReferenceType.xml.txt')
-rw-r--r--test/expect/gccxml.any.RValueReferenceType.xml.txt7
1 files changed, 7 insertions, 0 deletions
diff --git a/test/expect/gccxml.any.RValueReferenceType.xml.txt b/test/expect/gccxml.any.RValueReferenceType.xml.txt
new file mode 100644
index 0000000..6899e98
--- /dev/null
+++ b/test/expect/gccxml.any.RValueReferenceType.xml.txt
@@ -0,0 +1,7 @@
+^<\?xml version="1.0"\?>
+<GCC_XML[^>]*>
+ <Typedef id="_1" name="start" type="_2" context="_3" location="f1:1" file="f1" line="1"/>
+ <Unimplemented id="_2" type_class="RValueReference"/>
+ <Namespace id="_3" name="::"/>
+ <File id="f1" name=".*/test/input/RValueReferenceType.cxx"/>
+</GCC_XML>$