Commit Graph

154 Commits

Author SHA1 Message Date
Victor Zverovich
c15710032e Add debug postfix for libfmt (#636) 2018-01-20 06:47:12 -08:00
Victor Zverovich
6822466aa3 Handle nested braces in join (#638) 2018-01-20 06:26:22 -08:00
Victor Zverovich
c719d94473 Fix experimental/string_view detection 2018-01-13 07:57:33 -08:00
Tim Blechmann
0f98773164 add transition helper to format.h
the transition from v3 to v4 introduced an API change that format.h does
not provide printf functionality. to easi the transition we introduce a
define `FMT_FORMAT_PROVIDE_PRINTF` that will pull in printf.h from format.h
2017-12-27 21:48:55 -08:00
Victor Zverovich
319346025d Update version 2017-12-20 08:38:07 -08:00
Virgilio Alexandre Fornazin
5705bf1c71 Added support for pre-c++17 experimental string_view (#607)
Added support for pre-c++17 experimental string_view
2017-12-16 09:03:11 -08:00
Mike Crowe
62df6f27cb CMakeLists: Use GNUInstallDirs to set install location
CMake's GNUInstallDirs knows where particular Linux architectures and
distributions want to have their libraries installed. In particular,
Debian-derived "multi-arch" distributions keep their libraries in triplet
sudirectories under /lib. Other "bi-arch" distributions keep 64-bit
libraries in /lib64.

Including GNUInstallDirs and using CMAKE_INSTALL_LIBDIR and
CMAKE_INSTALL_INCLUDEDIR means that fmt's libraries and header files are
installed in the correct locations.

Tested with OpenEmbedded and on Debian GNU/Linux 9 (the special naming only
applies when installing in /usr.)
2017-11-13 22:01:41 -08:00
Victor Zverovich
493586cbca Fix overflow check 2017-11-12 07:09:36 -08:00
JP Cimalando
1d751bc617 fix warning in header: signed/unsigned comparison 2017-11-12 06:23:57 -08:00
Alex Alabuzhev
9982dd0130 Fix for warning C5030 in VS2015 2017-11-08 18:18:36 -08:00
virgiliofornazin
42e88c4fcb Silenced MSVC 2017 constant if expression warning 2017-11-05 12:27:48 -08:00
Ludek Vodicka
7a9c1ba190 FMT_VARIADIC_CONST - Support for const variadic methods (#591)
FMT_VARIADIC_CONST - Support for const variadic methods
2017-10-22 08:55:40 -07:00
Michael Winterberg
324415c036 Use allocator_traits if available.
This is to avoid using functionality deprecated in C++17.
2017-10-18 06:11:15 -07:00
Victor Zverovich
5f39721c0a Fix a warning 2017-10-15 14:58:41 -07:00
yumetodo
708d9509ff fix(Clang CodeGen): remove warnings
./fmt/fmt/format.h(308,10): warning : unknown pragma ignored [-Wunknown-pragmas]
         ^
1 warning generated.
format.cc In file included from fmt\fmt\format.cc:28:
fmt\fmt/format.h(308,10): warning : unknown pragma ignored [-Wunknown-pragmas]
         ^
fmt\fmt\format.cc(165,17): warning : 'strerror' is deprecated: This
function or variable may be unsafe. Consider using strerror_s instead.
To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for
details. [-Wdeprecated-declarations]
      buffer_ = strerror(error_code_);
                ^
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\string.h(178,24) :  note: 'strerror' has been explicitly marked deprecated here
_ACRTIMP char* __cdecl strerror(
                       ^
fmt\fmt\format.cc(78,37): warning : unused function 'strerror_s' [-Wunused-function]
static inline fmt::internal::Null<> strerror_s(char *, std::size_t, ...) {
                                    ^
3 warnings generated.

refactor: use attribute to remove -Wunused-function warnings instead of dummy function call
2017-10-15 07:04:45 -07:00
Victor Zverovich
9328a074b1 Fix handling of fixed enums in clang (#580) 2017-10-14 08:47:08 -07:00
Victor Zverovich
2c077dd442 Enable stream exceptions (#581) 2017-10-14 07:38:16 -07:00
Michael Winterberg
933a33a794 Added MSVC checking for support for string_view.
Also, driveby adding "override" to classes with inherited virtual destructors.
2017-10-08 19:44:09 -07:00
Victor Zverovich
bef89db6e7 Fix a bogus -Wduplicated-branches gcc warning (#573) 2017-09-27 19:32:53 -07:00
Mário Feroldi
2a619d96dd Make format work with C++17 std::string_view (#571)
Tests for C++17 std::string_view
2017-09-20 06:21:11 -07:00
Mário Feroldi
5de459bf33 Suppress Clang's warning on zero as a null pointer 2017-09-16 18:44:29 -07:00
Elnar Dakeshov
165895346c Make ArgMap::init not explicitly instantiated (#563)
Make ArgMap::init not explicitly instantiated
2017-09-03 19:26:08 -07:00
Victor Zverovich
3e75d3e001 Fix handling of types convertible to int 2017-09-02 07:08:19 -07:00
Alex Alabuzhev
89654cd127 to_wstring added 2017-08-27 18:52:57 +02:00
Victor Zverovich
37eb419af2 Fix noreturn attribute detection (#555) 2017-08-20 09:39:28 -07:00
Manu343726
14d8534900 Explicitly cast range length to std::size_t to prevent conversion warnings 2017-08-20 06:52:52 -07:00
Manu343726
c2201ce02e Accept wide chars as integers to prevent conversion warning 2017-08-20 06:52:52 -07:00
Mário Feroldi
d16c4d20f8 Suppress warning about missing noreturn attribute (#549)
Suppress warning about missing noreturn attribute

Adding `[[noreturn]]` to `report_unknown_type` suppresses the Clang/GCC `-Wmissing-noreturn` warning:

Clang outputs:

    .../fmt/fmt/format.cc:294:74: warning:
          function 'report_unknown_type' could be declared with
          attribute 'noreturn' [-Wmissing-noreturn]
      ...code, const char *type) {
                                 ^

GCC outputs:

    .../fmt/fmt/format.cc:294:74: warning: function might be candidate for
        attribute 'noreturn' [-Wsuggest-attribute=noreturn]
      ...code, const char *type) {
                                 ^
2017-07-21 20:47:01 -07:00
Bjorn Fahller
9c56a8ce5c Make format_arg() accept class hierarchies
If a base class can be formatted, it is assumed
that the hierarchy can be formatted from the base
class. The idiom is not uncommon with ostreams.
2017-07-18 06:16:46 -07:00
Alexander Bock
81790d726f Update format.h to remove C4574 error on MSVC 14.2
Similar to the Pullrequest #539, `_SECURE_SCL` caused the same  `warning C4574: '_SECURE_SCL' is defined to be '0': did you mean to use '#if _SECURE_SCL'`.  `_SECURE_SCL` is defined in the `MSVC/14.10.25017/include/yvals.h` by Microsoft itself
2017-07-14 15:29:57 -04:00
Lee, Byoung-young
3028344380 Fix undefined behavior in UDL macro
`FMT_USE_USER_DEFINED_LITERALS` macro expands to `defined()` which is undefined behavior.
2017-07-13 19:10:11 -04:00
Jonathan Müller
4045d7fea2 Fix warning about missing ' character 2017-07-11 20:45:17 +02:00
Alexander Bock
89c3bc585c Remove warning C4668 in MSVC for FMT_GCC_VERSION and FMT_HAS_GXX_CXX11 2017-07-10 13:59:08 -04:00
Victor Zverovich
589ccc1675 Bump version 2017-07-01 10:37:45 -07:00
Victor Zverovich
c38170461d Add an error on broken includes 2017-07-01 10:09:25 -07:00
Jonathan Müller
749ed39d79 Bump version number and update changelog 2017-06-25 19:40:23 +02:00
Alex Martin
aba72982df remove 'FMT_CPPFORMAT' CMake option 2017-06-25 08:08:26 -07:00
Victor Zverovich
e8ef103799 Fix undefined-var-template warning on clang when not compiling with -std=c++11 2017-06-25 07:49:31 -07:00
Alex Martin
5e23fff052 remove unnecessary method 2017-06-25 06:07:57 -07:00
Victor Zverovich
569c5bdbf1 Workaround broken __builtin_clz in clang with MS codegen (#519) 2017-06-17 07:57:07 -07:00
Mario Werner
ac5484c4e7 add alias targets with fmt namespace
For the consumer it should not matter if fmt has been added to the
project as subdirectory or via find_package. With the alias targets
the library can be always imported via fmt::fmt.
2017-05-25 14:36:16 +03:00
Bjoern Thiel
048d2aec27 CMake imported targets should be namespaced 2017-05-21 14:17:12 +03:00
Tomek Rozen
e14bac62a0 Changing ArgArray template argument from unsigned to size_t
Each instantiation of ArgArray template uses sizeof operator, which
returns a std::size_t value. GCC 7.1 warns about invalid conversion
(error: conversion to ‘unsigned int’ from ‘long unsigned
int’ may alter its value [-Werror=conversion]).
2017-05-20 07:19:16 +02:00
Victor Zverovich
07ed421521 Fix handling of implicit conversion to integral types larger than int (#507) 2017-05-06 10:23:20 -07:00
Victor Zverovich
c56d345985 Don't define WIN32_LEAN_AND_MEAN in header-only mode 2017-05-06 09:13:32 -07:00
Victor Zverovich
dcfd40a1b8 Revert #456
Revert #456 because it causes issues for known types (#495) and is not C++98-compatible.
2017-05-06 08:36:54 -07:00
Andreas Schönle
79f11dbaa7 Allow compiling and using as DLL in windows (#502)
* printf.h fixed to compile clean - need to check whether this is the right
thing to do

* fix warnings and errors in test compiles with BUILD_SHARED_LIBS

* did requested changes and added one change to allow all tests to succeed
in windows DLL
2017-05-05 14:58:09 +02:00
Jonathan Müller
52aabbe7ef Workaround MSVC lookup issue in ArgFormatterBase
Fixes #505.
2017-05-05 14:40:58 +02:00
Quentin Buathier
4423490d0b Don't include the world with WIN32_LEAN_AND_MEAN (#503) 2017-05-03 21:22:01 +02:00
郭荣飞
d49f206183 fmt::internal::is_streamable works on gcc 4.7
i test the the code on https://gcc.godbolt.org/, and only gcc 4.7 works,
gcc 4.6 fail to complie
2017-04-16 21:27:28 -07:00