1. 17 Oct, 2018 33 commits
  2. 16 Oct, 2018 7 commits
    • Yedidya Feldblum's avatar
      Pure C++ for TSAN annotation wrappers · 799a718f
      Yedidya Feldblum authored
      Summary:
      [Folly] Pure C++ for TSAN annotation wrappers, v.s. using the preprocessor.
      
      The implementation uses the preprocessor in order to support platforms without weak symbols, but the interface is now pure C++.
      
      Reviewed By: nbronson
      
      Differential Revision: D10291176
      
      fbshipit-source-id: 3636652793b8d0da59c7c9b1095d4c1b0c506372
      799a718f
    • Adam Simpkins's avatar
      cmake: define FOLLY_USE_LIBSTDCPP in folly-config.h · 07515573
      Adam Simpkins authored
      Summary:
      This setting is already set by FollyConfigChecks.cmake, but was not
      actually defined by folly-config.h
      
      This setting is only checked by a few of the concurrency tests.
      
      Reviewed By: igorsugak
      
      Differential Revision: D10405959
      
      fbshipit-source-id: 1602730e6adb7e05a82e65bdc5c367d105f59224
      07515573
    • Adam Simpkins's avatar
      cmake: explicitly link against libatomic when required · 4b0c7ff2
      Adam Simpkins authored
      Summary:
      When using clang with libstdc++ `-latomic` must be explicitly specified
      as part of the link command in order to get some of the symbols required
      for C++ std::atomic support.
      
      The old autoconf-based build did have this check (added in github commit
      60a5636b, D2519083).  However this check was missing from the
      CMake-based build.
      
      Reviewed By: igorsugak
      
      Differential Revision: D10405960
      
      fbshipit-source-id: 37291edc5a387e2e966ece79241aa00312194cbd
      4b0c7ff2
    • Dan Melnic's avatar
      Folly zerocopy improvements · 2d6a8fcb
      Dan Melnic authored
      Summary: Folly zerocopy improvements
      
      Reviewed By: djwatson
      
      Differential Revision: D10324653
      
      fbshipit-source-id: dacb2941e08eaf2e7588c04a01800e297a0643cf
      2d6a8fcb
    • Adam Simpkins's avatar
      support compiling with ASAN for CMake-based builds · a242bf16
      Adam Simpkins authored
      Summary: Update the CMake files to support compiling with ASAN.
      
      Reviewed By: igorsugak
      
      Differential Revision: D10401270
      
      fbshipit-source-id: 08c7fe3b661c17ba21fd8a8eb3b5cf716ebd3d35
      a242bf16
    • Lee Howes's avatar
      Remaining nullary continuation fixes for folly · 17c593f9
      Lee Howes authored
      Summary: then to thenValue to remove calls to deprecated functions.
      
      Reviewed By: yfeldblum
      
      Differential Revision: D10366311
      
      fbshipit-source-id: 99c4cd8bcfa2d9db80c2d8eb22300d92609a36fc
      17c593f9
    • Adam Simpkins's avatar
      Add a FOLLY_ASAN_ENABLED macro · af21e4d6
      Adam Simpkins authored
      Summary:
      Add a new macro to track if folly was compiled with ASAN enabled.  This
      is in addition to the existing FOLLY_SANITIZE_ADDRESS macro, which
      reports if the current .cpp file is being compiled with ASAN enabled.
      
      In particular, these macros differ in open source builds if folly was
      compiled without ASAN enabled, but some of its headers are being
      included from downstream libraries that are being built with ASAN
      enabled.
      
      Previously several headers would define structures differently based on
      `FOLLY_SANITIZE_ADDRESS`, which meant that different .cpp files would see
      different definitions of these structures.  `FOLLY_ASAN_ENABLED` is generally
      the correct macro to use for situations like this.
      
      This diff fixes F14Table.h to use FOLLY_ASAN_ENABLED, but several other
      headers probably should also be updated in the future.
      
      I did not change the behavior of FOLLY_SANITIZE_ADDRESS, since it appears to
      be used by several projects outside of folly, and they expect it to report if
      their code is being compiled with ASAN enabled.
      
      At the moment the open source build does not support compiling with ASAN,
      so FOLLY_ASAN_ENABLED is always disabled in open source builds.
      
      Reviewed By: nbronson
      
      Differential Revision: D10401271
      
      fbshipit-source-id: 7e028737b42eecae93f06538dcf76dd64bd32e6a
      af21e4d6