- 26 Nov, 2013 13 commits
-
-
Peter Griess authored
Summary: - Add generated .cpp files to CLEANFILES so that they get swept up during 'make clean' and friends Test Plan: - autoreconf -i && ./configure && make check && make clean Reviewed By: davejwatson@fb.com FB internal diff: D1066270
-
Peter Griess authored
Summary: - Prior to this fix, the test relied upon begin() being evaluated after the fbstring constructor (even thoug the order of evaluation of function arguments is un-defined). When this assumption was violated, begin() ended up with an iterator that was invalid since it points to data internal to fbstring, and the fbstring copy constructor can end up triggering re-allocation in the source. Test Plan: - fbconfig -r folly && fbmake runtests - ./configure && make check on Ubuntu/FC/Mac Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D1014093
-
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 19 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
-