From: Argyrios Kyrtzidis Date: Fri, 4 Mar 2016 07:17:48 +0000 (+0000) Subject: [index] Include parameter types in the USRs for C functions marked with 'overloadable... X-Git-Tag: llvmorg-3.9.0-rc1~12493 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2682f9e5de2d14d64972ba25c9fc769c93b53c1d;p=platform%2Fupstream%2Fllvm.git [index] Include parameter types in the USRs for C functions marked with 'overloadable' attribute. llvm-svn: 262694 --- diff --git a/clang/lib/Index/USRGeneration.cpp b/clang/lib/Index/USRGeneration.cpp index 85478265c061..cb30090adc03 100644 --- a/clang/lib/Index/USRGeneration.cpp +++ b/clang/lib/Index/USRGeneration.cpp @@ -218,7 +218,8 @@ void USRGenerator::VisitFunctionDecl(const FunctionDecl *D) { D->getDeclName().print(Out, Policy); ASTContext &Ctx = *Context; - if (!Ctx.getLangOpts().CPlusPlus || D->isExternC()) + if ((!Ctx.getLangOpts().CPlusPlus || D->isExternC()) && + !D->hasAttr()) return; if (const TemplateArgumentList * diff --git a/clang/test/Index/Core/index-source.m b/clang/test/Index/Core/index-source.m index d57879c89884..d1326624630b 100644 --- a/clang/test/Index/Core/index-source.m +++ b/clang/test/Index/Core/index-source.m @@ -43,3 +43,8 @@ void goo(Base *b) { // CHECK-NOT: ObjectType -(ObjectType)getit; @end + +// CHECK: [[@LINE+1]]:6 | function/C | over_func | c:@F@over_func#I# | __Z9over_funci | Decl | rel: 0 +void over_func(int x) __attribute__((overloadable)); +// CHECK: [[@LINE+1]]:6 | function/C | over_func | c:@F@over_func#f# | __Z9over_funcf | Decl | rel: 0 +void over_func(float x) __attribute__((overloadable));