summaryrefslogtreecommitdiff
path: root/include/llvm/ADT/Statistic.h
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-06-24 16:31:32 +0000
committerDan Gohman <gohman@apple.com>2010-06-24 16:31:32 +0000
commit27da66db3e3d61e9320c8562d9504f939d884598 (patch)
tree5a673d8d269bed4fc368885bdb3dd43a02d888d1 /include/llvm/ADT/Statistic.h
parent60e6f3d4123a01babeb2c1a0e00d0a2b109008e5 (diff)
downloadllvm-27da66db3e3d61e9320c8562d9504f939d884598.tar.gz
llvm-27da66db3e3d61e9320c8562d9504f939d884598.tar.bz2
llvm-27da66db3e3d61e9320c8562d9504f939d884598.tar.xz
Add a comment about a thread safety issue in Statistic.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106756 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/ADT/Statistic.h')
-rw-r--r--include/llvm/ADT/Statistic.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/llvm/ADT/Statistic.h b/include/llvm/ADT/Statistic.h
index c593c58c12..3a1319f109 100644
--- a/include/llvm/ADT/Statistic.h
+++ b/include/llvm/ADT/Statistic.h
@@ -56,6 +56,10 @@ public:
}
const Statistic &operator++() {
+ // FIXME: This function and all those that follow carefully use an
+ // atomic operation to update the value safely in the presence of
+ // concurrent accesses, but not to read the return value, so the
+ // return value is not thread safe.
sys::AtomicIncrement(&Value);
return init();
}