- 20 May, 2013 16 commits
-
-
Owen Yamauchi authored
Summary: It doesn't exist on some systems (at least Mac OS X). We're only using it for __GNUC_PREREQ, which is easy to provide our own definition for. I moved the definitions of FOLLY_FINAL and FOLLY_OVERRIDE into folly-config.h so we can autoconf them in the open-source build. The hardcoded stuff for the internal build is a little ugly, unfortunately. folly can't be built with gcc versions earlier than 4.6, so that check in ThreadLocal.h is pointless by now. (Plus we use noexcept without a macro wrapper all over the place.) That stuff was also not clang-friendly. clang has supported static_assert since 2.9 and noexcept since... I'm not sure but at least 3.0. Test Plan: fbconfig/fbmake runtests, with gcc 4.6 and 4.7. clang can't build folly right now, but I verified separately that it supports noexcept and static_assert. Reviewed By: simpkins@fb.com FB internal diff: D799143
-
Hannes Roth authored
Summary: I am trying to move more code into a HPHP extension, and it's complaining about this. Test Plan: `fbconfig -r folly && fbmake runtests` Reviewed By: delong.j@fb.com FB internal diff: D799096
-
Owen Yamauchi authored
Summary: Discovered this while trying to build folly on OS X. It would print a warning about Boost being missing that got drowned out in the rest of the configure output, and then the build would fail. This makes the failure more friendly. Test Plan: `autoreconf; ./configure` on a system without boost installed; make sure configure fails and the last thing it prints is the boost error message. Reviewed By: delong.j@fb.com FB internal diff: D797389
-
Peter Griess authored
Summary: - Add some convenience methods for reading std::string objects via folly::Cursor Test Plan: - Unit tests Reviewed By: simpkins@fb.com FB internal diff: D795428
-
Tom Jackson authored
Summary: There are quite a few places where we split strings into a fixed number of fields. This enables this to be done a bit faster by not using any variable-length structures at runtime. Test Plan: Unit tests, Benchmarks Reviewed By: philipp@fb.com FB internal diff: D794523
-
Tudor Bosman authored
Summary: RecordIO provides an interface to write and read streams of variable-length records that is resilient in the face of failure and data corruption. If the stream is corrupted in any way, you will lose records, but the stream will resynchronize. We have one implementation of RecordIO reader/writer that reads from / writes to regular files (using mmap(), even for writes, so we can preserve state even in case of process death -- the buffer cache will flush things to disk eventually) and we expose enough of the guts (in a reasonably clean way) so you can build your own on top of other backends. Test Plan: test added Reviewed By: mmcurtiss@fb.com FB internal diff: D790275
-
Tudor Bosman authored
Summary: Test required a separate process, as fcntl locks are always re-granted to a process that holds the lock. Test Plan: new tests, all tests under folly Reviewed By: lucian@fb.com FB internal diff: D791370
-
Jordan DeLong authored
Summary: This wasn't building with an error from a warning about narrowing conversions---probably we didn't notice because it was previously broken due to folly docs being broken forever. Folly tests should always pass. (I want to add it to the fbcode-tests-must-pass commit hook.) Test Plan: fbmake runtests_opt in this platform, except with stl_tests turned off because it takes years to compile. Reviewed By: andrewjcg@fb.com FB internal diff: D792059
-
Tom Jackson authored
Summary: It was broken because the `dynamic`'s iterator wasn't complete. Test Plan: Unit test Reviewed By: jbrewer@fb.com FB internal diff: D793618
-
Tom Jackson authored
Test Plan: Unit tests Reviewed By: jbrewer@fb.com FB internal diff: D791149
-
Tom Jackson authored
Summary: Comparisons with values can lead to confusion, especially when the value itself is truthy. To avoid this confusion, I'm disabling comparison with contained value. Note that Optionals can still be constructed and assigned these values, but comparsion must be done separately for the container and the contained. Test Plan: Unit tests, contbuild Reviewed By: tudorb@fb.com FB internal diff: D783621
-
Tudor Bosman authored
Test Plan: ran it Reviewed By: lucian@fb.com FB internal diff: D787733
-
Adam Simpkins authored
Summary: The BucketedTimeSeries::rateHelper() function is generic, and not specific to the BucketedTimeSeries class. This diff moves it to folly/detail/Stats.h, so other parts of the stats code can access it as well. Test Plan: Ran the folly unit tests. Reviewed By: delong.j@fb.com FB internal diff: D778115
-
Adam Simpkins authored
Summary: Make rate() and countRate() more accurate when queried for a specific time range. Previously these functions divided the estimated sum/count by the entire time range specified. This underestimated the rate if we don't actually have data for the entire time period. (Since the sum computed only takes into account the time range for which we have data.) For example, if the timeseries duration was 60 seconds, but only 30 seconds of data had been entered so far, rate(now - 60, now) would underestimate the rate by half, since there was only 30 seconds worth of data available. The no-argument version of rate() did work correctly in that case. Test Plan: Added a new unit test for this behavior. Also fixed the existing rate test code, which had the same bug and expected the underestimated rate. Reviewed By: delong.j@fb.com FB internal diff: D778114
-
Philip Pronin authored
Summary: 21.4.2 [string.cons] / 23 says > If *this and str are the same object, the member has no effect. That means we have to support self-move-assignment. Test Plan: added test which triggered assertion, ran it Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D785057
-
Tudor Bosman authored
Test Plan: test added Reviewed By: delong.j@fb.com FB internal diff: D783100
-
- 21 Apr, 2013 22 commits
-
-
Tudor Bosman authored
Summary: Seems like a good idea. Test Plan: compiled all of folly Reviewed By: delong.j@fb.com FB internal diff: D783104
-
Tudor Bosman authored
Test Plan: fbconfig $(find folly -name test) && fbmake runtests_opt Reviewed By: tjackson@fb.com FB internal diff: D777186
-
Tudor Bosman authored
Summary: Now that the third_party link was updated in https://phabricator.fb.com/D778617, we're good. Test Plan: fbconfig -r thrift && fbmake runtests_opt Reviewed By: chip@fb.com FB internal diff: D778707
-
Tudor Bosman authored
Summary: Unbreak build. third-party link not yet updated after https://phabricator.fb.com/D776457 Test Plan: no Reviewed By: chip@fb.com FB internal diff: D778669
-
Tudor Bosman authored
Summary: Cleaned up from common/strings/URL.h, and it should be URI, not URL. Test Plan: tests added Reviewed By: chip@fb.com FB internal diff: D768880
-
Christian Kamm authored
Summary: impl_.e_ += newB - impl_.b_; fails when the difference between newB and impl_.b_ isn't a multiple of sizeof(T). Test Plan: . Reviewed By: oyamauchi@fb.com FB internal diff: D774754
-
Tudor Bosman authored
Summary: We can't throw after the process is created, because we don't know what to do with it (and the Subprocess object goes up in smoke, so we can't rely on the caller to clean up, either). So don't throw. If we throw before the process is created, make sure we clean up. Test Plan: subprocess_test Reviewed By: delong.j@fb.com FB internal diff: D774722
-
Philip Pronin authored
Summary: folly/Range.h is extensively used in fbcode, try to avoid including <iostream> (which is pretty heavy), include forward declarations (<iosfwd>) instead. Also transitioned it from 'std type_traits' + 'boost type_traits' to 'std type_traits'. Test Plan: compiled, ran tests Reviewed By: soren@fb.com FB internal diff: D774834
-
Adam Simpkins authored
Summary: Move Histogram.h into the stats/ subdirectory, along side the BucketedTimeSeries code. Eventually I plan to land more of our stats code in this subdirectory too. This also renames Histogram-inl.h to Histogram-defs.h, and no longer includes it by default from Histogram.h. Instead, this adds a new stats/Instantiations.cpp file which explicitly instantiates Histogram<int64_t> and BucketedTimeSeries<int64_t>. Most callers use these instantiations, and they now no longer need to include Histogram-defs.h. Only callers that need other instantiations need to include Histogram-defs.h. This will speed up build times. Test Plan: Ran "arc unit" to build all projects depending on folly, and verified they all still built and passed tests. Reviewed By: ldbrandy@fb.com FB internal diff: D761377
-
Marcelo Juchem authored
Summary: rebinding allocators is too cumbersome, this diff implements a helper to make this job easier. Test Plan: unit test added Reviewed By: tudorb@fb.com FB internal diff: D766451
-
Marcelo Juchem authored
Summary: currently, StlAllocator<Alloc, void> can't be used when you want an untyped allocator that can be rebound later since it doesn't carry the SimpleAllocator pointer with it. This diff fixes that. Test Plan: unit test added Reviewed By: jon.coens@fb.com FB internal diff: D766559
-
Michael Connor authored
Summary: Clang throws error because the callback refers to itself inside its lambda function definition. I prevent this by declaring the variable first then the compiler does not complain when it is used within its lambda definition. folly/test/TimeoutQueueTest.cpp:99:37: error: variable 'cb' is uninitialized when used within its own initialization [-Werror,-Wuninitialized] Test Plan: fbconfig --clang --platform=gcc-4.7.1-glibc-2.14.1 --with-project-version boost:1.51.0 folly/test/ fbmake opt fbmake runtests_opt Reviewed By: ldbrandy@fb.com FB internal diff: D753061
-
Jonathan Coens authored
Summary: Create an artificial limit on an arena to start throwing bad_alloc before running out of system memory Test Plan: adjust unit test Reviewed By: marcelo.juchem@fb.com FB internal diff: D762695
-
Marcelo Juchem authored
Test Plan: all folly unit tests Reviewed By: andrewjcg@fb.com FB internal diff: D757374
-
Marcelo Juchem authored
Summary: A traits class to check for incomplete types Test Plan: unit tests added Reviewed By: delong.j@fb.com FB internal diff: D760676
-
Lucian Grijincu authored
Summary: A smaller function makes it more likely it will be inlined (it wasn't before, is now). Test Plan: n/a Reviewed By: tudorb@fb.com FB internal diff: D759996
-
Lucian Grijincu authored
Summary: A smaller function makes it more likely it will be inlined (it wasn't before, is now). Test Plan: n/a Reviewed By: tudorb@fb.com FB internal diff: D760000
-
Marcelo Juchem authored
Summary: Implementing as_stl_allocator as a companion to the existing make_stl_allocator Test Plan: unit tests added Reviewed By: jon.coens@fb.com FB internal diff: D755207
-
Misha Shneerson authored
Summary: HPHP compiler treats warnings as errors and the unused 'constuctor' variable breaks the build. Test Plan: Build Reviewed By: simpkins@fb.com FB internal diff: D759559
-
Tudor Bosman authored
Summary: Non-portable. Test Plan: test added Reviewed By: lucian@fb.com FB internal diff: D755528
-
Tudor Bosman authored
Test Plan: compile: fbconfig folly/experimental/io/test thrift/test unicorn/io/test common/system_features common/concurrency && fbmake opt Reviewed By: soren@fb.com FB internal diff: D753552
-
Brett Simmers authored
Test Plan: Built a program that uses it Reviewed By: tudorb@fb.com FB internal diff: D753460
-
- 27 Mar, 2013 2 commits
-
-
Tudor Bosman authored
Test Plan: fbconfig --platform=gcc-4.7.1-glibc-2.14.1-fb folly/test && fbmake runtests_opt Reviewed By: oyamauchi@fb.com FB internal diff: D749992
-
Louis Brandy authored
Summary: Two clang warnings. It wants user defined consturctor for static initialization, and it wants fwd-declare to agree with full decleration in regards to struct v class. Test Plan: `fbconfig --clang --platform=gcc-4.7.1-glibc-2.14.1 folly/test/` And make sure it doesn't break normal build. Reviewed By: tulloch@fb.com FB internal diff: D749857
-