| // { dg-do assemble } | |
| // Source: Neil Booth, from PR # 106. 4 Dec 2000. | |
| template <bool b> class bar | |
| { | |
| }; | |
| class A_a | |
| { | |
| public: | |
| static const bool b = true; | |
| }; | |
| class B_b | |
| { | |
| public: | |
| static const bool b = false; | |
| }; | |
| template <class A, class B> class foo | |
| { | |
| }; | |
| template <class A, class B> | |
| bar<(A::b || B::b)> do_funky(const foo<A, B>&); | |
| int main() | |
| { | |
| bar<true> a_bar = do_funky(foo<A_a, B_b>()); | |
| } |