2 // Testcase for uses of bool.
6 /* Check that types of certain expressions are bool. */
14 /* Check that g++ can find a conversion to bool when one exists. */
15 struct A { operator char * (); } a;
16 struct B { operator int (); } b;
17 struct C { operator float (); } c;
18 struct D { operator bool (); } d;
19 struct E { operator int E::* (); } e;
25 c || true; // { dg-bogus "" }
30 /* Check for support in templates. */
31 template <class T> struct F { };
32 template class F<bool>;
34 template <class T> void f (T, bool) { }
35 template void f (bool, bool);
40 /* Used to cause infinite recursion. */
42 /* Should find conversion path to int. */