Re: [PATCH] D16545: [libcxxabi] Enable testing for static libc++abi

2016-04-18 Thread Ben Craig via cfe-commits
bcraig updated this revision to Diff 54110. bcraig marked an inline comment as done. bcraig added a comment. EricWF's feedback. I plan on submitting this tomorrow morning. http://reviews.llvm.org/D16545 Files: CMakeLists.txt test/CMakeLists.txt test/libcxxabi/test/config.py test/lit.si

Re: [PATCH] D16544: [libcxx] Framework to allow testing of static libc++abi

2016-04-18 Thread Ben Craig via cfe-commits
bcraig updated the summary for this revision. bcraig updated this revision to Diff 54112. bcraig added a comment. EricWF's feedback. Removed libcxx_library option. I plan on submitting this tomorrow morning. http://reviews.llvm.org/D16544 Files: docs/TestingLibcxx.rst test/CMakeLists.txt

Re: [PATCH] D16544: [libcxx] Framework to allow testing of static libc++abi

2016-04-18 Thread Ben Craig via cfe-commits
bcraig marked 2 inline comments as done. bcraig added a comment. http://reviews.llvm.org/D16544 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libcxxabi] r266729 - Enable testing for static libc++abi

2016-04-19 Thread Ben Craig via cfe-commits
Author: bcraig Date: Tue Apr 19 07:47:38 2016 New Revision: 266729 URL: http://llvm.org/viewvc/llvm-project?rev=266729&view=rev Log: Enable testing for static libc++abi This change leverages framework changes made in libcxx. See those changes for more details. (http://reviews.llvm.org/D16544) So

[libcxx] r266730 - Framework to allow testing of static libc++abi

2016-04-19 Thread Ben Craig via cfe-commits
Author: bcraig Date: Tue Apr 19 07:49:05 2016 New Revision: 266730 URL: http://llvm.org/viewvc/llvm-project?rev=266730&view=rev Log: Framework to allow testing of static libc++abi These changes make linking against static libraries more explicit. Instead of using -lc++ and -lc++abi in the tests,

Re: [PATCH] D16544: [libcxx] Framework to allow testing of static libc++abi

2016-04-19 Thread Ben Craig via cfe-commits
bcraig closed this revision. bcraig added a comment. r266730 Comment at: test/libcxx/test/config.py:454 @@ -464,1 +453,3 @@ +else: +self.cxx.link_flags += ['-lc++'] EricWF wrote: > In this fallback case do we want to explicitly ask

Re: [PATCH] D16545: [libcxxabi] Enable testing for static libc++abi

2016-04-19 Thread Ben Craig via cfe-commits
bcraig closed this revision. bcraig added a comment. r266729 http://reviews.llvm.org/D16545 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D19280: Include initializer_list from utility

2016-04-19 Thread Ben Craig via cfe-commits
bcraig created this revision. bcraig added reviewers: mclow.lists, EricWF, howard.hinnant. bcraig added a subscriber: cfe-commits. The C++11 and C++14 standards both say in the header synopsis that shall include . http://reviews.llvm.org/D19280 Files: include/utility Index: include/utility

[libcxx] r266808 - Include initializer_list from utility

2016-04-19 Thread Ben Craig via cfe-commits
Author: bcraig Date: Tue Apr 19 15:13:55 2016 New Revision: 266808 URL: http://llvm.org/viewvc/llvm-project?rev=266808&view=rev Log: Include initializer_list from utility The C++11 and C++14 standards both say in the header synopsis that shall include . Added: libcxx/trunk/test/std/utiliti

Re: [PATCH] D19280: Include initializer_list from utility

2016-04-19 Thread Ben Craig via cfe-commits
bcraig closed this revision. bcraig added a comment. Test added. r266808 http://reviews.llvm.org/D19280 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libcxx] r266820 - XFAILing new test on C++03

2016-04-19 Thread Ben Craig via cfe-commits
Author: bcraig Date: Tue Apr 19 16:07:30 2016 New Revision: 266820 URL: http://llvm.org/viewvc/llvm-project?rev=266820&view=rev Log: XFAILing new test on C++03 initializer_list doesn't exist in C++03. Modified: libcxx/trunk/test/std/utilities/utility/synopsis.pass.cpp Modified: libcxx/trunk

Re: [PATCH] D17416: [libcxx] Reorganize locale extension fallbacks. NFCI

2016-04-26 Thread Ben Craig via cfe-commits
bcraig added a comment. ping @danalbert, @mclow.lists http://reviews.llvm.org/D17416 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D19415: [libcxx][rfc] Externalized threading support

2016-04-26 Thread Ben Craig via cfe-commits
bcraig added a subscriber: bcraig. bcraig added a comment. Note: My opinion doesn't count for much as far as community acceptance goes. I'm fine with the idea. I think there is at least one significant conformance hurdle that you will need to address though. I also have some commentary on th

Re: [PATCH] D19412: [libcxx] Refactor pthread usage - II

