From: Chris Lattner Date: Fri, 12 Dec 2008 06:57:03 +0000 (+0000) Subject: add a fixme. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1f64805512decc6106cd7dc28f5af5a4d9c81781;p=clang add a fixme. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60935 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AST/Expr.cpp b/lib/AST/Expr.cpp index 8d11356925..bdc5096584 100644 --- a/lib/AST/Expr.cpp +++ b/lib/AST/Expr.cpp @@ -1029,6 +1029,10 @@ bool Expr::isIntegerConstantExpr(llvm::APSInt &Result, ASTContext &Ctx, // If the condition (ignoring parens) is a __builtin_constant_p call, // then only the true side is actually considered in an integer constant // expression. This is an important GNU extension. + // + // FIXME: ?: with a conditional expr should arguably be an i-c-e if the true + // side can be folded in any way to a constant. See GCC PR38377 for + // discussion. if (const CallExpr *CallCE = dyn_cast(Cond->IgnoreParenCasts())) if (CallCE->isBuiltinCall() == Builtin::BI__builtin_constant_p) FalseExp = 0;