diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/template/mem-partial2.C')
-rw-r--r-- | gcc/testsuite/g++.dg/template/mem-partial2.C | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/template/mem-partial2.C b/gcc/testsuite/g++.dg/template/mem-partial2.C new file mode 100644 index 000000000..fba325519 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/mem-partial2.C @@ -0,0 +1,29 @@ +// PR c++/14032 +// { dg-do run } + +template <bool compare> +struct outer +{ + template <bool compare_with,bool second> + struct inner // unspecialized compare != compare_with + { + static inline bool test() + { + return false; + } + }; + template <bool second> // specialization compare == compare_with + struct inner<compare,second> + { + static inline bool test() + { + return true; + } + }; +}; +int main () +{ + bool b = outer<true>::inner<true,false>::test(); + + return b != true; +} |