- Oct 25, 2015
-
-
Arseny Kapoulkine authored
The tests now compile fine but crash on the first floating-point exception despite our attempts to disable them in main()...
-
- Oct 17, 2015
-
-
Arseny Kapoulkine authored
Fix "this decimal constant is unsigned only in ISO C90".
-
Arseny Kapoulkine authored
Since they don't contribute to the resulting value just skip them before parsing. This matches the behavior of strtol/strtoll and results in more intuitive behavior.
-
- Oct 10, 2015
-
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
-
- Oct 06, 2015
-
-
Arseny Kapoulkine authored
This makes sure we get linking errors whenever a symbol is not marked as inline in header-only mode.
-
- Sep 21, 2015
-
-
Arseny Kapoulkine authored
This matches the format strtol supports.
-
- Sep 20, 2015
-
-
Arseny Kapoulkine authored
These tests are only testing attribute as_int in hopes that xml_text uses the same underlying implementation (which it does).
-
- Sep 19, 2015
-
-
Arseny Kapoulkine authored
They were still using Windows EOL by mistake
-
- Jul 25, 2015
-
-
Arseny Kapoulkine authored
Previously test allocator only guaranteed alignment enough for a pointer. On some platforms (e.g. SPARC) double has to be aligned to 8 bytes but pointers can have a size of 4 bytes. This commit increases allocation header to fix that. In practical terms the allocation header is now always 8 bytes.
-
Arseny Kapoulkine authored
This fixes tests in PUGIXML_NO_XPATH mode on SPARC64 (#48). SPARC does not allow unaligned accesses - e.g. you can't read an unaligned int. Normally pugixml does not perform unaligned integer/pointer accesses, but page heap can allocate blocks that are not aligned so that we can detect a single- byte read/write overrun. Additionally, the hardcoded page size we're currently using is really system specific - on SPARC the page size can be 8 Kb instead of 4 Kb so mprotect can fail.
-
- May 23, 2015
-
-
Arseny Kapoulkine authored
-
- May 22, 2015
-
-
Arseny Kapoulkine authored
-
- May 20, 2015
-
-
Arseny Kapoulkine authored
-
- May 14, 2015
-
-
Arseny Kapoulkine authored
Extra argument 'hint' is used to start the attribute lookup; if the attribute is not found the lookup is restarted from the beginning of the attriubte list. This allows to optimize attribute lookups if you need to get many attributes from the node and can make assumptions about the likely ordering. The code is correct regardless of the order, but it is faster than using vanilla lookups if the order matches the calling order. Fixes #30.
-
- May 13, 2015
-
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
Address sanitizer can detect underflows so we don't really need the custom allocator. Additionally, custom allocator can return memory that is not pointer-aligned; this causes undefined behavior sanitizer to complain.
-
Arseny Kapoulkine authored
Work around -Wself-move using ref-deref.
-
- May 04, 2015
-
-
Arseny Kapoulkine authored
Apply the usual workaround for for scoping issues. Also fix integer conversion warning for BorlandC.
-
- May 02, 2015
-
-
Arseny Kapoulkine authored
-
- Apr 29, 2015
-
-
Arseny Kapoulkine authored
The memory_large_allocations test sometimes classified hash allocations as page allocations since hash table could reach 512 entries.
-
- Apr 22, 2015
-
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
Also test ranged for and copying big xpath_variable_set objects (to make sure we actually handle hash collisions properly)
-
- Apr 16, 2015
-
-
Arseny Kapoulkine authored
xpath_variable_set is essentially an associative container; it's about time it became copyable. Implementation is slightly tricky due to out of memory handling. Both copy ctor and assignment operator have strong exception guarantee (even if exceptions are disabled! which translates to "roll back on allocation errors").
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
Switch to malloc and manually aligning the pointer to the page boundary. mmap is much slower than malloc; this change makes tests ~4x faster.
-
- Apr 15, 2015
-
-
Arseny Kapoulkine authored
Since the type of the set was updated before assignment, assigning in out-of-memory condition could change the type to not match the content.
-
- Apr 14, 2015
-
-
Arseny Kapoulkine authored
Fix code style and revert redundant parameters/whitespace changes. Also remove format_each_attribute_on_new_line - we're only introducing one extra formatting flag. The flag implies format_indent but does not include its bitmask. Also add a few more tests. Fixes #14.
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
End of an era. Make can be used for regular development (Linux/OSX), documentation building and release packaging. CMake can be used for regular development (Windows); it's also used by some Linux distributions. Continuous integration is now performed by Travis CI and AppVeyor.
-
Arseny Kapoulkine authored
-
- Apr 13, 2015
-
-
halex2005 authored
-
Arseny Kapoulkine authored
Also fix test in wchar_t mode.
-
Arseny Kapoulkine authored
Ensure that all the necessary cleanup is performed in case the allocation fails with an exception - files are closed, buffers are reclaimed, etc. Any test that triggers a simulated out-of-memory condition is ran once again with a throwing allocation function. Unobserved std::bad_alloc count as test failures and require CHECK_ALLOC_FAIL macro. Fixes #17.
-
Arseny Kapoulkine authored
Also add tests that verify save_file for absence of FILE leaks.
-
- Apr 12, 2015
-
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
Previously attributes that were copied with their node used string sharing, but standalone attributes that were copied using xml_node::*_copy(xml_attribute) were not.
-