- Dec 28, 2016
-
-
Eric Fiselier authored
llvm-svn: 290655
-
Eric Fiselier authored
llvm-svn: 290654
-
Eric Fiselier authored
llvm-svn: 290653
-
Eric Fiselier authored
llvm-svn: 290652
-
Eric Fiselier authored
This patch implements changes to allow _LIBCPP_ASSERT to throw on failure instead of aborting. The main changes needed to do this are: 1. Change _LIBCPP_ASSERT to call a handler via a replacable function pointer instead of calling abort directly. Additionally this patch implements two handler functions, one which aborts and another that throws an exception. 2. Add _NOEXCEPT_DEBUG macro for disabling noexcept spec on function which contain _LIBCPP_ASSERT. This is required in order to prevent assertion failures throwing through a noexcept function. This macro has no effect unless _LIBCPP_DEBUG_USE_EXCEPTIONS is defined. Having a non-aborting _LIBCPP_ASSERT is very important to allow sane testing of debug mode. Currently we can only have one test case per file, since the test case will cause the program to abort. Testing debug mode this way would require thousands of test files, most of which would be 95% boiler plate. I don't think this is a feasible strategy. Fortunately using a throwing debug handler solves these issues. Additionally this patch rewrites the documentation for debug mode. llvm-svn: 290651
-
Kostya Serebryany authored
Summary: All easy-to-find bugs in cxa_demangle where fixed now (https://bugs.chromium.org/p/chromium/issues/detail?id=606626) except for one (https://llvm.org/bugs/show_bug.cgi?id=31031). Now I'd like to properly integrate this fuzzer with the source tree and then run the fuzzer continuously on https://github.com/google/oss-fuzz Reviewers: compnerd, mclow.lists, mehdi_amini Subscribers: cfe-commits, mgorny Differential Revision: https://reviews.llvm.org/D28133 llvm-svn: 290650
-
Chandler Carruth authored
when they are call edges at the leaf but may (transitively) be reached via ref edges. It turns out there is a simple rule: insert everything as a ref edge which is a safe conservative default. Then we let the existing update logic handle promoting some of those to call edges. Note that it would be fairly cheap to make these call edges right away if that is desirable by testing whether there is some existing call path from the source to the target. It just seemed like slightly more complexity in this code path that isn't strictly necessary. If anyone feels strongly about handling this differently I'm happy to change it. llvm-svn: 290649
-
Craig Topper authored
[InstCombine] Remove a piece of a comment that said that InstCombiner contains pass infrastructure. That hasn't been true since r226618. NFC llvm-svn: 290648
-
Richard Smith authored
to make reference to template parameters. This is only a partial implementation; we retain the restriction that the argument must not be type-dependent, since it's unclear how that would work given the existence of other language rules requiring an exact type match in this context, even for type-dependent cases (a question has been raised on the core reflector). llvm-svn: 290647
-
Chandler Carruth authored
r290644. Sorry for this. llvm-svn: 290646
-
Chandler Carruth authored
due to a call cycle. This actually crashed the ref removal before. I've added a unittest that covers this kind of interesting graph structure and mutation. llvm-svn: 290645
-
Chandler Carruth authored
currenty relies on the old PM's dependency system forming LCSSA. The new PM will require a different design for this, and for now this is causing most of the issues I'm currently seeing in testing. I'd like to get to a testable baseline and then work on re-enabling things one at a time. llvm-svn: 290644
-
Evgeniy Stepanov authored
Summary: Reduce RSS size treshold in the unit test to accomodate for the smaller ASAN quarantine size on Android (see D27873). Reviewers: eugenis Patch by Alex Shlyapnikov. Subscribers: danalbert, kubabrecka, llvm-commits Differential Revision: https://reviews.llvm.org/D28132 llvm-svn: 290643
-
Michael Kuperstein authored
llvm-svn: 290642
-
Michael Kuperstein authored
This adds a combine that canonicalizes a chain of inserts which broadcasts a value into a single insert + a splat shufflevector. This fixes PR31286. Differential Revision: https://reviews.llvm.org/D27992 llvm-svn: 290641
-
Kostya Serebryany authored
[libFuzzer] add an experimental flag -experimental_len_control=1 that sets max_len to 1M and tries to increases the actual max sizes of mutations very gradually (second attempt) llvm-svn: 290637
-
Eric Fiselier authored
llvm-svn: 290636
-
Evgeniy Stepanov authored
llvm-svn: 290635
-
Kostya Serebryany authored
llvm-svn: 290634
-
Malcolm Parsons authored
llvm-svn: 290633
-
Evgeniy Stepanov authored
llvm-svn: 290632
-
David Blaikie authored
This seems like it must've been a leftover by accident - no tests were backing it up & it doesn't make much sense to include size/alignment on class declarations (it'd only be on those declarations for which the definition was available - otherwise the size/alignment would not be known). llvm-svn: 290631
-
Malcolm Parsons authored
llvm-svn: 290630
-
Vitaly Buka authored
llvm-svn: 290629
-
Kostya Serebryany authored
llvm-svn: 290628
-
Eric Fiselier authored
llvm-svn: 290627
-
Vitaly Buka authored
[compiler-rt] Move logic which replace memcpy interceptor with memmove from asan to sanitizer_common. Reviewers: eugenis Subscribers: kubabrecka, dberris, llvm-commits Differential Revision: https://reviews.llvm.org/D28074 llvm-svn: 290626
-
Richard Smith authored
Add warning flag for "partial specialization is not more specialized than primary template" error (since Eigen hits it), and while I'm here also add a warning flag for "partial specialization is not usable because one or more of its parameters cannot be deduced" warning. llvm-svn: 290625
-
Eric Fiselier authored
llvm-svn: 290624
-
Hemant Kulkarni authored
llvm-svn: 290623
-
Kostya Serebryany authored
[libFuzzer] fix UB and simplify the computation of the RNG seed (https://llvm.org/bugs/show_bug.cgi?id=31456) llvm-svn: 290622
-
Vitaly Buka authored
Reviewers: ahatanak, eugenis, myatsina Subscribers: kubabrecka, zizhar, llvm-commits Differential Revision: https://reviews.llvm.org/D28128 llvm-svn: 290621
-
Chandler Carruth authored
analysis handles become invalid. Add a test case for its invalidation logic. llvm-svn: 290620
-
Ekaterina Romanova authored
Added \n commands to insert a line breaks where necessary, since one long line of documentation is nearly unreadable. Formatted comments to fit into 80 chars. In some cases added \a command in front of the parameter names to display them in italics. llvm-svn: 290619
-
Saleem Abdulrasool authored
Fix a warning detected by gcc 6: warning: cast from type 'const void*' to type 'uint8_t* {aka unsigned char*}' casts away qualifiers [-Wcast-qual] llvm-svn: 290618 -
Saleem Abdulrasool authored
Convert the verify method to use a few more range based for loops, converting to const iterators in the process. llvm-svn: 290617
-
Saleem Abdulrasool authored
Replace the use of grep with FileCheck. Tidy up some of the tests. A few of the tests have been left as weak as previously, though some have been made more stringent. llvm-svn: 290616
-
Davide Italiano authored
llvm-svn: 290615
-
Chandler Carruth authored
There is no need to do this within an analysis. That method shouldn't even be reached if this predicate holds as the actual useful optimization is in the analysis manager itself. llvm-svn: 290614
-
Chad Rosier authored
llvm-svn: 290613
-