diff options
author | Jason Merrill <jason@gcc.gnu.org> | 2013-03-05 13:58:36 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2013-03-05 13:58:36 -0500 |
commit | 887a780fb659d2e71fc8cd3db5ff911f15423326 (patch) | |
tree | 8caa6e0c67c2da9058f4bd40f94e317c9c9b9f1c | |
parent | 731aeface49a81a4bb3dd134d215f6f0b02be672 (diff) | |
download | gcc-887a780fb659d2e71fc8cd3db5ff911f15423326.zip gcc-887a780fb659d2e71fc8cd3db5ff911f15423326.tar.gz gcc-887a780fb659d2e71fc8cd3db5ff911f15423326.tar.bz2 |
re PR c++/50276 ([C++0x] Wrong "used uninitialized in this function" warning)
PR c++/50276
* g++.dg/cpp0x/lambda/lambda-template10.C: New.
From-SVN: r196472
-rw-r--r-- | gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template10.C | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template10.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template10.C new file mode 100644 index 0000000..4a80462 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template10.C @@ -0,0 +1,23 @@ +// PR c++/50276 +// { dg-options "-std=c++11 -Wuninitialized" } +// { dg-do run } + +template<typename T> +unsigned testfun(const T& func) +{ + return func(); +} + +template<int i> +unsigned test() +{ + if (unsigned value = testfun( [] () { return 0; })) + return value; + return i; +} + +int main() +{ + if (test<42>() != 42) + __builtin_abort (); +} |