Skip to content
Snippets Groups Projects
  1. May 17, 2018
  2. Apr 27, 2018
    • Arseny Kapoulkine's avatar
      Move CMake build postfix setup behind an off-by-default USE_POSTFIX · 51322cff
      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.
      51322cff
  3. Apr 15, 2018
  4. Apr 12, 2018
  5. Apr 11, 2018
  6. Apr 09, 2018
    • Eli Schwartz's avatar
      cmake: always install the pkg-config file (#193) · daeb8013
      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.
      daeb8013
  7. Apr 04, 2018
  8. Apr 03, 2018
  9. Mar 29, 2018
  10. Mar 17, 2018
    • Arseny Kapoulkine's avatar
      docs: Update changelog · cec32da2
      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...
      cec32da2
    • Arseny Kapoulkine's avatar
      tests: Fix PUGIXML_COMPACT+PUGIXML_WCHAR_MODE tests · fe7b8378
      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.
      fe7b8378
    • Arseny Kapoulkine's avatar
      ubsan: Fix undefined behavior for signed left shift in compact mode · e50672cf
      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.
      e50672cf
  11. Mar 16, 2018
  12. Mar 13, 2018
  13. Mar 03, 2018
  14. Mar 02, 2018
  15. Feb 27, 2018
  16. Feb 22, 2018
    • Arseny Kapoulkine's avatar
      Work around gcc issues with limits.h not defining LLONG_MIN · 2ec3579f
      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.
      2ec3579f
  17. Jan 29, 2018
  18. Jan 23, 2018
  19. Jan 08, 2018
Loading