summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.robertl/eb129a.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.robertl/eb129a.C')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb129a.C22
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb129a.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb129a.C
new file mode 100644
index 000000000..bba5ff067
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb129a.C
@@ -0,0 +1,22 @@
+// { dg-do assemble }
+// Gives ICE on EGCS release branch as of 98/06/08 on i686-pc-linux-gnulibc1)
+// From: Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-karlsruhe.de>
+// Message-Id: <199806081358.PAA02505@achibm5.chemie.uni-karlsruhe.de>
+#include <list>
+#include <functional>
+#include <algorithm>
+#include <cassert>
+int main()
+{
+ std::list<int> l;
+ l.push_back(1);
+ l.push_back(2);
+
+ std::list<int>::iterator it =
+ std::find_if( l.begin(), l.end(),
+ // This is a typo, it should be bind2nd, but an
+ // ICE is not a very helpful diagnostic!
+ std::binder2nd( std::equal_to<int>(), 2 ) ); // { dg-error "" }
+ assert( *(it) == 2 );
+}
+