- May 17, 2018
-
-
Arseny Kapoulkine authored
This is implicitly true due to the following section, but that was written before C++11 so this does deserve a special mention in ranged for section as well. Fixes #210.
-
- Apr 27, 2018
-
-
Arseny Kapoulkine authored
This setup can interfere with existing workflows in two ways: - If the target application used CMake and configured custom postfixes, this change would override them - If the target application did *not* use CMake, it'd have to abide by these conventions even if the target configuration used is unexpected - for example, the default "preferred" configuration is frequently RelWithDebugInfo, not Release, which now has a postfix. Fixes #198.
-
- Apr 15, 2018
-
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
This might have helped a bit with confusion in #195.
-
- Apr 12, 2018
-
-
Arseny Kapoulkine authored
Add example code
-
Arseny Kapoulkine authored
We no longer need to specify the license boilerplate verbatim since we have a separate file.
-
- Apr 11, 2018
-
-
Alexander Straub authored
-
Arseny Kapoulkine authored
Also rename LICENSE to LICENSE.md
-
Bruno Pagani authored
Also fix two http → https occurrences.
-
- Apr 09, 2018
-
-
Eli Schwartz authored
There's really never a reason to *not* want this installed. If an option is needed to specify installing in a versioned subdirectory, this option should be explicitly described rather than hidden in something else. As an added bonus, this makes the CMake install code slightly *less* complicated.
-
- Apr 04, 2018
-
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
We need bad_alloc that lives in <new>, not <exception>.
-
Arseny Kapoulkine authored
pugixml.hpp wasn't including the <exception> header in this build but test code needed it.
-
Arseny Kapoulkine authored
-
- Apr 03, 2018
-
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
gcc-8 produces "attribute directive ignored" warning for no_sanitize("unsigned-integer-overflow"); at some point gcc will introduce integer sanitizer support and we'll have to do this all over again but for now just don't emit the attribute.
-
Arseny Kapoulkine authored
-
- Mar 29, 2018
-
-
Arseny Kapoulkine authored
-
- Mar 17, 2018
-
-
Arseny Kapoulkine authored
Mention ubsan fixes; these fixes probably fix compact mode on some 64-bit architecture where unaligned pointer reads aren't valid as well but it's probably not very relevant...
-
Arseny Kapoulkine authored
Several tests got the buffer size wrong when sizeof(char_t)>1, and one test didn't meet the carefully tuned allocation criteria under compact mode due to the hash table usage and had to be changed a bit.
-
Arseny Kapoulkine authored
We were using << compact_alignment_log2 instead of * compact_alignment for symmetry with the encoding where >> is crucial to keep code fast and round to negative infinity. For decoding, the results are the same and any reasonable compiler should convert *4 into <<2 so just use a multiplication - that doesn't trigger UB on negative numbers.
-
- Mar 16, 2018
-
-
Arseny Kapoulkine authored
We were using allocate_memory to allocate struct xml_extra_buffer that contains pointers; with compact mode, this allocation can be misaligned by 4b with 8b pointers; fix this by manually realigning the pointer.
-
Arseny Kapoulkine authored
We were misaligning document data on 64-bit platforms by placing 8b pointers at 4b offsets; fix this by reserving a full pointer worth of bytes for page marker.
-
Arseny Kapoulkine authored
Define noexcept using _MSC_VER instead of _MSC_FULL_VER (first release of MSVC 2015 should have it), remove redundant PUGIXML_HAS_NOEXCEPT and define PUGIXML_NOEXCEPT_IF_NOT_COMPACT in terms of PUGIXML_NOEXCEPT.
-
- Mar 13, 2018
-
-
Arseny Kapoulkine authored
Still trying to decide if the next version should be 1.9 or 1.8x and what other changes need to go in.
-
- Mar 03, 2018
-
-
Matthäus Brandl authored
* Adds noexcept specifiers to the move special members of xml_document, but only #ifndef PUGIXML_COMPACT
-
- Mar 02, 2018
-
-
Matthäus Brandl authored
* Adds a macro definition to be able to use noexcept with supporting compilers * Adds noexcept specifier to move special members of xpath_node_set, xpath_variable_set and xpath_query, but not of xml_document as it has a throwing implementation
-
- Feb 27, 2018
-
-
Arseny Kapoulkine authored
Enables usage of override specifier for MSVC compilers
-
Brandl, Matthäus (MBR) authored
Enables usage of override specifier for MSVC compilers (beginning with 17.0 which is the compiler of Visual Studio 2012)
-
Arseny Kapoulkine authored
Texas Instruments compiler produces this warning for unused template member functions: "pugixml.cpp", line 253: warning #179-D: function "pugi::impl::<unnamed>::auto_deleter<T>::release [with T=pugi::impl::<unnamed>::xml_stream_chunk<char>]" was declared but never referenced As far as I can tell, this is a compiler issue - these functions should not be instantiated in the first place; while it's possible to rework the code to work around this, the changes would be fragile. It seems best to just disable this warning - we've seen something similar on SNC (which appears to use the same frontend!..). Fixes #182.
-
- Feb 22, 2018
-
-
Arseny Kapoulkine authored
It looks like there are several cases where this might happen: - In some MinGW distributions, the LLONG_MIN/etc defines are guarded with: #if !defined(__STRICT_ANSI__) && defined(__GNUC__) Which means that you don't get them in strict ANSI mode. The previous workaround was specifically targeted towards this. - In some GCC distributions (notably GCC 6.3.0 in some configurations), LLONG_MIN/etc. defines are guarded with: #if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) But __STDC_VERSION__ isn't defined as C99 even if you use -std=c++14 - which is probably technically valid, but not useful. To work around this, redefine the symbols whenever we are building with GCC and we need them and they aren't defined - doing this is better than not building. Instead of hard-coding the constants, use GCC-specific __LONG_LONG_MAX__ to compute them. Fixes #181.
-
- Jan 29, 2018
-
-
Arseny Kapoulkine authored
Cmake touchups
-
Ben Boeckel authored
-
Ben Boeckel authored
-
- Jan 23, 2018
-
-
Arseny Kapoulkine authored
-
- Jan 08, 2018
-
-
Arseny Kapoulkine authored
-