- 26 Nov, 2013 11 commits
-
-
Peter Griess authored
Summary: - Apple platforms either have different __thread behavior than Linux: on i386 __thread values are zeroed out before the destructor provided to pthread_key_create(3) is called; on ARM, __thread isn't supported at all. To handle this, use pthread_getspecific(3) to manage the array of IDs on these platforms only. Test Plan: - fbconfig -r folly && fbmake runtests - ./configure && make check on Ubuntu/FC/Mac Reviewed By: simpkins@fb.com FB internal diff: D1008923
-
Peter Griess authored
Summary: - It turns out that it's not always desirable to perform runtime resolution of weak symbols. For example, on iOS, weak symbols are resolved at runtime only if *all* symbol resolution is deferred util then, which is undesirable for othe reasons. Detect such platforms at configure time and use that information to populate detail/Malloc.h with the correct declarations: weak symbols or extern symbols with a value of nullptr. Test Plan: - fbconfig -r folly && fbmake runtests - ./configure && make check on Ubuntu/FC/Mac Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D1002959
-
Peter Griess authored
Summary: - Clang's libc++ doesn't provide these header files. Detect libc++ via the _LIBCPP_VERSION symbol (pulling it in by sourcing some header files earlier if necessary) and avoid using these files. Test Plan: - fbconfig -r folly && fbmake runtests - ./configure && make check on Ubuntu/FC/Mac Reviewed By: andrewjcg@fb.com FB internal diff: D998595
-
Ben Maurer authored
Summary: Adding const avoids a copy constuctor. Test Plan: Unit tests, new benchmark: toJson 1.83us 546.15K toJson 1.54us 649.98K Reviewed By: tudorb@fb.com FB internal diff: D1071781
-
Stephen Chen authored
Summary: Broken in D1054291 Test Plan: build adpublisher in clang mode which was one of the two projects that failed to build. Reviewed By: bmaurer@fb.com FB internal diff: D1067652 @override-unit-failures
-
Stephen Chen authored
Summary: Port TimeseriesHistogram from common/stats to folly. Similarly to MultiLevelTimeSeries and Histogram classes we've converted before. Test Plan: Ported the old unittest for TimeseriesHistogram from common/stats to folly/test. The same unittest is left in tact and is still passing as well. Ran all tests in folly/test and common/stats Reviewed By: simpkins@fb.com FB internal diff: D1054291
-
Dave Watson authored
Summary: Missed these on the first pass because they're generated Test Plan: Built open source folly, links Reviewed By: pgriess@fb.com FB internal diff: D1062451
-
Tudor Bosman authored
Summary: Test compressing low-entropy (constant) data as well. Test Plan: ran it Reviewed By: tuomas.pelkonen@fb.com FB internal diff: D1061444 @override-unit-failures
-
Tudor Bosman authored
Summary: See https://www.facebook.com/groups/fbcode/permalink/601496126553897/ Test Plan: contbuild Reviewed By: ldbrandy@fb.com FB internal diff: D1055852 @override-unit-failures some hphp_dbg tests postponed for 1.5 days, all other hphp tests (including some hphp_dbg ones) are passing
-
Tom Jackson authored
Summary: There's a bit of a gotcha here, let's provide at least a note on this. Test Plan: Unit tests Reviewed By: tudorb@fb.com FB internal diff: D1058244
-
Daniel Marinescu authored
Summary: Added SCOPE_FAIL and SCOPE_SUCCESS macros in non-portable C++. The macros are similar to D's scope(failure) and scope(success). Currently the supported platforms are GCC and MSVC. For all others, std::uncaught_exception() is used, which will fail if the macros are used in a destructor called during stack unwinding. @override-unit-failures Test Plan: 1. Added new unit test to ScopeGuardTest.cpp. 2. Ran fbconfig -r folly && fbmake dbg 3. Ran _build/dbg/folly/test/scope_guard_test to make sure my unit test was running and passing. Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D1033621
-
- 13 Nov, 2013 1 commit
-
-
Yasser Ganjisaffar authored
Summary: This two header files are missing from the Makefile which make the open source version broken. Test Plan: code using open source version compiles Reviewed By: meyering@fb.com FB internal diff: D1050326
-
- 06 Nov, 2013 6 commits
-
-
Tudor Bosman authored
Summary: Because I needed it. Test Plan: test added Reviewed By: delong.j@fb.com FB internal diff: D1032179
-
denisspb authored
Summary: just added few words about Subprocess. Reviewed By: delong.j@fb.com Test Plan: none
-
Avani Nandini authored
Summary: as per summary @override-unit-failures Test Plan: run unit tests Reviewed By: delong.j@fb.com FB internal diff: D1031726
-
Alex Landau authored
Summary: GCC can't compile code that passes a MoveWrapper into a lambda in some cases. For example if the capture list has [someConstObject, myMoveWrapper], gcc 4.7 fails. This specific case works with gcc 4.8, but other cases (e.g. [this, myMoveWrapper]) still fail. This diff is a hack that makes code like that compile. It can be removed, along with MoveWrapper itself once we move to C++14 with its extended lambda syntax. Test Plan: fbmake Reviewed By: hans@fb.com FB internal diff: D1032585
-
Dave Watson authored
Summary: Update Makefile.am with recent files. Leaves out io/Compression because it uses lz4, of which there are no prebuilt packages for ubuntu (didn't check fedora, but I assume it is the same story there) Test Plan: on ubuntu 12.10, ./configure, make, make install Reviewed By: tudorb@fb.com FB internal diff: D1030008
-
Dave Watson authored
Summary: Add MoveWrapper to folly. @override-unit-failures Test Plan: arc unit Reviewed By: hans@fb.com FB internal diff: D1030005
-
- 25 Oct, 2013 1 commit
-
-
Sara Golemon authored
Summary: Other inclusions of folly-config.h watch for this. It must have been missed when this file was added. Test Plan: Fixes Mac OSX build. Reviewed By: seanc@fb.com FB internal diff: D1028354
-
- 24 Oct, 2013 20 commits
-
-
Sara Golemon authored
Summary: MemoryMapping.cpp uses DEFINE_int64() from gflags, but doesn't include it anywhere. @override-unit-failures Test Plan: OSS build failure goes away Reviewed By: seanc@fb.com FB internal diff: D1026364
-
Andrey Goder authored
Summary: Pretty sure it was meant to be this way... @override-unit-failures Test Plan: n/a Reviewed By: tudorb@fb.com FB internal diff: D1020789
-
Philip Pronin authored
Summary: Amortized cost of `TypedIOBuf::push()` is `O(N)` at this moment. Unless we're using jemalloc where we can rely on `realloc()`. In this diff we switch to exponential growth otherwise. Test Plan: built unicorn/test with ASan (and thus without jemalloc), ran end-to-end tests and verified we no longer spend minutes to build di4 @override-unit-failures Reviewed By: tudorb@fb.com FB internal diff: D1015233
-
Philip Pronin authored
Summary: Code that is using ifunc dies with SIGSEGV on startup when used with ASan. Here is gdb output: {P2882504} Seems like `ifunc` dispatch is happening before ASan is initialized, but ASan instrumentation logic being called from there. Test Plan: built affected unicorn binaries with ASan, ran them, verified there is no more SIGSEGV Reviewed By: meyering@fb.com FB internal diff: D1013420
-
Rajat Goel authored
Summary: I dont know whats the expected behavior but for std::string it seems to work. @override-unit-failures Test Plan: unit-tests [ RUN ] FBString.findWithNpos folly/test/FBStringTest.cpp:1147: Failure Value of: fbstr.find(":", fbstring::npos) Actual: 9 Expected: fbstring::npos Which is: 18446744073709551615 Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D1012870
-
Nicholas Ormrod authored
Summary: Instead of defining throw to nothing, define it to something which creates a grepable error message (re @tudorb in D1005889). @override-unit-failures Test Plan: fbconfig -r folly fbmake dbg && fbmake runtests && fbmake opt && fbmake runtests_opt All tests passing. Added throw to a few places in FBString; noticed that error messages were produced, and that they contained the defined text. Those changes not committed. Reviewed By: tudorb@fb.com FB internal diff: D1011963
-
Philip Pronin authored
Summary: * `push_back()` fails for medium strings of zero capacity if not linked with jemalloc (see added test), * we incorrectly initiliaze capacity when acquire mallocated string (forgot about null terminator). Test Plan: fbconfig --allocator=malloc folly/test:fbstring_test_using_jemalloc && fbmake runtests_opt @override-unit-failures Reviewed By: tudorb@fb.com FB internal diff: D1012196
-
Jim Meyering authored
Summary: * folly/Portability.h: Move the definitions that Tao uses into a new file, and include that new file here. * folly/AddressSanitizer.h: New file. * tao/server/config.h: Include that small new file, rather than all of folly's Portability.h Test Plan: fbconfig -r tao/server && tao/server/tests/run_unit_tests.sh -d --save-log=log For folly, watch the arc-run tests. Reviewed By: pgriess@fb.com FB internal diff: D1011800 @override-unit-failures
-
Sathya Gunasekar authored
Summary: D1008921 broke compilation for tao which uses folly/Portability.h This diff guards the change for only c++ code. Not sure if this breaks the definition of portability. Test Plan: Compile tao, fbconfig -r folly and fbmake runtests Reviewed By: simpkins@fb.com FB internal diff: D1010967 @override-unit-failures
-
Peter Griess authored
Summary: - We were inadvertantly emitting a superfluous comma when generating the configure script, causing it warn on execution. This was caused by separating two AC_DEFINE() invocations w/ a comma. Test Plan: - fbconfig -r folly && fbmake runtests - ./configure && make check on Ubuntu/FC/Mac Reviewed By: meyering@fb.com FB internal diff: D1008924
-
Peter Griess authored
Summary: - The EXPECT_EQ(vec.capacity(), vec2.capacity()) check is implicitly testing how the platform's malloc() and malloc_usable_size() implementations interact. We know that small_vector will attempt to allocate storage for 3 elements via malloc(), but the small_vector implementation then uses malloc_usable_size() to determine capacity, which can return more than the size requested by malloc(). As a result, capacity may grow more than expected depending on how the malloc implementation works. Test Plan: - fbconfig -r folly && fbmake runtests - ./configure && make check on Ubuntu/FC/Mac Reviewed By: alandau@fb.com FB internal diff: D1008922
-
Peter Griess authored
Summary: - Sadly, boost::has_trivial_copy<T> is not a suitable replacement for std::is_trivially_copyable<T> on libc++. Fortunately, the latter is actually supported (and works), so use it directly. Test Plan: - fbconfig -r folly && fbmake runtests - ./configure && make check on Ubuntu/FC/Mac Reviewed By: delong.j@fb.com FB internal diff: D1008921
-
Peter Griess authored
Summary: - This test verifies the behavior of std::string(0), which the GNU library expects to throw an std::logic_error. Other libraries may have other behaviors; libc++ segfaults. Test Plan: - fbconfig -r folly && fbmake runtests - ./configure && make check on Ubuntu/FC/Mac Reviewed By: simpkins@fb.com FB internal diff: D1003125
-
Peter Griess authored
Summary: - We had a bug where AC_COMPILE_IFELSE() invocations weren't using the same -std=XXX flags that we're using in our actual build. This happened because we made these checks before figuring out which flag to use. - Stop setting -std=XXX flags in CPPFLAGS. It's only useful for CFLAGS/CXXFLAGS. Test Plan: - fbconfig -r folly && fbmake runtests - ./configure && make check on Ubuntu/FC/Mac Reviewed By: meyering@fb.com FB internal diff: D1003972
-
Peter Griess authored
Summary: - Only declare the Range constructor as a constexpr if strlen() is also a constexpr. Otherwise, we'll get compilation errors. Test Plan: - fbconfig -r folly && fbmake runtests - ./configure && make check on Ubuntu/FC/Mac Reviewed By: soren@fb.com FB internal diff: D1003124
-
Peter Griess authored
Summary: - Some installations of libstdc++ don't have this defined. This happens if they were built without --enable-libstdcxx-time. Detect this and avoid tests that rely on this behavior. Test Plan: - fbconfig -r folly && fbmake runtests - ./configure && make check on Ubuntu/FC/Mac Reviewed By: meyering@fb.com FB internal diff: D1002963
-
Peter Griess authored
Summary: - Explicitly detect use of libc++ in configure.ac and reflect this in folly-config.h. Do this rather than looking for to pop up organically _LIBCPP_VERSION since this only exists if we've included some libc++ header files prior to refernce. This isn't always the case, e.g. in Portability.h. Test Plan: - fbconfig -r folly && fbmake runtests - ./configure && make check on Ubuntu/FC/Mac Reviewed By: simpkins@fb.com FB internal diff: D1002958
-
Peter Griess authored
Summary: - Mach doesn't support clock_getres(3) or clock_gettime(3). Provide our own implementations by wrapping mach_timebase_info() and mach_absolute_time(). - Detect availability of of -lrt at configure time and don't link with it if it's not available. On Linux, this is what provides clock_gettime(3) and friends. Test Plan: - fbconfig -r folly && fbmake runtests - ./configure && make check on Ubuntu/FC/Mac Reviewed By: meyering@fb.com FB internal diff: D999131
-
Nicholas Ormrod authored
Summary: folly/PLATFORM is the last fbcode platform on gcc-4.6.2. Before pushing, I ran arc unit from my devserver (see Test Plan). Phabricator's test run has a lot of aborted test cases, which are indicative of a failing test framework. Arc unit had been intermittently broken when running my own tests. Overriding Phabricator's unit test failures: @override-unit-failures Test Plan: (1) fbconfig -r folly/ -- build and runtsts in dbg and opt. Everything is passing. (2) arc unit, look at each failed result Some builds/tests are failing. Most seem unrelated. Of the rest, one is also failing on master, and the others did not fail during a second run. Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D1005889
-
Philip Pronin authored
Test Plan: fbconfig -r folly/io && fbmake opt -j32 && fbmake runtests_opt @override-unit-failures Reviewed By: soren@fb.com FB internal diff: D1005735
-
- 15 Oct, 2013 1 commit
-
-
Peter Griess authored
Summary: - For some reason, Boost's internals aren't considering this lambda a type that's castable. Cast it to a function pointer before using it. Test Plan: - fbconfig -r folly && fbmake runtests - ./configure && make check on Ubuntu/FC/Mac - _bin/folly/test/string_test --benchmark Reviewed By: alandau@fb.com FB internal diff: D998594
-