1. 29 Apr, 2017 4 commits
  2. 28 Apr, 2017 7 commits
  3. 27 Apr, 2017 6 commits
  4. 24 Apr, 2017 1 commit
  5. 21 Apr, 2017 1 commit
  6. 18 Apr, 2017 4 commits
    • fix android compilation (#372) · 09b93ccc
      Dmitry Trifonov authored
      * fix android compilation
      
      * checking __GLIBCXX__ and __GLIBCPP__ macro in addition to __ANDROID__
      
      * using vsnprintf instead of std::vsnprintf to compile on Android
      
      * removed __GLIBCPP__ check on Android
      
      * StringPrintF instead of std::to_string for Android
    • Don't limit benchmarks with manual timers to 5x the elapsed real time. · 46afd8e6
      Eric Fiselier authored
      When using CPU time to determine the correct number of iterations the
      library additionally checks if the benchmark has consumed 5x the minimum
      required time according to the wall clock. This prevents benchmarks
      with low CPU usage from running for much longer than actually intended.
      
      However when a benchmark uses a manual timer this heuristic isn't helpful
      and likely isn't correct since we don't know what the manual timer actually
      measures.
      
      This patch removes the above restriction when a benchmark specifies a manual
      timer.
    • Add Benchmark::Iterations for explicit iteration count control - Fixes #370 (#373) · 74b24058
      Eric authored
      * Add Benchmark::Iterations for explicitly specifying the number of iterations to use.
      
      * Document that benchmark::Iterations should not be used to limit benchmark runtimes
    • Enable <cassert> by removing -DNDEBUG when running the tests. · 7f87c98d
      Eric Fiselier authored
      In non-debug builds CMake automatically adds -DNDEBUG, this means
      that uses of `assert` in the tests are disabled for non-debug builds.
      Obviously we want these tests to run, regardless of configuration.
      
      This patch strips -DNDEBUG during non-debug builds and adds
      -UNDEBUG just to be sure.
  7. 10 Apr, 2017 1 commit
  8. 06 Apr, 2017 1 commit
  9. 04 Apr, 2017 5 commits
  10. 02 Apr, 2017 1 commit
    • Add CMake Package Config files during install · 824bbb81
      Giuseppe Roberti authored
      - Remove target_include_directories of ${PROJECT_SOURCE_DIR}/include to
        fix error: Target "benchmark" INTERFACE_INCLUDE_DIRECTORIES property
        contains path which is prefixed in the source directory.
  11. 01 Apr, 2017 1 commit
  12. 29 Mar, 2017 1 commit
  13. 28 Mar, 2017 4 commits
    • Add BENCHMARK_BUILD_32_BITS option and add builders to test it (#360) · 0dbcdf56
      Eric authored
      * Add BENCHMARK_BUILD_32_BITS option and add builders to test it
      
      * Attempt to fix travis configuration
      
      * Make add_required_cxx_compiler_flag cause an error when the flag isn't supported
      
      * add gcc-multilib dependancy on travis
      
      * attempt to fix travis.yml parsing error
      
      * Require g++-multilib instead of gcc-multilib
      
      * Add 32 bit release configurations
      
      * Attempt to fix libc++ travis build w/ 32 bits
      
      * Work around CMake configuration failure on Travis
    • Fix CPU frequency parsing on Linux (#355) (#356) · ec15860d
      MVafin authored
      * Fix reading CPU info from file
      
      Macro CHECK do nothing for release mode, meaning it doesn't invoke the
      arguments
      
      * Add myself to AUTHORS and CONTRIBUTORS
    • Replace int64_t usages with 'int' instead. (#359) · 94c512c0
      Eric authored
      Previously the constants used for converting between
      different units of time were declared using int64_t. However
      we should only use explicitly sized integer types when they
      are required, and should use 'int' everwhere else, and there is
      no good reason to use int64_t here.
      
      For that reason this patch changes the type of the constants.
      This should help address issue #354 as well.
    • Fix ICC compiler warnings (#358) · 9b92ed76
      rolandschulz authored
      fixes #354
      
      The build fails with ICC17 because of warnings and Werror. What is the correct solution to fix it?
      Should a patch
      
      disable Werror for ICC (or maybe all non known compilers)
      disable the false postive warnings for all files. This could be done using:
      add_cxx_compiler_flag(-wd2102) #ICC17u2: Many false positives for Wstrict-aliasing
      add_cxx_compiler_flag(-wd2259) #ICC17u2: non-pointer conversion from "long" to "int" may lose significant bits (even for explicit static cast, sleep.cc(44))
      add_cxx_compiler_flag(-wd654) #ICC17u2: overloaded virtual function "benchmark::Fixture::SetUp" is only partially overridden (because of deprecated overload)
      disable warnings at file level or some other granularity
  14. 14 Mar, 2017 1 commit
  15. 11 Mar, 2017 2 commits
    • Implement ClobberMemory() and fix DoNotOptimize on MSVC. (#352) · f682f7e9
      Eric authored
      I recently learned Windows provides a function called _ReadWriteBarrier
      which is literally ClobberMemory under a different name. This patch
      uses it to implement ClobberMemory under MSVC.
    • Fix std::string detection hack for SetLabel. · 8ae6448c
      Eric Fiselier authored
      Previously benchmark_api.h wasn't allowed to include standard library
      headers. For this reason SetLabel had a hack to accept std::string
      without including <string>. The hack worked by attempting to detect
      the injected class name `basic_string`. However Clang has changed
      it's behavior regarding injected class names so this hack no longer
      works.
      
      This patch removes the hack and replaces it with a function that
      actually names std::string. However we still cannot pass std::string
      across the dylib boundary because of libstdc++'s dual C++11 ABI.