[Bug tree-optimization/89478] missed optimization for lambda expression when variable is uninitialized when declared

2019-03-05 Thread SztfG at yandex dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89478 --- Comment #3 from SztfG at yandex dot ru --- Another testcase: int test4 = []() constexpr {int a = a; a = 5; return a;}(); GCC is able compile this, so it "think" this is valid constexpr lambda, but anyway doing this: _GLOBAL__sub_I_test4:

[Bug tree-optimization/89478] missed optimization for lambda expression when variable is uninitialized when declared

2019-02-24 Thread SztfG at yandex dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89478 --- Comment #2 from SztfG at yandex dot ru --- (In reply to Marc Glisse from comment #1) > I think the uninitialized variable makes the initialization not constexpr > (and indeed gcc/clang complain if you try to declare test constexpr). Then > we

[Bug tree-optimization/89478] missed optimization for lambda expression when variable is uninitialized when declared

2019-02-23 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89478 --- Comment #1 from Marc Glisse --- I think the uninitialized variable makes the initialization not constexpr (and indeed gcc/clang complain if you try to declare test constexpr). Then we hit the well-known missed optimization that gcc is unable