<div dir="ltr">Hi Patrick,<br><br><div>On Tue, Nov 19, 2013 at 9:27 PM, Patrick Gartung <<a href="mailto:gartung@fnal.gov">gartung@fnal.gov</a>> wrote:<br></div><div>> Hi,<br>><br>> We are  working on a project to make a large code base thread safe.</div>
<div><br></div><div>Out of curiosity, did you try <a href="http://clang.llvm.org/docs/ThreadSanitizer.html">ThreadSanitizer</a> on your code base? It's able to report</div><div>data races which are hard to detect statically.</div>
<div><br></div><div>> We have<br>> several clang static analyzers that we use to identify thread safety<br>> problems. As we fix these problems we would like to use cxx11 attributes to<br>> flag them complete, eg void * foo () -->> [cms::threadsafe] void * foo().<br>
> Initial tests we release 3.3 show that the parse throws a warning and drops<br>> the info:<br>><br>> func_checker.cpp:8:4: warning: unknown attribute 'threadsafe' ignored<br>> [[ cms::threadsafe ]] void bar() {<br>
><br>> We would like to store the contents of the unknown attribute and drop static<br>> analyzer reports based on it.<br>><br>> Is there support for this in the head version of clang?<br>><br>> Patrick Gartung<br>
><br>><br>><br>> _______________________________________________<br>> cfe-dev mailing list<br>> <a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
><br><br><br><br>-- <br>Alexey Samsonov, MSK<br></div></div>