| ... | @@ -12,15 +12,22 @@ private: | ... | @@ -12,15 +12,22 @@ private: |
| 12 | 	int m_val; | 12 | 	int m_val; |
| 13 | }; | 13 | }; |
| 14 | | 14 | |
| | 15 | |
| | 16 | volatile int runtime_val = 456; |
| | 17 | CTest global(runtime_val);	// test if global initializers are called. |
| | 18 | |
| 15 | int main (int argc, char *argv[]) | 19 | int main (int argc, char *argv[]) |
| 16 | { | 20 | { |
| | 21 | 	assert(global.getVal() == 456); |
| | 22 | |
| 17 | 	auto* t = new CTest(123); | 23 | 	auto* t = new CTest(123); |
| 18 | 	assert(t->getVal()!=456); | 24 | 	assert(t->getVal()!=456); |
| 19 | if (argc>1) t->printVal(); | 25 | |
| | 26 | 	if (argc>1) t->printVal(); |
| 20 | 	bool ok = t->getVal() == 123; | 27 | 	bool ok = t->getVal() == 123; |
| 21 | 	delete t; | 28 | 	delete t; |
| 22 | | 29 | |
| 23 | if (!ok) abort(); | 30 | 	if (!ok) abort(); |
| 24 | | 31 | |
| 25 | 	return 0; | 32 | 	return 0; |
| 26 | } | 33 | } |