2016-04-26 Thread Ben Craig via cfe-commits
bcraig added a subscriber: bcraig. Comment at: src/mutex.cpp:31 @@ +30,3 @@ +#else +#error "Not implemented for the selected thread API." +#endif Can't we just check for _LIBCPP_THREAD_API_PTHREAD once at the top of the file and #error as necessary there? I

[PATCH] D20573: [libcxx] Allow explicit pthread opt-in

2016-05-24 Thread Ben Craig via cfe-commits
bcraig created this revision. bcraig added reviewers: rmaprath, mclow.lists, EricWF. bcraig added a subscriber: cfe-commits. The existing pthread detection code in __config is pretty good for common operating systems. It doesn't allow cmake-time choices to be made for uncommon operating systems

[PATCH] D20574: [libcxxabi] Allow explicit pthread opt-in

2016-05-24 Thread Ben Craig via cfe-commits
bcraig created this revision. bcraig added reviewers: rmaprath, mclow.lists, EricWF. bcraig added a subscriber: cfe-commits. Companion to http://reviews.llvm.org/D20573 When building libcxxabi in tree (i.e. in llvm/projects/libcxxabi, along with llvm/projects/libcxx), libcxx's __config_site.in d

Re: [PATCH] D20328: [libcxx] Externally threaded libc++ variant

2016-05-24 Thread Ben Craig via cfe-commits
bcraig added a comment. Note: You'll want to look at http://reviews.llvm.org/D20573, as there will be confilicts for whoever submits second. Comment at: include/__threading_support:201 @@ +200,3 @@ +// Mutex +#define _LIBCPP_MUTEX_INITIALIZER nullptr +struct __libcpp_platform_m

Re: [PATCH] D20334: [libcxx] Fix a bug in strstreambuf::overflow

2016-05-24 Thread Ben Craig via cfe-commits
bcraig added a subscriber: bcraig. bcraig added a comment. I don't believe this is a libcxx bug, but it is a bug in the test code. oss.str(); isn't required to return a null terminated string. std::cout << (char *) requires a null terminated string though. http://reviews.llvm.org/D20334 _

Re: [PATCH] D20328: [libcxx] Externally threaded libc++ variant

2016-05-24 Thread Ben Craig via cfe-commits
bcraig added inline comments. Comment at: include/__threading_support:201 @@ +200,3 @@ +// Mutex +#define _LIBCPP_MUTEX_INITIALIZER nullptr +struct __libcpp_platform_mutex_t; rmaprath wrote: > bcraig wrote: > > I'm not sure I like taking the freedom to define _LIB

Re: [PATCH] D20328: [libcxx] Externally threaded libc++ variant

2016-05-24 Thread Ben Craig via cfe-commits
bcraig added inline comments. Comment at: include/__threading_support:201 @@ +200,3 @@ +// Mutex +#define _LIBCPP_MUTEX_INITIALIZER nullptr +struct __libcpp_platform_mutex_t; rmaprath wrote: > bcraig wrote: > > rmaprath wrote: > > > bcraig wrote: > > > > I'm not s

[PATCH] D20596: [libcxx] Refactor locale switching, creation, and destruction

2016-05-24 Thread Ben Craig via cfe-commits
bcraig created this revision. bcraig added reviewers: mclow.lists, EricWF, joerg, jroelofs. bcraig added a subscriber: cfe-commits. Herald added a subscriber: jfb. This patch cleans up libcxx's usage of newlocale, freelocale, uselocale, and locale_t. First, libcxx no longer defines the posix new

Re: [PATCH] D20574: [libcxxabi] Allow explicit pthread opt-in

2016-05-24 Thread Ben Craig via cfe-commits
bcraig updated this revision to Diff 58317. http://reviews.llvm.org/D20574 Files: CMakeLists.txt Index: CMakeLists.txt === --- CMakeLists.txt +++ CMakeLists.txt @@ -113,6 +113,7 @@ option(LIBCXXABI_ENABLE_WERROR "Fail and stop if

Re: [PATCH] D20574: [libcxxabi] Allow explicit pthread opt-in

2016-05-24 Thread Ben Craig via cfe-commits
bcraig marked an inline comment as done. bcraig added a comment. http://reviews.llvm.org/D20574 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D20573: [libcxx] Allow explicit pthread opt-in

2016-05-24 Thread Ben Craig via cfe-commits
bcraig updated this revision to Diff 58320. http://reviews.llvm.org/D20573 Files: CMakeLists.txt include/__config include/__config_site.in include/__threading_support Index: include/__threading_support === --- include/__thre

Re: [PATCH] D20573: [libcxx] Allow explicit pthread opt-in

2016-05-24 Thread Ben Craig via cfe-commits
bcraig marked 2 inline comments as done. bcraig added a comment. http://reviews.llvm.org/D20573 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D20328: [libcxx] Externally threaded libc++ variant

