#include <iostream>
using std::cout;
using std::endl;
inline double fd() { return 1.0; }
extern double d1;
double d2 = d1; // unspecified:
// may be statically initialized to 0.0 or
// dynamically initialized to 0.0 if d1 is
// dynamically initialized, or 1.0 otherwise
double d1 = fd(); // may be initialized statically or dynamically to 1.0
int main() {
cout << "d1: " << d1 << endl;
cout << "d2: " << d2 << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBzdGQ6OmNvdXQ7CnVzaW5nIHN0ZDo6ZW5kbDsKCmlubGluZSBkb3VibGUgZmQoKSB7IHJldHVybiAxLjA7IH0KZXh0ZXJuIGRvdWJsZSBkMTsKZG91YmxlIGQyID0gZDE7ICAgICAvLyB1bnNwZWNpZmllZDoKICAgICAgICAgICAgICAgICAgICAvLyBtYXkgYmUgc3RhdGljYWxseSBpbml0aWFsaXplZCB0byAwLjAgb3IKICAgICAgICAgICAgICAgICAgICAvLyBkeW5hbWljYWxseSBpbml0aWFsaXplZCB0byAwLjAgaWYgZDEgaXMKICAgICAgICAgICAgICAgICAgICAvLyBkeW5hbWljYWxseSBpbml0aWFsaXplZCwgb3IgMS4wIG90aGVyd2lzZQpkb3VibGUgZDEgPSBmZCgpOyAgIC8vIG1heSBiZSBpbml0aWFsaXplZCBzdGF0aWNhbGx5IG9yIGR5bmFtaWNhbGx5IHRvIDEuMAoKaW50IG1haW4oKSB7CiAgICBjb3V0IDw8ICJkMTogIiA8PCBkMSA8PCBlbmRsOwogICAgY291dCA8PCAiZDI6ICIgPDwgZDIgPDwgZW5kbDsKfQ==