summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
diff options
context:
space:
mode:
authorErich Keane <erich.keane@intel.com>2018-02-14 00:14:07 +0000
committerErich Keane <erich.keane@intel.com>2018-02-14 00:14:07 +0000
commit293a0556f3ca21bbf0a04ffb8db1534bc9d29dcc (patch)
treec0eedaedbc9fd735fb34e892c2d0245e2f7f1978 /clang/lib/CodeGen
parent35fa7cdf5010f2fa0bd2766fe7248bebb04ed5f7 (diff)
downloadbcm5719-llvm-293a0556f3ca21bbf0a04ffb8db1534bc9d29dcc.tar.gz
bcm5719-llvm-293a0556f3ca21bbf0a04ffb8db1534bc9d29dcc.zip
Implement function attribute artificial
Added support in clang for GCC function attribute 'artificial'. This attribute is used to control stepping behavior of debugger with respect to inline functions. Patch By: Elizabeth Andrews (eandrews) Differential Revision: https://reviews.llvm.org/D43259 llvm-svn: 325081
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r--clang/lib/CodeGen/CGDebugInfo.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGDebugInfo.cpp b/clang/lib/CodeGen/CGDebugInfo.cpp
index 412570b0d84..bed531eac33 100644
--- a/clang/lib/CodeGen/CGDebugInfo.cpp
+++ b/clang/lib/CodeGen/CGDebugInfo.cpp
@@ -3235,7 +3235,7 @@ void CGDebugInfo::EmitFunctionStart(GlobalDecl GD, SourceLocation Loc,
if (Name.startswith("\01"))
Name = Name.substr(1);
- if (!HasDecl || D->isImplicit()) {
+ if (!HasDecl || D->isImplicit() || D->hasAttr<ArtificialAttr>()) {
Flags |= llvm::DINode::FlagArtificial;
// Artificial functions should not silently reuse CurLoc.
CurLoc = SourceLocation();
OpenPOWER on IntegriCloud