Skip to content
Snippets Groups Projects
  1. Jul 06, 2020
  2. Jun 13, 2020
    • Arseny Kapoulkine's avatar
      Work around a false positive in MSVC debug runtime checker · 23ca9404
      Arseny Kapoulkine authored
      In some MSVC versions on x64 configurations, the hashing function
      triggers this failure:
      
      Run-Time Check Failure #1 - A cast to a smaller data type has caused a
      loss of data.  If this was intentional, you should mask the source of
      the cast with the appropriate bitmask.
      
      This is similar to the integer sanitizer - this code is valid C++ but
      MSVC decides to warn about this nonetheless. Masking the pointer's low
      32 bits fixes the issue.
      
      Fixes #357.
      23ca9404
  3. May 11, 2020
  4. May 10, 2020
  5. May 02, 2020
    • Arseny Kapoulkine's avatar
      Clarify the document element behavior. · f49d7acd
      Arseny Kapoulkine authored
      pugixml currently unconditionally accepts documents with multiple
      top-level element nodes in absence of parse_fragment. This is an
      unfortunate omission; while it can be corrected, it will result in
      regressions for some users, and it's trivial to perform the validity
      check after the parse is done.
      
      Because of this, for now we're just going to amend documentation here to
      both highlight this in the W3C Conformance section, but also to more
      strongly push users into realizing that there's just a single document
      element (normally).
      
      We might decide to change the behavior here to prohibit such documents
      by default in the future, but for now a documentation change seems like
      a better tradeoff.
      
      Fixes #337
      f49d7acd
    • Arseny Kapoulkine's avatar
      Merge pull request #349 from KyleFromKitware/cmake-improvements · 28577635
      Arseny Kapoulkine authored
      Various CMake improvements
  6. Apr 27, 2020
  7. Apr 25, 2020
  8. Feb 20, 2020
    • Arseny Kapoulkine's avatar
      Adjust node_copy_tree to be more explicit about invariants · 5e64076a
      Arseny Kapoulkine authored
      The loop traverses the source tree and simultaneously builds up a copy
      of it at destination. Short of race conditions, this code is safe -
      however, it's not obvious that dit stays inside the destination tree.
      
      This change adds a few assertions to help enforce/document these
      invariants. One particular subtlety is that dit can actually *become*
      null after we exit out of the loop, but it's guaranteed to only do so
      once sit goes back to sn.
      
      This is only possible when doing a full document copy - for some reason
      we weren't using this for that (in reset(xml_document)), but we are now.
      
      Fixes #314.
      5e64076a
  9. Feb 19, 2020
    • Arseny Kapoulkine's avatar
      XPath: Remove the use of fallthrough switch cases · 76c39144
      Arseny Kapoulkine authored
      We were previously relying on non-standard comment detection that is
      supported by gcc/clang to avoid warnings about implicit fallthrough.
      
      This can be solved using attributes but using them requires a lot of
      compiler-specific detection logic because not all versions of gcc/clang
      support them.
      
      We don't *really* need to rely on fallthrough here - the type conversion
      block can be located *after* the AST type switch instead, which means
      that any AST type that has type ambiguity can fall back to that in the
      future.
      
      Fixes #331.
      76c39144
  10. Feb 08, 2020
  11. Feb 07, 2020
  12. Feb 01, 2020
  13. Dec 20, 2019
  14. Dec 06, 2019
  15. Dec 04, 2019
  16. Dec 02, 2019
  17. Nov 27, 2019
  18. Oct 18, 2019
  19. Oct 06, 2019
  20. Oct 01, 2019
  21. Sep 28, 2019
    • Isabella Muerte's avatar
      :sparkles: Update CMake to modern approach · 1c5a0bb3
      Isabella Muerte authored
      New Features:
      
      pugixml-shared and pugixml-static are "always" available, but not always
      built. This allows downstream projects to still use them, and to make
      sure our configurations are correct regardless of if they are being
      built. They are not always installed however.
      
      pugixml-shared and pugixml-static have ALIAS libraries of
      pugixml::shared and pugixml::static respectively. These names are also
      respected in the `find_package(pugixml CONFIG)` generated files, so its
      safe to use pugixml in a CMake project regardless of whether it is
      installed locally, or if its a subproject via `add_subdirectory`.
      
      pugixml will automatically select the correct library type based on
      BUILD_SHARED_LIBS. A pugixml::pugixml ALIAS is also available.
      
      CMAKE_MSVC_RUNTIME_LIBRARY from CMake 3.15 has been backported.
      
      CMake will now rely on generator expressions (a powerful abstraction in
      large projects with many subdirectories) for most work. This offloads
      work from the single-threaded configure stage to the multithreaded
      generation stage.
      
      pugixml now uses CTest as the runner.
      
      Some settings are automatically disabled if pugixml is used as a
      subdirectory. These are still able to be manually set, but are hidden
      from folks who choose to use CMake GUI.
      1c5a0bb3
    • Isabella Muerte's avatar
      :construction: Begin moving pugixml to modern(ish) CMake · 195dfe1d
      Isabella Muerte authored
      :arrow_up: Bump CMake minimum to 3.4
      :bug: pugixml no longer requires a C compiler to be found or set to
      compile correctly. This speeds up configuration and building on windows.
      :construction: Begin laying groundwork to backport MSVC_RUNTIME_LIBRARY
      property
      195dfe1d
  22. Sep 22, 2019
  23. Sep 21, 2019
    • Arseny Kapoulkine's avatar
      Move pugixml.rc to scripts/ · 6934b123
      Arseny Kapoulkine authored
      This keeps src/ folder clean of auxiliary files only required for
      special builds; note that CMakeLists.txt already depends on scripts/
      (specifically for pkgconfig setup).
      6934b123
  24. Sep 19, 2019
  25. Sep 18, 2019
  26. Sep 16, 2019
Loading