- 28 Aug, 2013 18 commits
-
-
Andrew Gallagher authored
Test Plan: compiled using gcc-4.8 Reviewed By: meyering@fb.com FB internal diff: D923895
-
Jim Meyering authored
Summary: This is required for gcc-4.8.x. Use boost::has_trivial_destructor, not std::has_trivial_destructor. The latter was never standard, and the now-std name (and the only one supported in gcc-4.8.0) is std::is_trivially_destructible. Test Plan: fbmake runtests and then run_unit_tests.sh with -r and again with -d Reviewed By: njormrod@fb.com FB internal diff: D923359 @override-unit-failures
-
Tudor Bosman authored
Summary: davejwatson: you asked Test Plan: test added Reviewed By: davejwatson@fb.com FB internal diff: D917336
-
Andrew Gallagher authored
Summary: This reverts commit 49b197dfd02443e958906bac45059cea460e4e10. Test Plan: contbuild Reviewed By: akhilravidas@fb.com FB internal diff: D915386 @override-unit-failures
-
Bob Haarman authored
Summary: Clang doesn't like the same member of a class being defined more than once, or default argument values being defined more than once. This diff removes some instances. @override-unit-failures Test Plan: Compiled the code with Clang and GCC Reviewed By: andrewjcg@fb.com FB internal diff: D913226
-
Tom Jackson authored
Summary: For dealing with sequences of pointers. Works with pointer wrappers, and filters out nullptrs, see tests. Test Plan: Unit tests Reviewed By: tulloch@fb.com FB internal diff: D914069
-
Tom Jackson authored
Summary: `apply()` returns false if and only if the handler it was //directly// passed returned false. `Take` didn't do this right, and `Until` was just broken. Test Plan: More thorough unit tests. Reviewed By: kittipat@fb.com FB internal diff: D913185
-
Philip Pronin authored
Summary: In clang (as of 3.2) intrinsics aren't `constexpr`. Test Plan: fbconfig folly/test:bits_test && fbmake opt -j32 fbconfig --clang folly/test:bits_test && fbmake opt -j32 Reviewed By: lucian@fb.com FB internal diff: D910310
-
Kittipat Virochsiri authored
Summary: Convert stream of elements to stream of fixed-sized vectors. Test Plan: unit tests Reviewed By: tjackson@fb.com FB internal diff: D912290
-
Dave Watson authored
Summary: Dave Watson put this in github a few months ago. Test Plan: None Reviewed By: delong.j@fb.com FB internal diff: D912681
-
Tudor Bosman authored
Summary: Threads and fork still don't mix, but we shouldn't help you shoot yourself in the foot if you decide to do it. Test Plan: test added Reviewed By: mshneer@fb.com FB internal diff: D911224
-
Tom Jackson authored
Summary: For repeating a generator's values endlessly. Test Plan: Unit tests Reviewed By: kittipat@fb.com FB internal diff: D911178
-
Andrew Tulloch authored
Summary: Complains about ``` In file included from crypto/lib/cpp/CryptoException.cpp:1: In file included from crypto/lib/cpp/CryptoException.h:5: In file included from ./folly/Conv.h:30: ./folly/Range.h:573:19: error: redefinition of default argument Comp eq = Comp()) { ^ ~~~~~~ ./folly/Range.h:55:26: note: previous definition is here Comp eq = Comp()); ^ ~~~~~~ ``` Redefinition of default arguments is not allowed in C++. Test Plan: ``` fbconfig --clang admarket/adpublisher && fbmake dbg ``` contbuild, etc. Reviewed By: lucian@fb.com FB internal diff: D910800
-
Josh Metzler authored
Summary: qfind(haystack, needle) is templated, but used a non-templated default comparator that cast everything to char. This works find for 8-bit types, but not for others such as the uint32_t Ranges we are using. Replace the default comparator with std::equal<> to use a working comparator for whatever type is being searched. Test Plan: Compiles, unit tests (including a new one that fails with the old code) pass. Not sure how to test other users of this, or measure performance impact. :( Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D906311
-
Sean Cannella authored
Summary: - memrchr is GNU + Linux specific, it turns out Test Plan: - compiled on FreeBSD, contbuild Reviewed By: delong.j@fb.com FB internal diff: D900935
-
Sean Cannella authored
Summary: - fix folly compilation on FreeBSD Github Author: Martin Matuska <martin@matuska.org> Test Plan: - compiled Reviewed By: tudorb@fb.com FB internal diff: D896747
-
Tudor Bosman authored
Summary: A bunch of MPMCQueues linked together. Stage i produces exactly Ki (default 1) outputs for each input. Ordering is preserved, even though stages might produce (intermediate or final) results in parallel and in any order; we do this by abusing the enqueueing mechanism in MPMCQueue. (Read the code for details) Test Plan: test added, more tests to be written before commit Reviewed By: ngbronson@fb.com FB internal diff: D892388
-
Nathan Bronson authored
Summary: Like size(), sizeGuess() is allowed to return a negative value, so it should be ssize_t instead of uint64_t. Test Plan: fbmake, wait for contbuild Reviewed By: tudorb@fb.com FB internal diff: D893075
-
- 18 Jul, 2013 8 commits
-
-
Hans Fugal authored
Summary: "Wouldn't this test case still pass if the hash function didn't depend on the value? It would be nice to verify that different tuple values produce different hash values (or maybe there's another test that verifies that), especially since this is a tricky thing to get right." I think there's not much chance of this failing since it's just leveraging hash_combine and that's already tested. But it's easy to add another sanity check, so here we are. Test Plan: runtests Reviewed By: tulloch@fb.com FB internal diff: D890448 Blame Revision: D888796
-
Hans Fugal authored
Summary: Add hash support for std::tuple. See also D490478 (where a first attempt was made) and D543586 (where that attempt was deemed broken and removed). Test Plan: unit test Reviewed By: chip@fb.com FB internal diff: D888796
-
Sean Cannella authored
Summary: fix OSX compat issues Github Author: Daniel Sloof <goapsychadelic@gmail.com> Test Plan: - compiled Reviewed By: pt@fb.com FB internal diff: D877309
-
Chip Turner authored
Summary: Apparently the templates don't like to match the initlializer list, so this needed to be added. This allows for things like: auto s = join(":", {val1, val2, val3, val4, val4}); Test Plan: run tests Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D878032
-
Tom Jackson authored
Summary: For handling exceptions from downstream operations. Now with cleaner build. Test Plan: Unit tests, including those outside `folly`. Reviewed By: marcelo.juchem@fb.com FB internal diff: D877795 Blame Revision: https://phabricator.fb.com/D872581
-
Chip Turner authored
Summary: Looks like D880140 left off this part when it was committed. This fixes the build. Test Plan: runtests Reviewed By: vini@fb.com FB internal diff: D881445
-
Andrei Alexandrescu authored
Summary: This should fix the build breakage in hphp caused by the latest fbstring changes (after being ported to engshare). Note that I'm flying blind here; I couldn't test with the hphp build because I don't have write access to engshare. @agallagher could you please make sure that this works after the fix? fbconfig -r hphp && fbmake dbg Test Plan: tested on folly Reviewed By: tudorb@fb.com FB internal diff: D880140
-
Andrei Alexandrescu authored
Summary: Adds the eponymous C++11 capability to fbstring. Test Plan: fbstring runtests Reviewed By: tudorb@fb.com FB internal diff: D867995
-
- 09 Jul, 2013 5 commits
-
-
Tom Jackson authored
Summary: Introduced a new serialization option, `allow_trailing_comma`, which allows trailing commas to be included in strings when they are parsed. This isn't strictly allowed by RFC 4627, but we're allowing more than that anyway. I've run into this dozens of times, especially while using SMC. Test Plan: Unit tests Reviewed By: delong.j@fb.com FB internal diff: D872581
-
Chip Turner authored
Summary: Clean revert. Please be more careful; phabricator warned you these would break the build. Test Plan: build something that wasn't working Reviewed By: myang@fb.com FB internal diff: D877526
-
Tom Jackson authored
Summary: For handling exceptions from downstream operations. Test Plan: Unit tests Reviewed By: marcelo.juchem@fb.com FB internal diff: D874344
-
Philip Pronin authored
Summary: * added move assignment operators, * fixed `operator=(const Synchronized& rhs)` (it had a typo), * fixed deadlock on self-assignment, * changed `swap` to call `swap(lhs.datum_, rhs.datum_)` instead of `lhs.datum_.swap(rhs.datum_)`. Test Plan: fbconfig -r folly/test && fbmake opt -j32 && fbmake runtests_opt Reviewed By: delong.j@fb.com FB internal diff: D875977
-
Sean Cannella authored
Summary: - conditionally compile rfind overrides - conditionally add support for timed_mutex/recursive_timed_mutex Test Plan: - compiled on OSX - unit tests Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D872272
-
- 01 Jul, 2013 5 commits
-
-
Sean Cannella authored
Summary: - Noticed this due to an -fpermissive compiler warning while compiling HHVM for OSX (complaint of trying to cast int to char*) Test Plan: - Compiled - Confirmed the build warning is fixed by this on the Mac OS X build Reviewed By: tudorb@fb.com FB internal diff: D865169
-
Tom Jackson authored
Summary: It only makes sense to be able to go the other direction, too. Test Plan: Unit tests Reviewed By: delong.j@fb.com FB internal diff: D785282
-
Tom Jackson authored
Test Plan: Unit tests Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D865951
-
Nathan Bronson authored
Summary: MPMCQueue<T> is a high-performance bounded concurrent queue that supports multiple producers, multiple consumers, and optional blocking. The queue has a fixed capacity, for which all memory will be allocated up front. The bulk of the work of enqueuing and dequeuing can be performed in parallel. To make an MPMCQueue<T>, T must satisfy either of two conditions: - it has been tagged FOLLY_ASSUME_FBVECTOR_COMPATIBLE; or - both the constructor used during enqueue and the move operator are marked noexcept. This diff extracts the generic component from tao/queues/ConcurrentQueue and renames identifiers to match those of existing folly queues. It also includes an extraction of Futex, which wraps the futex syscall, and DeterministicScheduler, which allows for deterministic exploration of thread interleavings for components built from std::atomic and Futex. Test Plan: new unit tests Reviewed By: tudorb@fb.com FB internal diff: D866566
-
Tom Jackson authored
Test Plan: Use it Reviewed By: tudorb@fb.com FB internal diff: D865211
-
- 26 Jun, 2013 4 commits
-
-
Louis Brandy authored
Summary: We have an off-by-one in our enable_if/sfinae logic here. We do not want to actually do the comparison in `less_than` when the rhs is exactly the minimum possible lhs. This results in a tautological comparison. I added a unit test for these traits that test all the various sfinae cases. Test Plan: See the clang tautological warnings go away. Under gcc, rerun all tests. All pass. Reviewed By: marcelo.juchem@fb.com FB internal diff: D856869
-
Tudor Bosman authored
Summary: Don't use two atomic variables when only one will suffice (otherwise, the increments in doNotify() and prepareWait() would require memory_model_seq_cst, because they need to globally order a store before a load, and no weaker model allows you to do that) Of course, this makes this 64-bit only, but I don't care. Test Plan: eventcount_test, tests outside of folly Reviewed By: delong.j@fb.com FB internal diff: D858963
-
Tudor Bosman authored
Summary: 8-bit StringPiece comparisons are broken. The reason is char_traits is magic for 'char', but not 'const char'. Test Plan: test added Reviewed By: chip@fb.com FB internal diff: D861521
-
Tudor Bosman authored
Test Plan: used it Reviewed By: soren@fb.com FB internal diff: D859244
-