1. 06 Feb, 2020 1 commit
  2. 01 Feb, 2020 1 commit
  3. 31 Jan, 2020 1 commit
  4. 30 Jan, 2020 1 commit
    • Milian Wolff's avatar
      Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) · 314e1500
      Milian Wolff authored
      Make FMT_API symbols use the default visibility on non-Windows
      platforms. Otherwise, one cannot use the generated fmt library when
      compiling globally with -fvisibility=hidden.
      
      Fixes compile errors like:
      
      ```
      ../3rdParty/fmt/include/fmt/core.h:757: error: undefined reference to 'fmt::v6::internal::assert_fail(char const*, int, char const*)'
      ```
      
      Note that the symbol exists, but is local:
      
      ```
      $ nm -C libfmtd.so.6.1.3  | grep assert_fail
                       U __assert_fail
      0000000000233ffa t fmt::v6::internal::assert_fail(char const*, int, char const*)
      ```
      
      With this patch, the compile error is gone and the symbol is properly
      exported:
      
      ```
      $ nm -a bin/libfmtd.so -C | grep assert_fail
                       U __assert_fail
      00000000002366ba T fmt::v6::internal::assert_fail(char const*, int, char const*)
      ```
      
      Change-Id: I96054e622d9a2ae81907e1b01a1033e629767a91
      314e1500
  5. 27 Jan, 2020 2 commits
  6. 24 Jan, 2020 1 commit
    • zeffy's avatar
      Fix formatting std::chrono::duration types to wide strings (#1533) · 1acb73f9
      zeffy authored
      * Fix formatting chrono durations to wide strings
      
      * Make format buffers const correct
      
      * Add FormatWide chrono test case
      
      * Fix incorrect wide encoding of 'µs'
      I think might be a source file encoding issue, so I used \u00B5 instead.
      
      * Update FormatWide test to use proper encoding of µs
      
      * Revert changes to format_localized's parameters
      
      * Use different overload of `std::time_put<T>::put` to avoid needing a format string
      
      * Use utf8_to_utf16 instead of having redundant overloads of get_units
      
      * Revert some minor changes
      
      * Remove FMT_CONSTEXPR from expression
      
      This should hopefully fix compilation on VS <2019
      
      * Make suggested changes from code review
      
      * Run clang-format on chrono.h
      
      * Make sure unit isn't null before constructing a string_view from it
      1acb73f9
  7. 23 Jan, 2020 3 commits
  8. 22 Jan, 2020 1 commit
    • Greg Sjaardema's avatar
      Fix so can work without locale defined · 25d6916b
      Greg Sjaardema authored
      If `FMT_STATIC_THOUSANDS_SEPARATOR` defined, then locale is not included or defined, so this call will be unresolved.  I think this is the correct fix based on the code in `format-inl.h` and `format.h`
      25d6916b
  9. 20 Jan, 2020 6 commits
  10. 19 Jan, 2020 2 commits
  11. 18 Jan, 2020 4 commits
  12. 17 Jan, 2020 5 commits
  13. 15 Jan, 2020 7 commits
    • Victor Zverovich's avatar
      Remove redundant braces · 1f110702
      Victor Zverovich authored
      1f110702
    • Jason Turner's avatar
      Avoid namespace clash for fmt · 4ccbe4b5
      Jason Turner authored
      ## Problem
      
      In the case of an existing `fmt` namespace (in my project this looks like `Project::fmt`) it is possible to get a namespace clash in debug builds (MSVC 2017)
      
      ## Proposed Solution
      
      When referencing `fmt` internally, be explicit that it is relative to the global namespace using `::fmt`
      4ccbe4b5
    • Greg Sjaardema's avatar
      Use C++11 compatible std::is_same operations · 40638a75
      Greg Sjaardema authored
      The `operator()` member function of `std::is_same` was added in C++14.  For C++11, the `::value` needs to be used instead.
      40638a75
    • Victor Zverovich's avatar
    • Greg Sjaardema's avatar
      Work-around for nvcc · 4bbe57ce
      Greg Sjaardema authored
      The nvcc compiler (at least up to 9.2) defines `__SIZEOF_INT128__`, but doesn't support 128-bit integers on device code:
      ```
      error: "fmt::v6::format_arg_store<fmt::v6::basic_format_context<std::back_insert_iterator<fmt::v6::internal::buffer<char>>, char>, const char *, int, const char *>" contains a 128-bit integer, which is not supported in device code
      ```
      4bbe57ce
    • Greg Sjaardema's avatar
      Use C++11-compatible operations · 55b61300
      Greg Sjaardema authored
      The `std::is_base_of<T,U>()` and `std::is_reference<T>()` member functions were added in C++14.  To maintain C++11 compatibility, use the `::value` instead.
      
      Current code fails on intel-17 and other compilers if using strict C++11
      55b61300
    • Greg Sjaardema's avatar
      Fix for older versions of intel compiler · ae3ea156
      Greg Sjaardema authored
      The intel-17 and intel-18 compilers seem to require that `u` be `const`:
      ```
      /src/fmt/format.h(226): warning #437: reference to local variable of enclosing function is not allowed
              char data[sizeof(u)];
      ```
      If `u` is declared as `const auto u =1u` instead of just `auto u=1u`, the file compiles with no warnings.
      ae3ea156
  14. 14 Jan, 2020 1 commit
  15. 12 Jan, 2020 1 commit
  16. 09 Jan, 2020 1 commit
  17. 08 Jan, 2020 2 commits