1. 22 Jun, 2018 1 commit
    • deps: fix implicit fallthrough warning in http-parser · cacbf998
      GCC 7 has introduced new warnings for implicit fallthrough in switch
      statements. Whenever there is no branch in a case block, GCC will watch
      out for some heuristics which indicate that the implicit fallthrough is
      intended, like a "fallthrough" comment. The third-party http-parser code
      manages to trick this heuristic in one case, even though there is a
      "FALLTHROUGH" comment. Fortunately, GCC has also added a strictness
      level to the -Wimplicit-fallthrough diagnostic, such that we can loosen
      this heuristic and make it more lax.
      
      Set -Wimplicit-fallthrough=1 in http-parser's CMake build instructions,
      which is the strictest level that gets rid of the warning. This level
      will treat any kind of comment as a "fallthrough" comment, which
      silences the warning.
      Patrick Steinhardt committed
  2. 20 Sep, 2017 1 commit
    • cmake: fix static linking for bundled deps · 8c19969a
      Our bundled deps are being built as simple static libraries which are
      then linked into the libgit2 library via `TARGET_LINK_LIBRARIES`. While
      this works for a dynamically built libgit2 library, using this function
      to link two static libraries does not have the expected outcome of
      merging those static libraries into one big library. This leads to
      symbols of our bundled deps being undefined in the resulting libgit2
      archive.
      
      As we have bumped our minimum CMake version to 2.8.11, we can now easily
      make use of object libraries for our bundled dependencies. So build
      instructions are still self-contained inside of the dependency
      directories and the resulting object libraries can just be added to the
      LIBGIT2_OBJECTS list, which will cause them to be linked into the final
      resulting static library. This fixes the issue of undefined symbols.
      Patrick Steinhardt committed
  3. 16 Aug, 2017 1 commit
  4. 28 Dec, 2015 1 commit
  5. 22 Dec, 2015 1 commit
  6. 05 Dec, 2014 2 commits
  7. 05 Aug, 2014 1 commit
  8. 23 Nov, 2012 1 commit
  9. 12 Nov, 2012 1 commit
  10. 05 Oct, 2011 1 commit
  11. 29 Sep, 2011 1 commit
  12. 28 Sep, 2011 3 commits
  13. 27 Sep, 2011 3 commits
    • Really fix MSVC · a5b0e7f8
      These was left over from the previous PRs.
      
      Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
      Carlos Martín Nieto committed
    • Fix dev branch under MSVC · 887eaf4d
      In libgit2: Move an enum out of an int bitfield in the HTTP transport.
      
      In the parser: Use int bitfields and change some variable sizes to
      better fit thir use. Variables that count the size of the data chunk
      can only ever be as large as off_t. Warning 4127 can be ignored, as
      nobody takes it seriously anyway.
      
      From Emeric: change some variable declarations to keep MSVC happy.
      
      Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
      Carlos Martín Nieto committed
    • http-parser: Do not use bitfields · dc5c8781
      Bitfields suck. And if you make them with non-int types, they suck
      in a non-standards compliant way. Like sucking sideways or something.
      
      This commit removes all bitfields in the `http_parser` struct, and
      replaces them with the minimal type needed to contain their values. Note
      that the fields in the struct have been reordered so they can be packed
      with 4-byte alignment.
      
      This saves both memory on the parser (because non-int bitfields get expanded to
      4byte in most compilers anyway) and time (because the fields are now
      properly aligned and the compiler doesn't need to generate bit-level ops
      to access them).
      Vicent Marti committed
  14. 09 Sep, 2011 1 commit