[compiler-rt] r206199 - sanitizer_deadlock_detector.h: MSVC 2012 doesn't like compound literals
Kostya Serebryany
kcc at google.com
Mon Apr 14 12:00:05 PDT 2014
Ugh. Is this a bug in MSVC 2012?
On Mon, Apr 14, 2014 at 9:43 PM, Hans Wennborg <hans at hanshq.net> wrote:
> Author: hans
> Date: Mon Apr 14 12:43:45 2014
> New Revision: 206199
>
> URL: http://llvm.org/viewvc/llvm-project?rev=206199&view=rev
> Log:
> sanitizer_deadlock_detector.h: MSVC 2012 doesn't like compound literals
>
> Modified:
> compiler-rt/trunk/lib/sanitizer_common/sanitizer_deadlock_detector.h
>
> Modified:
> compiler-rt/trunk/lib/sanitizer_common/sanitizer_deadlock_detector.h
> URL:
> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_deadlock_detector.h?rev=206199&r1=206198&r2=206199&view=diff
>
> ==============================================================================
> --- compiler-rt/trunk/lib/sanitizer_common/sanitizer_deadlock_detector.h
> (original)
> +++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_deadlock_detector.h
> Mon Apr 14 12:43:45 2014
> @@ -67,7 +67,8 @@ class DeadlockDetectorTLS {
> CHECK_LT(n_all_locks_, ARRAY_SIZE(all_locks_with_contexts_));
> // lock_id < BV::kSize, can cast to a smaller int.
> u32 lock_id_short = static_cast<u32>(lock_id);
> - all_locks_with_contexts_[n_all_locks_++] = {lock_id_short, stk};
> + LockWithContext l = {lock_id_short, stk};
> + all_locks_with_contexts_[n_all_locks_++] = l;
> return true;
> }
>
> @@ -244,10 +245,12 @@ class DeadlockDetector {
> uptr n_added_edges = g_.addEdges(dtls->getLocks(current_epoch_),
> cur_idx,
> added_edges,
> ARRAY_SIZE(added_edges));
> for (uptr i = 0; i < n_added_edges; i++) {
> - if (n_edges_ < ARRAY_SIZE(edges_))
> - edges_[n_edges_++] = {(u16)added_edges[i], (u16)cur_idx,
> - dtls->findLockContext(added_edges[i]), stk,
> - unique_tid};
> + if (n_edges_ < ARRAY_SIZE(edges_)) {
> + Edge e = {(u16)added_edges[i], (u16)cur_idx,
> + dtls->findLockContext(added_edges[i]), stk,
> + unique_tid};
> + edges_[n_edges_++] = e;
> + }
> // Printf("Edge%zd: %u %zd=>%zd in T%d\n",
> // n_edges_, stk, added_edges[i], cur_idx, unique_tid);
> }
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140414/aa8bd346/attachment.html>
More information about the llvm-commits
mailing list