[libclang] Encode the C++11 method reference qualifier in the USR.
llvm-svn: 223630
This commit is contained in:
parent
ca044547d2
commit
f581909b3b
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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]
|
||||
|
|
Loading…
Reference in New Issue