--- /dev/null
+// Build don't link:
+
+struct X
+{
+ static const bool b = true;
+ static const int i = b ? 1 : 2;
+};
--- /dev/null
+extern "C" void abort();
+
+int i;
+int j = i++;
+
+int main()
+{
+ if (i != 1)
+ abort();
+}
--- /dev/null
+// Special g++ Options: -O3
+
+typedef int (*fp)();
+
+struct S
+{
+ fp f;
+};
+
+static int f()
+{
+ return 0;
+}
+
+static const S s = { &f };
+
+int main()
+{
+ return (*s.f)();
+}
--- /dev/null
+// Build don't link:
+
+extern "C" void realloc();
+
+class bug {
+public:
+ void realloc(int foo,int bar);
+};
+
+void f() {
+ bug c;
+ c.realloc(50,50);
+}
+
--- /dev/null
+#include <vector>
+
+template<class E,template<class> class DD = std::vector> class C
+{
+ DD<E> d;
+ public:
+ int f();
+};
+
+template<class E,template<class> class DD> int C<E,DD>::f()
+{
+ DD<E> d2;
+ return d2.size();
+}
+
+int main()
+{
+ C<int> c;
+ c.f();
+}
--- /dev/null
+template<template<class> class D,class E> class C
+{
+ public:
+ int g() { return 1; }
+};
+
+template<class T> class D
+{
+ public:
+ int f();
+};
+
+template<class T> int D<T>::f()
+{
+ C<D,D> c;
+ return c.g();
+}
+
+int main()
+{
+ D<char> d;
+ d.f();
+}