summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2013-05-13 06:57:50 +0000
committerDavid Blaikie <dblaikie@gmail.com>2013-05-13 06:57:50 +0000
commitd900f98bdf497fda3acff461cb9291a596d2787a (patch)
tree02febfed08cc1a52ed4290e0bda383d1b78b7f1b /clang/lib/CodeGen
parent33dcf0a70f9393256b377798ed0835bfaddb4979 (diff)
downloadbcm5719-llvm-d900f98bdf497fda3acff461cb9291a596d2787a.tar.gz
bcm5719-llvm-d900f98bdf497fda3acff461cb9291a596d2787a.zip
Debug Info: PR14992: Support values for non-type template parameters of function type
llvm-svn: 181685
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r--clang/lib/CodeGen/CGDebugInfo.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGDebugInfo.cpp b/clang/lib/CodeGen/CGDebugInfo.cpp
index 13b681edc9e..583b23980e7 100644
--- a/clang/lib/CodeGen/CGDebugInfo.cpp
+++ b/clang/lib/CodeGen/CGDebugInfo.cpp
@@ -1220,9 +1220,11 @@ CollectTemplateParams(const TemplateParameterList *TPList,
V = CGM.GetAddrOfGlobalVar(VD);
// Member function pointers have special support for building them, though
// this is currently unsupported in LLVM CodeGen.
- if (InstanceMember)
+ if (InstanceMember) {
if (const CXXMethodDecl *method = dyn_cast<CXXMethodDecl>(D))
V = CGM.getCXXABI().EmitMemberPointer(method);
+ } else if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
+ V = CGM.GetAddrOfFunction(FD);
// Member data pointers have special handling too to compute the fixed
// offset within the object.
if (isa<FieldDecl>(D)) {
OpenPOWER on IntegriCloud