[Sema] Fix a crash on variadic enable_if functions.
authorGeorge Burgess IV <george.burgess.iv@gmail.com>
Fri, 12 Aug 2016 04:12:31 +0000 (04:12 +0000)
committerGeorge Burgess IV <george.burgess.iv@gmail.com>
Fri, 12 Aug 2016 04:12:31 +0000 (04:12 +0000)
commit53b938da5a39c1d331ed23e00a1d16bf5d1f5aff
tree3bab88a0e5b30a0171f88d6dfaf61f15fead7cea
parent4f7500bfc223484e376c93292cc80f5be987d1c6
[Sema] Fix a crash on variadic enable_if functions.

Currently, when trying to evaluate an enable_if condition, we try to
evaluate all arguments a user passes to a function. Given that we can't
use variadic arguments from said condition anyway, not converting them
is a reasonable thing to do. So, this patch makes us ignore any varargs
when attempting to check an enable_if condition.

We'd crash because, in order to convert an argument, we need its
ParmVarDecl. Variadic arguments don't have ParmVarDecls.

llvm-svn: 278471
clang/lib/Sema/SemaOverload.cpp
clang/test/Sema/enable_if.c
clang/test/SemaCXX/enable_if.cpp