2016-05-25 Thread Ben Craig via cfe-commits
bcraig added inline comments. Comment at: include/__threading_support:201 @@ +200,3 @@ +// Mutex +#define _LIBCPP_MUTEX_INITIALIZER nullptr +struct __libcpp_platform_mutex_t; rmaprath wrote: > rmaprath wrote: > > bcraig wrote: > > > rmaprath wrote: > > > > bcraig

Re: [PATCH] D20334: [libcxx] Fix a bug in strstreambuf::overflow

2016-05-25 Thread Ben Craig via cfe-commits
bcraig added a comment. In http://reviews.llvm.org/D20334#438052, @ahatanak wrote: > My understanding is that typically std::ends is explicitly appended to > null-terminate the stream buffer. The test case in the example does that. > > http://en.cppreference.com/w/cpp/io/ostrstream/str Doh! Y

Re: [PATCH] D20320: [libunwind] Improve unwinder stack usage - II

2016-05-25 Thread Ben Craig via cfe-commits
bcraig added a comment. LGTM. You probably need to get an approval from someone else though, as I haven't really established myself in the libunwind code base. As a side note... one of these days clang / llvm stack compaction may actually work reasonably well, and tricks like this won't be nec

[libcxxabi] r270732 - Allow explicit pthread opt-in

2016-05-25 Thread Ben Craig via cfe-commits
Author: bcraig Date: Wed May 25 12:37:38 2016 New Revision: 270732 URL: http://llvm.org/viewvc/llvm-project?rev=270732&view=rev Log: Allow explicit pthread opt-in When building libcxxabi in tree (i.e. in llvm/projects/libcxxabi, along with llvm/projects/libcxx), libcxx's config_site.in doesn't ge

[libcxx] r270735 - [libcxx] Allow explicit pthread opt-in

2016-05-25 Thread Ben Craig via cfe-commits
Author: bcraig Date: Wed May 25 12:40:09 2016 New Revision: 270735 URL: http://llvm.org/viewvc/llvm-project?rev=270735&view=rev Log: [libcxx] Allow explicit pthread opt-in The existing pthread detection code in __config is pretty good for common operating systems. It doesn't allow cmake-time choi

Re: [PATCH] D20574: [libcxxabi] Allow explicit pthread opt-in

2016-05-25 Thread Ben Craig via cfe-commits
bcraig closed this revision. bcraig added a comment. r270732 http://reviews.llvm.org/D20574 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D20573: [libcxx] Allow explicit pthread opt-in

2016-05-25 Thread Ben Craig via cfe-commits
bcraig added a comment. r270735 http://reviews.llvm.org/D20573 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D20677: Make it possible to build a -fno-exceptions libc++abi variant.

2016-05-26 Thread Ben Craig via cfe-commits
bcraig added inline comments. Comment at: CMakeLists.txt:359 @@ -350,2 +358,3 @@ else() - add_subdirectory(test) + # libc++abi tests are mostly exceptions related. The only reason we want to + # build libc++abi without exceptions is to support the -fno-exceptions libc++ --

Re: [PATCH] D20334: [libcxx] Fix a bug in strstreambuf::overflow

