http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48483
--- Comment #2 from Lisp2D <lisp2d at lisp2d dot net> 2011-04-06 21:15:42 UTC --- Try the next example, more close to my code: #include<iostream> class A{ public: int a; A(int x):a(x){} int TheInt(){return a;} }; void Func(A&a){ std::clog<<"a.a="<<a.a<<std::endl;} int main(void){ A a(a.TheInt()); Func(a);} g++ -O -Winit-self -obug -Wall -Wextra bug.cpp no warning