1. 30 Nov, 2017 5 commits
  2. 26 Nov, 2017 1 commit
  3. 25 Nov, 2017 2 commits
  4. 24 Nov, 2017 10 commits
  5. 22 Nov, 2017 1 commit
  6. 19 Nov, 2017 2 commits
  7. 18 Nov, 2017 2 commits
    • Merge pull request #4420 from pks-t/pks/strict-aliasing · a8f19f81
      refcount: make refcounting conform to aliasing rules
      Carlos Martín Nieto committed
    • refcount: make refcounting conform to aliasing rules · 585b5dac
      Strict aliasing rules dictate that for most data types, you are not
      allowed to cast them to another data type and then access the casted
      pointers. While this works just fine for most compilers, technically we
      end up in undefined behaviour when we hurt that rule.
      
      Our current refcounting code makes heavy use of casting and thus
      violates that rule. While we didn't have any problems with that code,
      Travis started spitting out a lot of warnings due to a change in their
      toolchain. In the refcounting case, the code is also easy to fix:
      as all refcounting-statements are actually macros, we can just access
      the `rc` field directly instead of casting.
      
      There are two outliers in our code where that doesn't work. Both the
      `git_diff` and `git_patch` structures have specializations for generated
      and parsed diffs/patches, which directly inherit from them. Because of
      that, the refcounting code is only part of the base structure and not of
      the children themselves. We can help that by instead passing their base
      into `GIT_REFCOUNT_INC`, though.
      Patrick Steinhardt committed
  8. 15 Nov, 2017 1 commit
  9. 14 Nov, 2017 4 commits
  10. 13 Nov, 2017 2 commits
  11. 12 Nov, 2017 4 commits
  12. 11 Nov, 2017 6 commits