summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/Index/USRGeneration.cpp5
-rw-r--r--clang/test/Index/usrs-cxx0x.cpp8
2 files changed, 13 insertions, 0 deletions
diff --git a/clang/lib/Index/USRGeneration.cpp b/clang/lib/Index/USRGeneration.cpp
index 5b917c99de0..88e6d3bf8ac 100644
--- a/clang/lib/Index/USRGeneration.cpp
+++ b/clang/lib/Index/USRGeneration.cpp
@@ -243,6 +243,11 @@ void USRGenerator::VisitFunctionDecl(const FunctionDecl *D) {
Out << 'S';
if (unsigned quals = MD->getTypeQualifiers())
Out << (char)('0' + quals);
+ switch (MD->getRefQualifier()) {
+ case RQ_None: break;
+ case RQ_LValue: Out << '&'; break;
+ case RQ_RValue: Out << "&&"; break;
+ }
}
}
diff --git a/clang/test/Index/usrs-cxx0x.cpp b/clang/test/Index/usrs-cxx0x.cpp
index a48b4467b73..822fed0cd28 100644
--- a/clang/test/Index/usrs-cxx0x.cpp
+++ b/clang/test/Index/usrs-cxx0x.cpp
@@ -3,6 +3,14 @@ struct tuple { };
void f(tuple<int, float, double>);
+class TestCls {
+ void meth() &;
+ void meth() &&;
+};
+
// RUN: c-index-test -test-load-source-usrs all -std=c++11 %s | FileCheck %s
// CHECK: usrs-cxx0x.cpp c:@ST>1#pT@tuple Extent=[1:1 - 2:17]
// CHECK: usrs-cxx0x.cpp c:@F@f#$@S@tuple>#p3Ifd# Extent=[4:1 - 4:34]
+
+// CHECK: usrs-cxx0x.cpp c:@C@TestCls@F@meth#& Extent=[7:3 - 7:16]
+// CHECK: usrs-cxx0x.cpp c:@C@TestCls@F@meth#&& Extent=[8:3 - 8:17]
OpenPOWER on IntegriCloud