diff options
Diffstat (limited to 'clang-tools-extra/test/cpp11-migrate')
-rw-r--r-- | clang-tools-extra/test/cpp11-migrate/UseAuto/Inputs/test_std_container.h | 3 | ||||
-rw-r--r-- | clang-tools-extra/test/cpp11-migrate/UseAuto/iterator.cpp | 8 |
2 files changed, 11 insertions, 0 deletions
diff --git a/clang-tools-extra/test/cpp11-migrate/UseAuto/Inputs/test_std_container.h b/clang-tools-extra/test/cpp11-migrate/UseAuto/Inputs/test_std_container.h index c0ea41bfa01..a856c45fcd2 100644 --- a/clang-tools-extra/test/cpp11-migrate/UseAuto/Inputs/test_std_container.h +++ b/clang-tools-extra/test/cpp11-migrate/UseAuto/Inputs/test_std_container.h @@ -107,6 +107,9 @@ public: const_reverse_iterator rbegin() const { return const_reverse_iterator(); } const_reverse_iterator rend() const { return const_reverse_iterator(); } + + template <typename K> + iterator find(const K &Key) { return iterator(); } }; #if USE_INLINE_NAMESPACE diff --git a/clang-tools-extra/test/cpp11-migrate/UseAuto/iterator.cpp b/clang-tools-extra/test/cpp11-migrate/UseAuto/iterator.cpp index ec1e5540759..59c2979b32e 100644 --- a/clang-tools-extra/test/cpp11-migrate/UseAuto/iterator.cpp +++ b/clang-tools-extra/test/cpp11-migrate/UseAuto/iterator.cpp @@ -148,5 +148,13 @@ int main(int argc, char **argv) { // CHECK: auto && I2 = Vec.begin(); } + // Passing a string as an argument to introduce a temporary object + // that will create an expression with cleanups. Bugzilla: 15550 + { + std::unordered_map<int> MapFind; + std::unordered_map<int>::iterator I = MapFind.find("foo"); + // CHECK: auto I = MapFind.find("foo"); + } + return 0; } |