- 28 Aug, 2013 33 commits
-
-
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: gcc 4.6 doesn't know of -Wmaybe-uninitialized, so it reports a warning, which we treat as an error. Test Plan: compiled folly/test folly/experimental/test with gcc 4.6.2, 4.7.1, 4.8.1 Reviewed By: philipp@fb.com FB internal diff: D945766
-
Tudor Bosman authored
Summary: gcc 4.8 is picky Test Plan: folly tests, compiled unicorn with gcc 4.8 Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D945336
-
Jim Meyering authored
Summary: This is part of what's required to make mcrouter compile warning-free with gcc -Wshadow. In case it's not obvious why this is worth doing, see t2719164. I've used two techniques: rename one of the shadowed variables bracket offending code with #pragma directives to disable the warning there. * folly/Bits.h (BitIterator): Guard this function with #pragma to avoid a warning about its member-shadowing "bitOffset" parameter. * folly/Memory.h (StlAllocator): Rename parameter in trivial, one-line function definition, s/alloc/a/, to avoid shadowing the member function. Let me know if you'd prefer #pragma directives instead. * folly/io/Cursor.h (pull,skip,clone): Rename parameter, s/length/len/, not to shadow the member function name. Test Plan: build and run tests of a few tools that use these headers Reviewed By: jon.coens@fb.com FB internal diff: D940493
-
Tudor Bosman authored
Test Plan: built producer_consumer_queue_test with gcc 4.7.1 @override-unit-failures Reviewed By: chip@fb.com FB internal diff: D942465
-
Sara Golemon authored
Summary: Boost's version is 4.8 safe. std's version changes name Test Plan: hhvm builds Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D883508
-
Tudor Bosman authored
Summary: https://github.com/facebook/folly/issues/35 @override-unit-failures hphp tests independently broken Test Plan: test added Reviewed By: delong.j@fb.com FB internal diff: D939323
-
Lucian Grijincu authored
Summary: Previous implementation only printed the desired state, not the actual runtime state. Fix that. Test Plan: n/a Reviewed By: tudorb@fb.com FB internal diff: D936279
-
Philip Pronin authored
Test Plan: fbconfig -r folly/test && fbmake opt -j32 Reviewed By: tjackson@fb.com FB internal diff: D935182
-
Philip Pronin authored
Test Plan: fbconfig folly/test:file_test && fbmake runtests_opt Reviewed By: soren@fb.com FB internal diff: D932782
-
Tudor Bosman authored
Summary: Also important spelling mistakes. @override-unit-failures Test Plan: string_test Reviewed By: tjackson@fb.com FB internal diff: D930037
-
Tudor Bosman authored
Test Plan: test added Reviewed By: alandau@fb.com FB internal diff: D928836
-
Tudor Bosman authored
Test Plan: test added Reviewed By: alandau@fb.com FB internal diff: D928835
-
Jordan DeLong authored
Summary: There appears to be a race here. leizha reported issues with a heavily recycled AtomicHashMap (ThreadCachedInt inside). It looks like what's happening is this: - Thread A: ~ThreadCachedInt from an AHM - meta lock is taken, and the ThreadElement list is iterated - all entries are zerod, and the id is marked free - then releases the lock - Thread B: someone is calling get() on an unrelated id - hit reserve: rallocm on the pointer or unsynchronized memcpy from the element vector - waits on the lock - when it gets the lock, it stores back the value that it read that was zero'd by A. Later, someone reuses the id from the freelist, and reuses the previously freed pointer, and eventually double-freeing it. (nullptr is the signifier for "this thread doesn't have an instance of the threadlocal yet"). Test Plan: leizha's test case doesn't segv after this diff---it was reliably breaking with corruption in malloc before it. I'm working on making that test case into a unit test to add to this diff, but I'm putting it up early in case there's something wrong with the theory above or in case someone has an idea for a better fix. Reviewed By: tudorb@fb.com FB internal diff: D928534
-
Jim Meyering authored
Summary: With gcc-4.8.[01], the argument to __attribute__((__aligned__(...))) must be a literal; using an enum member evokes this: ./folly/MPMCQueue.h:341:63: error: requested alignment is not an \ integer constant size_t capacity_ FOLLY_ON_NEXT_CACHE_LINE; Changing the enum member to this made no difference: static constexpr size_t kFalseSharingRange = 64; Test Plan: compile tao and run test suite Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D926221 @override-unit-failures
-
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 7 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
-