diff options
author | Eric Fiselier <eric@efcs.ca> | 2014-12-23 05:54:34 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2014-12-23 05:54:34 +0000 |
commit | 279663c1b4bfcec7f849dd2becf207841c45c0cf (patch) | |
tree | 4e5c40e651838113b837c26cbbfc2e0f714b365a /llvm/lib/Transforms/Utils/CloneModule.cpp | |
parent | 2c55974da59db63db5835ea7f4b2ed1f64afc954 (diff) | |
download | llvm-279663c1b4bfcec7f849dd2becf207841c45c0cf.zip llvm-279663c1b4bfcec7f849dd2becf207841c45c0cf.tar.gz llvm-279663c1b4bfcec7f849dd2becf207841c45c0cf.tar.bz2 |
Prevent ill-formed instantiation of __invoke_of<...> during the evaluation of a bind expression. Fixes PR22003.
The SFINAE on the function __mu(Fn, Args...) that evaluates nested bind
expressions always tries to deduce the return type for Fn(Args...) even when Fn
is not a nested bind expression. This can cause hard compile errors when the
instantation of Fn(Args...) is ill-formed. This patch prevents the instantation
of __invoke_of<Fn, Args...> unless Fn is actually a bind expression.
Bug reportand patch from Michel Morin.
http://llvm.org/bugs/show_bug.cgi?id=22003
llvm-svn: 224753
Diffstat (limited to 'llvm/lib/Transforms/Utils/CloneModule.cpp')
0 files changed, 0 insertions, 0 deletions