diff options
-rw-r--r-- | libstdc++-v3/ChangeLog | 5 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/23_containers/set/operations/2.cc | 17 |
2 files changed, 22 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 1620f4e..6b2124a 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2015-01-26 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/23_containers/set/operations/2.cc: Add test for + non-transparent comparison function. + 2015-01-25 Oleg Endo <olegendo@gcc.gnu.org> PR target/29366 diff --git a/libstdc++-v3/testsuite/23_containers/set/operations/2.cc b/libstdc++-v3/testsuite/23_containers/set/operations/2.cc index 752bc7d..84ddd1f 100644 --- a/libstdc++-v3/testsuite/23_containers/set/operations/2.cc +++ b/libstdc++-v3/testsuite/23_containers/set/operations/2.cc @@ -128,6 +128,22 @@ test05() VERIFY( Cmp::count == 0); } +void +test06() +{ + // https://gcc.gnu.org/ml/libstdc++/2015-01/msg00176.html + // Verify the new function template overloads do not cause problems + // when the comparison function is not transparent. + struct I + { + int i; + operator int() const { return i; } + }; + + std::set<int> s; + I i = { }; + s.find(i); +} int main() @@ -137,4 +153,5 @@ main() test03(); test04(); test05(); + test06(); } |