summaryrefslogtreecommitdiffstats
path: root/clang/test/Sema/array-bounds-ptr-arith.c
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2012-05-09 05:17:00 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2012-05-09 05:17:00 +0000
commit6f8d2c6c9c3451effdf075a7034bbe77045bfeba (patch)
tree9f37148d4c839abe13285781974985cee8bcf443 /clang/test/Sema/array-bounds-ptr-arith.c
parent9133c34a2a35c26692c8387763b517f808117c6f (diff)
downloadbcm5719-llvm-6f8d2c6c9c3451effdf075a7034bbe77045bfeba.tar.gz
bcm5719-llvm-6f8d2c6c9c3451effdf075a7034bbe77045bfeba.zip
A little tweak to the SFINAE condition reporting. Don't say:
candidate template ignored: substitution failed [with T = int]: no type named 'type' in 'std::enable_if<false, void>' Instead, just say: candidate template ignored: disabled by 'enable_if' [with T = int] ... and point at the enable_if condition which (we assume) failed. This is applied to all cases where the user writes 'typename enable_if<...>::type' (optionally prefixed with a nested name specifier), and 'enable_if<...>' names a complete class type which does not have a member named 'type', and this results in a candidate function being ignored in a SFINAE context. Thus it catches 'std::enable_if', 'std::__1::enable_if', 'boost::enable_if' and 'llvm::enable_if'. llvm-svn: 156463
Diffstat (limited to 'clang/test/Sema/array-bounds-ptr-arith.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud