Fix initialization-order bug in llvm::Support::TimeValue. TimeValue::now() is explici...
authorAlexey Samsonov <samsonov@google.com>
Tue, 19 Feb 2013 11:35:39 +0000 (11:35 +0000)
committerAlexey Samsonov <samsonov@google.com>
Tue, 19 Feb 2013 11:35:39 +0000 (11:35 +0000)
commitf940f0c417d196f037763e0425873ba2e0acf475
tree852822836b1324a7dd46a3a1e93a21c01f554afe
parent9f298da9bd4ad5ecaa51fc137fb670fe288950dc
Fix initialization-order bug in llvm::Support::TimeValue. TimeValue::now() is explicitly called during module initialization of lib/Support/Process.cpp. It reads the field of global object PosixZeroTime, which is not guaranteed to be initialized at this point. Found by AddressSanitizer with -fsanitize=init-order option.

llvm-svn: 175509
llvm/include/llvm/Support/TimeValue.h
llvm/lib/Support/TimeValue.cpp
llvm/lib/Support/Unix/TimeValue.inc