[PATCH] Have HasSideEffects() return false for __attribute__((const)) functions
hfinkel at anl.gov
hfinkel at anl.gov
Mon Mar 23 09:19:46 PDT 2015
================
Comment at: lib/AST/Expr.cpp:2953
@@ +2952,3 @@
+ const Decl *FD = cast<CallExpr>(this)->getCalleeDecl();
+ bool IsConst = FD && FD->hasAttr<ConstAttr>();
+ if (IsConst || !IncludePossibleEffects)
----------------
You're checking for ConstAttr here, which is fine, but I think that we can do more:
This is allowed:
static int i;
void foo() {
__builtin_assume(i > 0);
}
and so we can also check for PureAttr. And what about constexpr functions?
http://reviews.llvm.org/D8548
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the cfe-commits
mailing list