Skip to content

Tags: dcleblanc/SafeInt

Tags

3.0.28a

Toggle 3.0.28a's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Strict warnings (#54)

* Change inline to static inline in order to accomodate misbehaved compilers.

* Compile with clang using -Weverything, fix a bunch of picky warnings.

* Fix errors on Windows test build resulting from seemingly benign changes on Linux.

* Now that MSVC has thrown a major fit over casting literals, forcing fixes,
we can re-enable the clang warning.

* Clang and MSVC having conflicts

* clang and MSVC now agree, TODO - write an app to nicely format and
cast the test cases so they work.

* Having a compiler food fight between Apple, MSVC and clang...

---------

Co-authored-by: David LeBlanc <[email protected]>

3.0.28

Toggle 3.0.28's commit message
Merge branch 'master' of github.com:dcleblanc/SafeInt

3.0.27

Toggle 3.0.27's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Cpp 98 (#45)

* Attempt to remove C++ 11 requirement

* Fix cmake files to support compiling without a standard version set

* Fix warning in test file

* Rearrange and clean up very messy exception handling code, add new option to disallow anything platform-specific

* Implement nodiscard, also remove outdated help

* Update helpfile

* Add more compile time checks, compilation fixes.

* Fixes for clang build

* Add -Wextra to compile test

* Add more test compile cases, div and sub remaiing

* Tidy up some warnings from a new MSVC compiler found while using the Cmake build

* Fix warnings from clang with -Wextra, also add compilation target for C++17

Co-authored-by: David LeBlanc <[email protected]>

3.0.26c

Toggle 3.0.26c's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Safe math c (#42)

* Switch to CMake, enable build of gcc and clang with one build, set up tests

* Fix -fsanitize to the extent possible, works for clang++

* Add C library, initial check-in

* Add remaining files

* Add addition coverage for built in types

* Fix various warnings

* Add addition functions that return a bool

* First 4 multiplication

* Add checked multiplication

* Checked dividion

* checked subtraction

* First half of addition testing

* Add in missing addition test cases

* Add signed int32, unsigned 32 and 64 cases

* Full coverage of 32 and 64-bit addition test cases

* Addition tests complete and passing

* Initial multiplication tests, refactor to maintain just one test array across both C and C++ libraries, starting with multiplication.

* uint32 multiplication complete

* Complete multiplicatoin test coverage, refactor and templatize multiplication tests to reduce boilerplate code.

* Extract test case from multiplication checks

* Factor out test cases into independent file

* Division tests complete for C library

* Factor out subtraction test cases,
templatize existing test cases

* Subtraction tests for C complete and verified against SafeInt

* Templatize addition checks, factor out test cases

* Refactor

* Standardize addition test cases

* Quench warnings, add licencing

* Fixes to make clang happy on Linux, add new code to cmake

* Fix gcc makefile, update readme.md

* Changes needed to compile cleanly under clang -Weverything

* Change error messaging to allow for easier debugging.

* Fix interesting int crash, add compile time test, fix warnings

Co-authored-by: David LeBlanc <[email protected]>

3.0.26

Toggle 3.0.26's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request #36 from dcleblanc/fix/intrinsic

Fix/intrinsic

3.24

Toggle 3.24's commit message
Update to new compiler, fix warnings

Remove Spectre mitigation warnings, update internal error enum to enum class. Verify that constexpr compiler bug in 16.5 is gone.

3.23

Toggle 3.23's commit message
Fix problem with VISUAL_STUDIO_SAFEINT_COMPAT define

3.22

Toggle 3.22's commit message
Add -fsanitize=undefined -ftrapv to clang test harness

3.21

Toggle 3.21's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request #8 from dcleblanc/SafeNegate

Safe negate

3.20.0

Toggle 3.20.0's commit message
Rev version to 3.0.20p