summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Output.cxx7
-rw-r--r--test/expect/gccxml.any.RValueReferenceType.xml.txt6
-rw-r--r--test/input/RValueReferenceType.cxx4
3 files changed, 12 insertions, 5 deletions
diff --git a/src/Output.cxx b/src/Output.cxx
index 43af2e1..811364e 100644
--- a/src/Output.cxx
+++ b/src/Output.cxx
@@ -567,6 +567,13 @@ ASTVisitor::DumpId ASTVisitor::AddDeclDumpNode(clang::Decl const* d,
}
}
}
+
+ if (clang::TypedefDecl const* td =
+ clang::dyn_cast<clang::TypedefDecl>(d)) {
+ if (td->getUnderlyingType()->isRValueReferenceType()) {
+ return DumpId();
+ }
+ }
}
return this->AddDumpNodeImpl(d, complete);
diff --git a/test/expect/gccxml.any.RValueReferenceType.xml.txt b/test/expect/gccxml.any.RValueReferenceType.xml.txt
index 6899e98..763161e 100644
--- a/test/expect/gccxml.any.RValueReferenceType.xml.txt
+++ b/test/expect/gccxml.any.RValueReferenceType.xml.txt
@@ -1,7 +1,5 @@
^<\?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"/>
+ <Namespace id="_1" name="start" context="_2"/>
+ <Namespace id="_2" name="::"/>
</GCC_XML>$
diff --git a/test/input/RValueReferenceType.cxx b/test/input/RValueReferenceType.cxx
index 44f0232..35f2861 100644
--- a/test/input/RValueReferenceType.cxx
+++ b/test/input/RValueReferenceType.cxx
@@ -1 +1,3 @@
-typedef int&& start;
+namespace start {
+ typedef int&& type;
+}