2016-05-26 Thread Ben Craig via cfe-commits
bcraig added a comment. So I definitely see a problem, and I think your fix is a reasonable solution to that problem. I'm still unclear on how that caused the ASAN error though. Here's my understanding of the current problem... The initial buffer for strstreambuf is often 4096 ( _strstream>

Re: [PATCH] D20677: Make it possible to build a -fno-exceptions libc++abi variant.

2016-05-26 Thread Ben Craig via cfe-commits
bcraig added inline comments. Comment at: src/cxa_aux_runtime.cpp:19-24 @@ -18,4 +18,8 @@ extern "C" { _LIBCXXABI_FUNC_VIS LIBCXXABI_NORETURN void __cxa_bad_cast(void) { +#ifndef _LIBCXXABI_NO_EXCEPTIONS throw std::bad_cast(); +#else + std::terminate(); +#endif } --

Re: [PATCH] D20677: Make it possible to build a -fno-exceptions libc++abi variant.

2016-05-26 Thread Ben Craig via cfe-commits
bcraig added a comment. LGTM. Probably want a "LGTM" from at least one other person though. In http://reviews.llvm.org/D20677#441085, @rmaprath wrote: > In http://reviews.llvm.org/D20677#441061, @jroelofs wrote: > > > This is the canonical reference for the Itanium ABI: > > https://mentorembed

Re: [PATCH] D20334: [libcxx] Fix a bug in strstreambuf::overflow

2016-05-27 Thread Ben Craig via cfe-commits
bcraig added a comment. LGTM. You may want to wait on Marshall's approval though. Thanks for being patient with me, and thanks for the patch! http://reviews.llvm.org/D20334 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm

Re: [PATCH] D20320: [libunwind] Improve unwinder stack usage - II

2016-05-27 Thread Ben Craig via cfe-commits
bcraig added a comment. In http://reviews.llvm.org/D20320#442246, @rmaprath wrote: > Do you know if there are clang / llvm passes that attempts to achieve some > sort of stack compaction? I couldn't find much. I'm not sure if it belongs to its own pass, or if it is part of another pass, but t

Re: [PATCH] D20730: [libcxx] Prefer UNSUPPORTED over conditional compilation for tests

2016-05-27 Thread Ben Craig via cfe-commits
bcraig added subscribers: mclow.lists, bcraig. bcraig added a comment. LGTM. Add @mclow.lists as a reviewer. http://reviews.llvm.org/D20730 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-c

Re: [PATCH] D16545: [libcxxabi] Enable testing for static libc++abi

2016-05-31 Thread Ben Craig via cfe-commits
bcraig added a comment. In http://reviews.llvm.org/D16545#444854, @rmaprath wrote: > Hmmm, it looks like part of this patch didn't go in? I cannot see the changes > in the `libcxxabi/CMakeLists.txt` file in the repo. > > I was hoping this would enable me to run the `libc++abi` tests on in-tree

[libcxxabi] r271388 - Missed part of D16545 (static lib testing)

2016-06-01 Thread Ben Craig via cfe-commits
Author: bcraig Date: Wed Jun 1 07:50:30 2016 New Revision: 271388 URL: http://llvm.org/viewvc/llvm-project?rev=271388&view=rev Log: Missed part of D16545 (static lib testing) http://reviews.llvm.org/D16545 Modified: libcxxabi/trunk/CMakeLists.txt Modified: libcxxabi/trunk/CMakeLists.txt UR

Re: [PATCH] D16545: [libcxxabi] Enable testing for static libc++abi

2016-06-01 Thread Ben Craig via cfe-commits
bcraig added a comment. In http://reviews.llvm.org/D16545#444869, @bcraig wrote: > In http://reviews.llvm.org/D16545#444854, @rmaprath wrote: > > > Perhaps you forgot to commit that file? > > > Hrm, you're right, it didn't go in. I'll get it in tomorrow morning. Should be in now. r271388. h

Re: [PATCH] D20874: [libcxx] Two more threading dependencies

2016-06-01 Thread Ben Craig via cfe-commits
bcraig added inline comments. Comment at: include/__threading_support:187 @@ +186,3 @@ +{ +std::terminate(); +} Why does this need to go in threading_support? Seems like this is mostly orthogonal to threading. libcxxabi seems like the better place to hold c

Re: [PATCH] D20874: [libcxx] Two more threading dependencies

2016-06-02 Thread Ben Craig via cfe-commits
bcraig added inline comments. Comment at: include/__threading_support:187 @@ +186,3 @@ +{ +std::terminate(); +} rmaprath wrote: > bcraig wrote: > > Why does this need to go in threading_support? Seems like this is mostly > > orthogonal to threading. libcxxa

Re: [PATCH] D20328: [libcxx] Externally threaded libc++ variant

2016-06-02 Thread Ben Craig via cfe-commits
bcraig added inline comments. Comment at: include/__threading_support:201 @@ +200,3 @@ +# if !defined(__has_include) || __has_include(<__static_threading>) +#include<__static_threading> +# else This #include deserves a comment. Some perplexed developer is g

[PATCH] D20933: Preallocate ExplodedNode hash table

2016-06-02 Thread Ben Craig via cfe-commits
bcraig created this revision. bcraig added reviewers: zaks.anna, krememek, jordan_rose. bcraig added a subscriber: cfe-commits. This depends on http://reviews.llvm.org/D20930 Rehashing the ExplodedNode table is very expensive. The hashing itself is expensive, and the general activity of iterati

Re: [PATCH] D20933: Preallocate ExplodedNode hash table

2016-06-03 Thread Ben Craig via cfe-commits
bcraig added a comment. In http://reviews.llvm.org/D20933#447608, @zaks.anna wrote: > Does FoldingSet already have reserve? (I do not see it.) The reserve call would be new. I'm attempting to add it in this llvm review: http://reviews.llvm.org/D20930 > My understanding is that you propose to

Re: [PATCH] D20933: Preallocate ExplodedNode hash table

2016-06-06 Thread Ben Craig via cfe-commits
bcraig added a comment. I'll try to get those stats. My suspicion is that it is highly language / projects specific. Specifically, I suspect that C (and maybe ObjC?) won't hit the analysis limit often, but that C++ will hit the limit frequently because of the large number of inline functions.

Re: [PATCH] D20933: Preallocate ExplodedNode hash table

2016-06-07 Thread Ben Craig via cfe-commits
bcraig added a comment. tldr; I'm going to recommend we stick with the current algorithm, but I only have partial data to back that up. For the pile of LLVM projects that I am currently building (llvm, clang, libcxx, libcxxabi), 18.9% of all analyzed functions hit the maximum step count. For

Re: [PATCH] D20933: Preallocate ExplodedNode hash table

2016-06-07 Thread Ben Craig via cfe-commits
bcraig updated this revision to Diff 59950. bcraig added a comment. Uploading more context. http://reviews.llvm.org/D20933 Files: include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h lib/StaticAnalyzer/Core/CoreEngine.cpp Index: lib/StaticAnalyzer/Core/CoreEngine.cpp ===

Re: [PATCH] D20933: Preallocate ExplodedNode hash table

2016-06-08 Thread Ben Craig via cfe-commits
bcraig added a comment. In http://reviews.llvm.org/D20933#452352, @zaks.anna wrote: > > For the pile of LLVM projects that I am currently building (llvm, clang, > > libcxx, libcxxabi), 18.9% of all analyzed > > > functions hit the maximum step count. For the previously discussed large > > .C f

Re: [PATCH] D20933: Preallocate ExplodedNode hash table

2016-06-09 Thread Ben Craig via cfe-commits
bcraig added a comment. In http://reviews.llvm.org/D20933#452854, @dcoughlin wrote: > A 6% speed improvement could be a big win! Do we have a sense of what the > expected increased memory cost (as a % of average use over the lifetime of > the process) is? My guess is it would be relatively low.

Re: [PATCH] D20933: Preallocate ExplodedNode hash table

2016-06-09 Thread Ben Craig via cfe-commits
bcraig updated this revision to Diff 60177. bcraig added a comment. Capping the pre-reserve space http://reviews.llvm.org/D20933 Files: include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h lib/StaticAnalyzer/Core/CoreEngine.cpp Index: lib/StaticAnalyzer/Core/CoreEngine.cpp =

Re: [PATCH] D20933: Preallocate ExplodedNode hash table

2016-06-09 Thread Ben Craig via cfe-commits
bcraig added a comment. I got better valgrind numbers (symbols are important). Before: 106,131,538 After: 106,657,666 Diff: 526,128 larger. Note that this is sampled peaks for heap usage. They may not be accurate. Regardless, the peak usage increased by less than .5%. http://reviews.llvm.org

r272394 - Preallocate ExplodedNode hash table

2016-06-10 Thread Ben Craig via cfe-commits
Author: bcraig Date: Fri Jun 10 08:22:13 2016 New Revision: 272394 URL: http://llvm.org/viewvc/llvm-project?rev=272394&view=rev Log: Preallocate ExplodedNode hash table Rehashing the ExplodedNode table is very expensive. The hashing itself is expensive, and the general activity of iterating over

Re: [PATCH] D20933: Preallocate ExplodedNode hash table

2016-06-10 Thread Ben Craig via cfe-commits
bcraig closed this revision. bcraig added a comment. Completed: At revision: 272394 http://reviews.llvm.org/D20933 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D21229: [Analyzer] Don't cache report generation ExplodedNodes

2016-06-10 Thread Ben Craig via cfe-commits
bcraig created this revision. bcraig added reviewers: zaks.anna, dcoughlin, jordan_rose. bcraig added a subscriber: cfe-commits. During the core analysis, ExplodedNodes are added to the ExplodedGraph, and those nodes are cached for deduplication purposes. After core analysis, reports are generat

Re: [PATCH] D21345: [libcxx] [test] Avoid huge main() functions and huge arrays.

2016-06-14 Thread Ben Craig via cfe-commits
bcraig added a subscriber: bcraig. bcraig added a comment. > Even though they have artificial blocks in order to keep variables locally > scoped, this gives MSVC's /analyze a headache, because it views main() as > consuming an enormous amount of stack space (it doesn't reuse stack, at least > f

Re: [PATCH] D21345: [libcxx] [test] Avoid huge main() functions and huge arrays.

2016-06-14 Thread Ben Craig via cfe-commits
bcraig added a comment. LGTM. I don't see anything controversial here. If you want to wait for @EricWF or @mclow.lists though, that's fine. http://reviews.llvm.org/D21345 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.o

Re: [PATCH] D21637: [libcxx] Don't use pthread initializers in constexpr constructors

2016-06-23 Thread Ben Craig via cfe-commits
bcraig added subscribers: joerg, bcraig. bcraig added a comment. @joerg. I think this has been fixed in newer versions of NetBSD. Sure would be nice if someone could fix this on the MUSL side of things. See https://bugs.musicpd.org/view.php?id=4110 for fun conversations about mutex, PTHREAD_MU

r273572 - [Analyzer] Don't cache report generation ExplodedNodes

2016-06-23 Thread Ben Craig via cfe-commits
Author: bcraig Date: Thu Jun 23 10:47:12 2016 New Revision: 273572 URL: http://llvm.org/viewvc/llvm-project?rev=273572&view=rev Log: [Analyzer] Don't cache report generation ExplodedNodes During the core analysis, ExplodedNodes are added to the ExplodedGraph, and those nodes are cached for dedupl

Re: [PATCH] D21229: [Analyzer] Don't cache report generation ExplodedNodes

2016-06-23 Thread Ben Craig via cfe-commits
bcraig closed this revision. bcraig added a comment. Old: 106,657,666 New: 105,346,818 Submitted in r273572 http://reviews.llvm.org/D21229 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-co

Re: [PATCH] D21803: [libcxxabi] Provide a fallback __cxa_thread_atexit() implementation

2016-06-29 Thread Ben Craig via cfe-commits
bcraig added subscribers: rmaprath, bcraig. bcraig added a comment. You should look at __thread_specific_ptr in libcxx's . It does a lot of these things in order to satisfy the requirements of notify_all_at_thread_exit, set_value_at_thread_exit, and make_ready_at_thread_exit. @rmaprath has be

Re: [PATCH] D21803: [libcxxabi] Provide a fallback __cxa_thread_atexit() implementation

2016-06-29 Thread Ben Craig via cfe-commits
bcraig added a comment. In http://reviews.llvm.org/D21803#470060, @tavianator wrote: > In http://reviews.llvm.org/D21803#469988, @bcraig wrote: > > > You should look at __thread_specific_ptr in libcxx's . It does a > > lot of these things in order to satisfy the requirements of > > notify_all_

Re: [PATCH] D21803: [libcxxabi] Provide a fallback __cxa_thread_atexit() implementation

2016-06-29 Thread Ben Craig via cfe-commits
bcraig added a comment. > Hmm, maybe? If other global destructors run after ~DtorListHolder(), and > they cause a thread_local to be initialized for the first time, > __cxa_thread_atexit() might be called again. I was thinking that dtors would > get re-initialized in that case but it appears

Re: [PATCH] D21803: [libcxxabi] Provide a fallback __cxa_thread_atexit() implementation

2016-06-30 Thread Ben Craig via cfe-commits
bcraig added a comment. In http://reviews.llvm.org/D21803#470564, @joerg wrote: > On the topic of __cxa_thread_atexit, was it ever specified how it interacts > with things like thread cancellation? I don't think it's officially specified anywhere. C++ threads don't have a cancel method. The

Re: [PATCH] D21803: [libcxxabi] Provide a fallback __cxa_thread_atexit() implementation

2016-06-30 Thread Ben Craig via cfe-commits
bcraig added inline comments. Comment at: src/cxa_thread_atexit.cpp:47 @@ +46,3 @@ + void run_dtors(void* ptr) { +if (pthread_setspecific(dtors, ptr) != 0) { + abort_message("pthread_setspecific() failed during thread_local destruction"); Why are we doi

Re: [PATCH] D21803: [libcxxabi] Provide a fallback __cxa_thread_atexit() implementation

2016-06-30 Thread Ben Craig via cfe-commits
bcraig added a comment. Also, can you add test cases for a lot of these things? I don't expect test cases for the DSO side of things, but a lot of the tricky atexit cases should be covered. http://reviews.llvm.org/D21803 ___ cfe-commits mailing l

Re: [PATCH] D21991: [libunwind][ARM] Improve unwinder stack usage - Make WMMX support optional

2016-07-05 Thread Ben Craig via cfe-commits
bcraig added inline comments. Comment at: CMakeLists.txt:108 @@ -107,2 +107,3 @@ option(LIBUNWIND_ENABLE_CROSS_UNWINDING "Enable cross-platform unwinding support." OFF) +option(LIBUNWIND_ENABLE_ARM_WMMX "Enable unwinding support for ARM WMMX registers." ON) B

Re: [PATCH] D21803: [libcxxabi] Provide a fallback __cxa_thread_atexit() implementation

2016-07-05 Thread Ben Craig via cfe-commits
bcraig added inline comments. Comment at: src/cxa_thread_atexit.cpp:47 @@ +46,3 @@ +// called during the loop. +if (pthread_setspecific(dtors, ptr) != 0) { + abort_message("pthread_setspecific() failed during thread_local destruction"); The loop does

Re: [PATCH] D21968: [libcxx] Externally threaded libc++ variant - Take 2

2016-07-05 Thread Ben Craig via cfe-commits
bcraig added inline comments. Comment at: CMakeLists.txt:131 @@ -130,2 +130,3 @@ option(LIBCXX_HAS_MUSL_LIBC "Build libc++ with support for the Musl C library" OFF) -option(LIBCXX_HAS_PTHREAD_API "Ignore auto-detection and force use of pthread API" OFF) +option(LIBCXX_HAS_PTHRE

Re: [PATCH] D21803: [libcxxabi] Provide a fallback __cxa_thread_atexit() implementation

2016-07-05 Thread Ben Craig via cfe-commits
bcraig added inline comments. Comment at: test/thread_local_destruction_order.pass.cpp:54 @@ +53,3 @@ + std::thread{thread_fn}.join(); + + thread_local OrderChecker fn_thread_local{2}; tavianator wrote: > bcraig wrote: > > In the places where you can, validate t

Re: [PATCH] D21968: [libcxx] Externally threaded libc++ variant - Take 2

2016-07-06 Thread Ben Craig via cfe-commits
bcraig added a comment. LGTM. As usual, you'll want to get one of the code owner's sign off first though. http://reviews.llvm.org/D21968 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-com

Re: [PATCH] D21803: [libcxxabi] Provide a fallback __cxa_thread_atexit() implementation

2016-07-08 Thread Ben Craig via cfe-commits
bcraig added a comment. LGTM (with a comment nit), but you'll need to get approval from @ericwf or @mclow.lists. I would like some of the information from your stack overflow post to make it's way to the comments. In particular, I think I would like to see it documented that we have made a ch

Re: [PATCH] D17741: adds __FILE_BASENAME__ builtin macro

2016-02-29 Thread Ben Craig via cfe-commits
bcraig added a subscriber: bcraig. bcraig added a comment. Note: this doesn't count as an official "LGTM". The code change seems fine to me. I think this has been implemented in gcc as well, but I don't recall for certain. If this has been implemented in gcc, then I would expect the semantics

Re: [PATCH] D17741: adds __FILE_BASENAME__ builtin macro

2016-03-01 Thread Ben Craig via cfe-commits
bcraig added a comment. LGTM. You should probably wait for someone else to approve it though. http://reviews.llvm.org/D17741 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D17741: adds __FILE_BASENAME__ builtin macro

2016-03-01 Thread Ben Craig via cfe-commits
bcraig added a comment. In http://reviews.llvm.org/D17741#365457, @thakis wrote: > > I think we can do this separately. A "basename" macro is easier for > > programmers to use and no build system change needed. > > > Hm, I would think that adding a flag to your CFLAGS is easier than getting > a

[libcxxabi] r262717 - Reducing stack usage of test

2016-03-04 Thread Ben Craig via cfe-commits
Author: bcraig Date: Fri Mar 4 08:25:13 2016 New Revision: 262717 URL: http://llvm.org/viewvc/llvm-project?rev=262717&view=rev Log: Reducing stack usage of test This test has a lot of classes with large amounts of manually inserted padding in them, presumably to prevent various optimizations. T

Re: [PATCH] D17941: add fix-its for format-security warnings

2016-03-08 Thread Ben Craig via cfe-commits
bcraig added a comment. What about wprintf? Do we currently warn for wprintf(str)? If so, then the fixit probably needs to involve L"%ls". http://reviews.llvm.org/D17941 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.or

Re: [PATCH] D17941: add fix-its for format-security warnings

2016-03-08 Thread Ben Craig via cfe-commits
bcraig added a comment. LGTM. I don't have a lot of authority over this code, so you may want to get a separate LGTM from someone else. http://reviews.llvm.org/D17941 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cg

Re: [PATCH] D16544: [libcxx] Framework to allow testing of static libc++abi

2016-03-09 Thread Ben Craig via cfe-commits
bcraig added a comment. ping http://reviews.llvm.org/D16544 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D16545: [libcxxabi] Enable testing for static libc++abi

2016-03-09 Thread Ben Craig via cfe-commits
bcraig added a comment. ping http://reviews.llvm.org/D16545 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D17410: [libcxxabi] Respect LIBCXXABI_LIBDIR_SUFFIX before an install

2016-03-09 Thread Ben Craig via cfe-commits
bcraig added a comment. ping http://reviews.llvm.org/D17410 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D17419: [libcxx] Split locale management out of locale_win32. NFCI

2016-03-09 Thread Ben Craig via cfe-commits
bcraig added a comment. ping http://reviews.llvm.org/D17419 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D17456: [libcxx] Reorganize _LIBCPP_LOCALE__L_EXTENSIONS

2016-03-09 Thread Ben Craig via cfe-commits
bcraig added a comment. ping http://reviews.llvm.org/D17456 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D17416: [libcxx] Reorganize locale extension fallbacks. NFCI

2016-03-09 Thread Ben Craig via cfe-commits
bcraig added a comment. ping @danalbert http://reviews.llvm.org/D17416 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libcxx] r263016 - Reorganize _LIBCPP_LOCALE__L_EXTENSIONS

2016-03-09 Thread Ben Craig via cfe-commits
Author: bcraig Date: Wed Mar 9 09:39:39 2016 New Revision: 263016 URL: http://llvm.org/viewvc/llvm-project?rev=263016&view=rev Log: Reorganize _LIBCPP_LOCALE__L_EXTENSIONS Instead of checking _LIBCPP_LOCALE_L_EXTENSIONS all over, instead check it once, and define the various *_l symbols once. Th

Re: [PATCH] D17456: [libcxx] Reorganize _LIBCPP_LOCALE__L_EXTENSIONS

2016-03-09 Thread Ben Craig via cfe-commits
bcraig accepted this revision. bcraig added a reviewer: bcraig. bcraig added a comment. This revision is now accepted and ready to land. Committed http://reviews.llvm.org/D17456 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.ll

[libcxx] r263020 - Split locale management out of locale_win32. NFCI

2016-03-09 Thread Ben Craig via cfe-commits
Author: bcraig Date: Wed Mar 9 09:49:59 2016 New Revision: 263020 URL: http://llvm.org/viewvc/llvm-project?rev=263020&view=rev Log: Split locale management out of locale_win32. NFCI For the locale refactor, the locale management functions (newlocale, freelocale, uselocale) are needed in a separa

Re: [PATCH] D17419: [libcxx] Split locale management out of locale_win32. NFCI

2016-03-09 Thread Ben Craig via cfe-commits
bcraig accepted this revision. bcraig added a reviewer: bcraig. bcraig added a comment. This revision is now accepted and ready to land. Committed http://reviews.llvm.org/D17419 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.ll

Re: [PATCH] D17815: [libc++abi] Use fallback_malloc to allocate __cxa_eh_globals in case of dynamic memory exhaustion.

2016-03-14 Thread Ben Craig via cfe-commits
bcraig added a subscriber: bcraig. bcraig added a comment. LGTM. I don't know if that's good enough for a submit though :) In my opinion, requiring heap allocation during an exception is one of the worst parts of the Itanium ABI. At least this particular path isn't triggered for platforms wit

Re: [PATCH] D18174: Fix libcxx build on musl

2016-03-15 Thread Ben Craig via cfe-commits
bcraig added a comment. If I understand it correctly, __GLIBC__ is defined in features.h, so this won't work. I suspect that the build isn't broken. You likely just need to define LIBCXX_HAS_MUSL_LIBC on your cmake line. That will cause __config_site.in to #define _LIBCPP_HAS_MUSL_LIBC for y

Re: [PATCH] D18174: Fix libcxx build on musl

2016-03-15 Thread Ben Craig via cfe-commits
bcraig added a comment. The trouble is that features.h doesn't exist in musl (as far as I know). That's the biggest reason why _LIBCPP_HAS_MUSL_LIBC is needed. http://reviews.llvm.org/D18174 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

Re: [PATCH] D18174: Fix libcxx build on musl

2016-03-15 Thread Ben Craig via cfe-commits
bcraig added a comment. In http://reviews.llvm.org/D18174#375813, @raj.khem wrote: > I think my problem was that while compiling libcxxabi, it wants to peek into > libcxx headers but then libcxxabi cmake infra doesnt have the musl support > like libcxx. So Now I solved it by adding -D_LIBCPP_HA

Re: [PATCH] D17951: Implement is_always_lock_free

2016-03-18 Thread Ben Craig via cfe-commits
bcraig added a subscriber: bcraig. Comment at: include/atomic:859 @@ +858,3 @@ +template <> _LIBCPP_CONSTEXPR bool __libcpp_always_lock_free = 2 == ATOMIC_CHAR32_T_LOCK_FREE; +template <> _LIBCPP_CONSTEXPR bool __libcpp_always_lock_free = 2 == ATOMIC_WCHAR_T_LOCK_FREE; +template

Re: [PATCH] D17950: Implement is_always_lock_free

2016-03-18 Thread Ben Craig via cfe-commits
bcraig added inline comments. Comment at: lib/Frontend/InitPreprocessor.cpp:305 @@ +304,3 @@ +if (TypeWidth == TypeAlign && (TypeWidth & (TypeWidth - 1)) == 0 && +TypeWidth <= InlineWidth) + return Always; jyknight wrote: > jfb wrote: > > bcraig w

Re: [PATCH] D17950: Implement is_always_lock_free

2016-03-19 Thread Ben Craig via cfe-commits
bcraig added inline comments. Comment at: lib/Frontend/InitPreprocessor.cpp:305 @@ +304,3 @@ +if (TypeWidth == TypeAlign && (TypeWidth & (TypeWidth - 1)) == 0 && +TypeWidth <= InlineWidth) + return Always; jfb wrote: > bcraig wrote: > > jyknight w

Re: [PATCH] D17950: Implement is_always_lock_free

2016-03-19 Thread Ben Craig via cfe-commits
bcraig added a subscriber: bcraig. Comment at: lib/Frontend/InitPreprocessor.cpp:305 @@ +304,3 @@ +if (TypeWidth == TypeAlign && (TypeWidth & (TypeWidth - 1)) == 0 && +TypeWidth <= InlineWidth) + return Always; On some targets (like Hexagon), 4-by

Re: [PATCH] D17950: Implement is_always_lock_free

2016-03-19 Thread Ben Craig via cfe-commits
bcraig added a comment. > C++ atomics are explicitly designed to avoid problems with touching adjacent > bytes: if `atomic` where `sizeof(T) == 1` requires a 4-byte `cmpxchg` then > it's up to the frontend to make sure `sizeof> >= 4` (or something > equivalent such as making it non-lock-free).

Re: [PATCH] D17951: Implement is_always_lock_free

2016-03-20 Thread Ben Craig via cfe-commits
bcraig added a comment. Visual Studio has a flag, /Zc:wchar_t-, that turns wchar_t into a short. This flag is for people that need to maintain ABI compatibility with ancient Visual Studios (MSVC6? MSVC5?). It is definitely non-conformant, and many things support it poorly. I still have night

<    1   2   3   >