diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.pt/crash61.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/crash61.C | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash61.C b/gcc/testsuite/g++.old-deja/g++.pt/crash61.C new file mode 100644 index 000000000..212450429 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.pt/crash61.C @@ -0,0 +1,30 @@ +// { 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>()); +} |