diff options
| author | Alex Lorenz <arphaman@gmail.com> | 2017-05-16 10:23:58 +0000 |
|---|---|---|
| committer | Alex Lorenz <arphaman@gmail.com> | 2017-05-16 10:23:58 +0000 |
| commit | de69ff9b7c90db760c2d145e006f4d368efc0afe (patch) | |
| tree | fc2f05b29971158ee19a2f0b97374ee98bb60cfc /clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp | |
| parent | 390242d0e9571388aa3be5f9c259f9673b6ae151 (diff) | |
| download | bcm5719-llvm-de69ff9b7c90db760c2d145e006f4d368efc0afe.tar.gz bcm5719-llvm-de69ff9b7c90db760c2d145e006f4d368efc0afe.zip | |
Fix PR 10758: Infinite recursion when dealing with copy-initialization
This commit fixes a bug that's tracked by PR 10758 and duplicates like PR 30343.
The bug causes clang to crash with a stack overflow while recursing infinitely
trying to perform copy-initialization on a type without a copy constructor but
with a constructor that accepts another type that can be constructed using the
original type.
The commit fixes this bug by detecting the recursive behavior and failing
correctly with an appropriate error message. It also tries to provide a
meaningful diagnostic note about the constructor which leads to this behavior.
rdar://28483944
Differential Revision: https://reviews.llvm.org/D25051
llvm-svn: 303156
Diffstat (limited to 'clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp')
0 files changed, 0 insertions, 0 deletions

