<div dir="ltr"><div style="font-size:12.8000001907349px">It seems like this program always prints 0. I used the following command line:</div><div style="font-size:12.8000001907349px"><span style="color:rgb(199,37,78);font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:12.6000003814697px;line-height:18.0000019073486px;background-color:rgb(249,242,244)"><br></span></div><div style="font-size:12.8000001907349px"><span style="font-size:12.6000003814697px;line-height:18.0000019073486px;background-color:rgb(255,255,255)"><font color="#000000" face="monospace, monospace">clang++ prog.cc -std=c++14 -pedantic-errors</font></span></div><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px"> It looks like clang does an unnecessary zero-initialization of x here. Why is that?</div><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px"><font face="monospace, monospace">#include <iostream></font></div><div style="font-size:12.8000001907349px"><font face="monospace, monospace">struct S { int x; S() { std::cout << x << std::endl; } };</font></div><div style="font-size:12.8000001907349px"><font face="monospace, monospace">int main() { S s; }</font></div><div style="font-size:12.8000001907349px"><br></div></div>