From a0f91ad59c4be3bc6425d74da768e51a603c43a9 Mon Sep 17 00:00:00 2001 From: Fariborz Jahanian Date: Thu, 1 Oct 2009 22:10:15 +0000 Subject: enumerator value of 0 is not a null pointer constant for deciding const of null pointer conversion. Fixes PR5086. llvm-svn: 83217 --- clang/lib/Sema/SemaOverload.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'clang/lib/Sema/SemaOverload.cpp') diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp index 18614f78709..433ca79b48f 100644 --- a/clang/lib/Sema/SemaOverload.cpp +++ b/clang/lib/Sema/SemaOverload.cpp @@ -887,6 +887,9 @@ static bool isNullPointerConstantForConversion(Expr *Expr, Expr->getType()->isIntegralType()) return !InOverloadResolution; + if (Expr->getType()->isEnumeralType()) + return !InOverloadResolution; + return Expr->isNullPointerConstant(Context, InOverloadResolution? Expr::NPC_ValueDependentIsNotNull : Expr::NPC_ValueDependentIsNull); -- cgit v1.2.3