aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-07-18 05:21:20 +0000
committerChris Lattner <sabre@nondot.org>2007-07-18 05:21:20 +0000
commitce0afc0b09accbf7370b2ba87574b2c4be7fb032 (patch)
tree181679414d37bf1d67564dc433aa319c8e214208
parent6c36be5b383875b490684bcf439d6d427298c1af (diff)
add a note Neil pointed out
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39994 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--AST/Expr.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/AST/Expr.cpp b/AST/Expr.cpp
index 7b8e1fdf5e..17f474c194 100644
--- a/AST/Expr.cpp
+++ b/AST/Expr.cpp
@@ -277,6 +277,10 @@ Expr::isModifiableLvalueResult Expr::isModifiableLvalue() const {
///
/// FIXME: This should ext-warn on overflow during evaluation! ISO C does not
/// permit this.
+///
+/// FIXME: Handle offsetof. Two things to do: Handle GCC's __builtin_offsetof
+/// to support gcc 4.0+ and handle the idiom GCC recognizes with a null pointer
+/// cast+dereference.
bool Expr::isIntegerConstantExpr(llvm::APSInt &Result, ASTContext &Ctx,
SourceLocation *Loc, bool isEvaluated) const {
switch (getStmtClass()) {