Fixing static initilize fiasco in Benchmark.cpp
Summary:
Benchmark.cpp code is dependent on initialization order, which leads
to benchmarks not running. The root cause is that on some linkers the code which
adds benchmarks to the benchmarks vector is run before the vector initialization.
The original bug report: https://github.com/facebook/folly/issues/18
See: http://www.parashift.com/c++-faq-lite/static-init-order.html
Test Plan: run benchmark_test and compare result with master output
Reviewed By: andrei.alexandrescu@fb.com, njormrod@fb.com
Subscribers: trunkagent, sdwilsh, folly-diffs@
FB internal diff:
D1710588
Signature: t1:
1710588:
1417468175:
fd2705a573cef5c4ff020b60c6aec3d83bcdbbab