Andy Ayers
2014-Dec-12 01:49 UTC
[LLVMdev] why 'const' void * return for ThreadLocalImpl::getInstance()?
I'm probably missing something obvious here, but naively, this makes it kind of awkward to have mutable thread local state... -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20141212/53b577ae/attachment.html>
David Majnemer
2014-Dec-12 02:39 UTC
[LLVMdev] why 'const' void * return for ThreadLocalImpl::getInstance()?
I think you are supposed to use ThreadLocal::get in cases where you want a pointer to mutable data: http://llvm.org/docs/doxygen/html/classllvm_1_1sys_1_1ThreadLocal.html#a66c83dcd38d9048a4f95255e44f13a0c On Thu, Dec 11, 2014 at 5:49 PM, Andy Ayers <andya at microsoft.com> wrote:> I’m probably missing something obvious here, but naively, this makes it > kind of awkward to have mutable thread local state… > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20141211/3f188e47/attachment.html>
Andy Ayers
2014-Dec-12 02:48 UTC
[LLVMdev] why 'const' void * return for ThreadLocalImpl::getInstance()?
Yeah, I was using that -- I have, more or less,
struct S {...};
llvm::sys::ThreadLocal<S> TLS;
S * s = TLS.get();
The static_cast in ThreadLocal::get is where the compiler gripes…. Unable to
convert from ‘const void *’ to ‘S *’.
From: David Majnemer [mailto:david.majnemer at gmail.com]
Sent: Thursday, December 11, 2014 6:39 PM
To: Andy Ayers
Cc: llvmdev at cs.uiuc.edu
Subject: Re: [LLVMdev] why 'const' void * return for
ThreadLocalImpl::getInstance()?
I think you are supposed to use ThreadLocal::get in cases where you want a
pointer to mutable data:
http://llvm.org/docs/doxygen/html/classllvm_1_1sys_1_1ThreadLocal.html#a66c83dcd38d9048a4f95255e44f13a0c
On Thu, Dec 11, 2014 at 5:49 PM, Andy Ayers <andya at
microsoft.com<mailto:andya at microsoft.com>> wrote:
I’m probably missing something obvious here, but naively, this makes it kind of
awkward to have mutable thread local state…
_______________________________________________
LLVM Developers mailing list
LLVMdev at cs.uiuc.edu<mailto:LLVMdev at cs.uiuc.edu>
http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20141212/f22f0bec/attachment.html>
Apparently Analagous Threads
- [LLVMdev] llvm-config!
- [LLVMdev] llvm-config!
- [LLVMdev] lli unable to resolve symbol _ZNKSt3__16locale9use_facetERNS0_2idE in bitcode
- [LLVMdev] Use rand_r() instead of non-reentrant thread-unsafe rand() in GetRandomNumber()
- Possible soundness issue with available_externally (split from "RFC: Add guard intrinsics")