summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
Diffstat (limited to 'clang')
-rw-r--r--clang/include/clang/Parse/AttributeList.h1
-rw-r--r--clang/lib/Parse/AttributeList.cpp2
-rw-r--r--clang/lib/Sema/SemaDeclAttr.cpp1
3 files changed, 4 insertions, 0 deletions
diff --git a/clang/include/clang/Parse/AttributeList.h b/clang/include/clang/Parse/AttributeList.h
index b585838df83..6f4e2f2a08c 100644
--- a/clang/include/clang/Parse/AttributeList.h
+++ b/clang/include/clang/Parse/AttributeList.h
@@ -70,6 +70,7 @@ public:
AT_mode,
AT_nodebug,
AT_noinline,
+ AT_no_instrument_function,
AT_nonnull,
AT_noreturn,
AT_nothrow,
diff --git a/clang/lib/Parse/AttributeList.cpp b/clang/lib/Parse/AttributeList.cpp
index 8048db887de..a9c552ba179 100644
--- a/clang/lib/Parse/AttributeList.cpp
+++ b/clang/lib/Parse/AttributeList.cpp
@@ -139,6 +139,8 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo *Name) {
case 22:
if (!memcmp(Str, "objc_ownership_returns", 22))
return AT_objc_ownership_returns;
+ if (!memcmp(Str, "no_instrument_function", 22))
+ return AT_no_instrument_function;
break;
}
return UnknownAttribute;
diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp
index add12e53c26..8843d92c5ca 100644
--- a/clang/lib/Sema/SemaDeclAttr.cpp
+++ b/clang/lib/Sema/SemaDeclAttr.cpp
@@ -1617,6 +1617,7 @@ static void ProcessDeclAttribute(Decl *D, const AttributeList &Attr, Sema &S) {
case AttributeList::AT_noinline: HandleNoinlineAttr (D, Attr, S); break;
case AttributeList::AT_regparm: HandleRegparmAttr (D, Attr, S); break;
case AttributeList::IgnoredAttribute:
+ case AttributeList::AT_no_instrument_function: // Interacts with -pg.
// Just ignore
break;
default:
OpenPOWER on IntegriCloud