aboutsummaryrefslogtreecommitdiff
path: root/lib/Checker/CheckerHelpers.cpp
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2010-08-05 09:43:11 +0000
committerEli Friedman <eli.friedman@gmail.com>2010-08-05 09:43:11 +0000
commit156361d434cdcb4cc88169dee5b3d5ca25c7f012 (patch)
treeb1ae79602f6d9f4786aa56c3c1e69c850da6d5c9 /lib/Checker/CheckerHelpers.cpp
parentcee235cdf0b8047761ffac598c4c3a32ab7411a2 (diff)
Make checker recognize OffsetOfExpr as a form of __builtin_offsetof.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110320 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Checker/CheckerHelpers.cpp')
-rw-r--r--lib/Checker/CheckerHelpers.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Checker/CheckerHelpers.cpp b/lib/Checker/CheckerHelpers.cpp
index 8a295fbf4c..e3cb36b00c 100644
--- a/lib/Checker/CheckerHelpers.cpp
+++ b/lib/Checker/CheckerHelpers.cpp
@@ -65,13 +65,16 @@ bool clang::containsStaticLocal(const Stmt *S) {
return false;
}
-// Recursively find any substatements containing __builtin_offset_of
+// Recursively find any substatements containing __builtin_offsetof
bool clang::containsBuiltinOffsetOf(const Stmt *S) {
const UnaryOperator *UO = dyn_cast<UnaryOperator>(S);
if (UO && UO->getOpcode() == UnaryOperator::OffsetOf)
return true;
+ if (isa<OffsetOfExpr>(S))
+ return true;
+
for (Stmt::const_child_iterator I = S->child_begin(); I != S->child_end();
++I)
if (const Stmt *child = *I)