Commit Graph

561 Commits

Author SHA1 Message Date
Michael Winterberg
7185e96da1 Fixed issues with MSVC emulations of clz and clzll.
Both clang-cl and Clang/C2 #define _MSC_VER but also have support for __builtin_clz and __builtin_clzll, leading to duplicate macro definition warnings. Emulation of clz using _BitScanReverse is suppressed if the builtins are already available.

Additionally, the value of the output parameter of _BitScanReverse is undefined if the input value is 0, which is avoided by construction, so the code analysis warning for using uninitialized data is now suppressed.
2016-01-05 16:03:06 -08:00
Michael Winterberg
251a0869be Fixed macro redefinition warnings when compiling with clang-cl.
Both clang-cl and Clang/C2 #define _MSC_VER but also have support for __builtin_clz and __builtin_clzll, leading to duplicate macro definition warnings. This change suppresses emulation of clz using _BitScanReverse if the __clang__ macro is defined.
2016-01-01 18:07:06 -08:00
Nicholas Hutchinson
1a5a1708b7 Add fprintf overload that writes to a std::ostream
For completeness, add an overload for printf that takes a std::ostream.
2015-12-23 15:59:13 +13:00
vitaut
4797ca025e POD -> trivially copyable/constructible 2015-12-20 07:29:59 -08:00
Dean Moldovan
b098306839 Replace template recursion with array initialization 2015-12-19 18:19:18 +01:00
Dean Moldovan
a721319e3a Add MakeArg constructor for Arg 2015-12-19 18:19:18 +01:00
vitaut
29726cefb8 Remove extra '*'s 2015-12-18 07:30:03 -08:00
vitaut
0629d76bb0 Fallback to sized integer types on MSVC if stdint.h is not available 2015-12-18 07:20:05 -08:00
vitaut
1042ddda0f Document BasicFormatter 2015-12-18 07:07:41 -08:00
vitaut
1cba0aea27 Simplify CMake config and do minor adjustments
for consistency with used coding conventions.
2015-12-10 07:24:23 -08:00
Maciej Dems
c47318afa8 Declarations for shared library in Windows.
Added __declspec(dllimport) and __declspec(dllexport) declarations
when compiled in Windows.
2015-12-10 13:36:18 +01:00
vitaut
ecd52bc610 Fix for a bogus MSVC warning (#244) 2015-12-09 08:57:29 -08:00
vitaut
5c76d107cb Fix MSVC build 2015-12-06 14:17:34 -08:00
vitaut
98c1f76f24 Replace uninitialized_copy with memmove (#242)
because the memory areas may overlap.
2015-12-06 07:44:07 -08:00
vitaut
e7f4566dd4 Replace <algorithm> with <memory>
~20% faster compile time on bloat-test
2015-12-04 22:57:36 -08:00
vitaut
e0179ee190 Fix a warning and remove extra newline 2015-12-04 17:52:36 -08:00
vitaut
e567fe6960 Replace "!!" with "!= 0" for readability 2015-12-04 17:52:06 -08:00
vitaut
7c60db1e24 Fix a warning 2015-12-04 14:12:42 -08:00
vitaut
535dbdd1c8 Move formatter methods to the header
and improve naming consistency
2015-12-03 09:38:06 -08:00
vitaut
6ced4230f4 Initial support for custom formatters 2015-12-02 08:41:05 -08:00
Johan 't Hart
328c8888ec Make compilable under Visual Studio 2008
Older Visual Studio versions are not shipped with stdint.h
2015-12-01 09:34:13 +01:00
Johan 't Hart
df2dfd9612 Silence some performance warnings in Visual Studio 2015-12-01 08:59:59 +01:00
vitaut
7cbb29f61e Make FormatBuf::size() const 2015-11-25 08:27:46 -08:00
vitaut
053df632f8 Minor simplification and adjustment of coding style for consistency
in custom stream buffer implementation:

* basic_formatbuf -> internal::FormatBuf
* remove unused Traits template argument
2015-11-25 08:00:57 -08:00
vitaut
222f2d28f5 Fix MSVC warnings 2015-11-25 07:47:43 -08:00
vitaut
f60c4b9947 Fix an MSVC warning (#234) 2015-11-25 07:17:05 -08:00
vitaut
0519737b95 Don't use _ecvt (#233) 2015-11-25 07:11:28 -08:00
vitaut
9a08fb52bf Fix compilation with clang and old libstdc++ 2015-11-24 09:13:48 -08:00
Michael Kasperovich
8265263c5d Remove unnecessary stuff. 2015-11-24 09:09:09 -08:00
Michael Kasperovich
d266adf805 Implement custom stream buffer (#92) 2015-11-24 09:06:33 -08:00
vitaut
6cff6d8137 Use overloaded operator<< for enums if available (#232) 2015-11-24 08:18:19 -08:00
vitaut
646829e34d Fix MSVC warnings 2015-11-21 07:31:00 -08:00
vitaut
8beadace37 Improve detection of isinf, isnan and getsign 2015-11-21 07:20:18 -08:00
vitaut
223575b567 Tyop 2015-11-20 08:28:29 -08:00
vitaut
ee3e68dc16 Improve compatibility with bcc32 2015-11-20 08:14:10 -08:00
vitaut
e5d599875c Improve compatibility with bcc32 2015-11-20 07:56:16 -08:00
vitaut
b53994fd0d Suppress a warning 2015-11-20 07:49:29 -08:00
vitaut
fd1753484e Fix example 2015-11-19 07:23:43 -08:00
vitaut
6606971aae Improve compatibility with bcc32 2015-11-18 08:42:09 -08:00
vitaut
31aced8b59 Improve compatibility with bcc32 2015-11-18 08:04:04 -08:00
vitaut
1dd5e035eb Simplify signbit 2015-11-18 07:38:05 -08:00
vitaut
0219d5591b Improve compatibility with bcc32 2015-11-17 08:53:15 -08:00
vitaut
3a2f91bd58 Fallback to ecvt if _ecvt_s is not available. 2015-11-17 08:35:30 -08:00
vitaut
c1a8dfe555 Improve detection of signbit 2015-11-17 07:40:22 -08:00
Victor Zverovich
d9e0f5c04e Merge pull request #229 from LogicalKnight/fix_intel_warning
Fix warning when using Intel C++ on OS X
2015-11-13 16:48:34 -08:00
vitaut
7dcf05108e Move cstddef include to format.cc and refactor Buffer::append 2015-11-13 06:52:13 -08:00
Sean L
32f0295460 Fix warning when using Intel C++ on OS X
Unfortunately, Intel's C++ compiler defines `__clang__` which means that
some of the pragmas in use that Intel C++ doesn't use will cause
warnings to be generated.
2015-11-13 08:01:59 -05:00
vitaut
0550f1217c Store unsigned char value in uint_value instead of int_value 2015-11-11 06:45:27 -08:00
vitaut
8b86a74ad5 Allow formatting C strings as pointers (#223) 2015-11-09 07:17:36 -08:00
vitaut
7c24973637 Format (un)signed char as integer by default (#217) 2015-11-05 20:46:22 -05:00