summaryrefslogtreecommitdiff
path: root/src/integer.h
Commit message (Collapse)AuthorAgeFilesLines
* add with overflow: correct documentationethomson/fix-intrinsicsEdward Thomson2019-01-201-2/+2
| | | | | Correct the documentation on the fallback add/multiply with overflow functions.
* add with overflow: use SizeTAdd on WindowsEdward Thomson2019-01-201-0/+10
| | | | | Windows provides <intsafe.h> which provides "performant" add and multiply with overflow operations. Use them when possible.
* Remove unused git__add_uint64_overflowEdward Thomson2019-01-201-12/+0
|
* add with overflow intrinsics: simplify testsEdward Thomson2019-01-201-26/+18
| | | | | | Use the smallest unsigned type that is equivalent to `size_t` to simplify the conditionals. Error if we're on a system that we believe offers builtins but we cannot determine which one to use.
* Let GCC use the add/mul overflow intrinsicslhchavez2019-01-091-10/+30
| | | | | | | | This change tweaks the macros for git__{add,multiply}_sizet_overflow so that GCC can use them. It also stops using the uadd,umul versions since the add,mul can handle way more cases.
* consistent header guardsethomson/header_guardsEdward Thomson2018-02-011-1/+1
| | | | use consistent names for the #include / #define header guard pattern.
* mac: on 32 bit, use `__builtin_umull_overflow`Edward Thomson2017-01-231-6/+6
|
* Fix MAX 32 bit build problem described in libgit2/libgit2#2917ntk/macosx_build_cherrypickedJeff Hostetler2015-02-201-1/+1
|
* integer overflow: use compiler intrinsics if supportedEdward Thomson2015-02-131-0/+15
| | | | | gcc and clang support __builtin_add_overflow, use it whenever possible, falling back to our naive routines.
* Make our overflow check look more like gcc/clang'sEdward Thomson2015-02-131-12/+16
| | | | | | | | | Make our overflow checking look more like gcc and clang's, so that we can substitute it out with the compiler instrinsics on platforms that support it. This means dropping the ability to pass `NULL` as an out parameter. As a result, the macros also get updated to reflect this as well.
* Introduce git__add_sizet_overflow and friendsEdward Thomson2015-02-121-0/+77
Add some helper functions to check for overflow in a type-specific manner.