Commit Graph

48 Commits

Author SHA1 Message Date
Herb Sutter
cbfd8cd734 Parameterize Expects1 and Ensures` by contract group
Allows independently controlling handling of different categories of bugs, such as bounds checks vs. null checks.
User-extensible: Companies can instantiate their own `contract_group` objects for their own categories of contract checks, including for distinguishing contract "levels" like `Normal` vs. `Audit` by just creating those two groups that can then be controlled independently or in combination.
2020-11-27 17:06:01 -08:00
Jordan Maples [MSFT]
a150aaa4ed
renaming main logic files. Added warning message of the removal and include passthrough. Renamed includes in the source files. Ran Clang-Format (#946)
Header rename
2020-10-29 17:38:48 -07:00
Jordan Maples [MSFT]
926aaeca56 reviewed the pr in its entirety and made some slight modifications. Removed all members and fields marked as deprecated. 2020-02-11 16:36:07 -08:00
Jordan Maples [MSFT]
5a1e4f3953 update index_type to size_type, fix a couple Expects 2020-02-04 15:31:33 -08:00
Jordan Maples [MSFT]
ad71477183 fix build breaks 2020-02-03 12:26:15 -08:00
Roelf-Jilling
81f56796a1 MSVC and CoreChecker warning suppression for tests to CMake
Suppress CppCoreCheck warnings on GTest macros.
Suppress CppCoreCheck advice to use the GSL
2020-01-16 11:49:15 +01:00
Roelf-Jilling
186f5d21c1 Move compiler warning suppression for tests from cpp files to CMake 2020-01-16 11:49:00 +01:00
Jordan Maples [MSFT]
f04907c2f6 added suppression for missing destructor override 2020-01-08 10:13:00 -08:00
Jordan Maples [MSFT]
8577033f13 addressing comments 2019-12-19 14:05:02 -08:00
Jordan Maples [MSFT]
6c5c708877 change from string to char* 2019-12-12 16:48:59 -08:00
Jordan Maples [MSFT]
5099e8fa3e removed string_view for string in tests 2019-12-12 11:15:41 -08:00
Jordan Maples [MSFT]
4f6f05d463 changing text in notices & readme. adding terminate handler for tests 2019-12-12 10:55:26 -08:00
Jordan Maples
9a88262544 fixing suppression of gtest warnings for gcc 2019-12-06 16:03:47 -08:00
Jordan Maples [MSFT]
b39a9732f8 attempting to fix the gtest print issues in vs17 2019-12-04 13:46:50 -08:00
Jordan Maples [MSFT]
87eaa45445 suppressing -Wundef in clang (GTest emitted) 2019-12-04 12:48:13 -08:00
Jordan Maples [MSFT]
43aca2646b ignore warnings from gtest 2019-12-04 12:30:58 -08:00
Jordan Maples [MSFT]
2b10729386 gtest migration 2019-12-03 14:32:25 -08:00
Anna Gringauze
cea0d0ac2b fix cppcorecheck warnings (#703)
* Added c++17 test configurations for clang5.0 and clang6.0

* Fixed CppCoreCheck warnings in GSL and tests

- Added CMakeSettings.json for VS Open Folder configuration
	- So we can easily run CppCoreCheck in VS
- Fixed CppCorecheck warnings where it made sense
- Suppressed the rest
	- Some suppression does not work due to compiler/tool bugs,
          so replaced by #pragma disable
	- CppCoreCheck has noise, suppressed those with comments
	- Catch produces many warnings, blanket-supressed them all
- Had to fix clang formatting to keep attributes in place
	- clang-format does not support attributes, so I am using
        - "CommentPragmas: '^ NO-FORMAT:'" to skip formatiting on them
- Removed GSL_NOEXCEPT macro, removed incorred noexcepts

* Ignore unknown attributes

* ignore unknown attributes in noexception mode tests

* fixed C26472 in at()

* created GSL_SUPPRESS macro to allow all compilers to parse suppression attributes

* try to fix gcc compilation problems with attributes

* ignore gsl::suppress for gcc

* move suppression to function level on return statements

clang5.0 and up does not allow attributes on return statemets in constexpr functions

* move suppression to function level on return statements

* use GSL_SUPPRESS in algorithm_tests

* Addressed PR comments
2018-08-12 21:44:17 -07:00
beinhaerter
75ad0c1b40 Add as_bytes for basic_string_span, fixes issue #655 (#683) 2018-05-28 19:03:10 -07:00
Neil MacIntosh
2bdbba7418 Removed span from-nullptr_t ctor. 2018-02-10 19:21:22 -08:00
Tiago
0d33bf6794 Applied iwyu --comment to the code base (#588) 2017-11-28 07:13:49 -08:00
Galik
4c5fdb541f Made string_span details::string_length() generic (Fix issue #542) (#543)
* Made string_span details::string_length() generic

removed overloads & specialized classes

Creating string_spans using `char16_t` and `char32_t` was not possible
without creating new specializations and function overloads.

This patch makes details::string_length() generic removing the need to
extend the overloads and specializations.

* added type aliases for string_span types char16_t and char32_t

* Added char16_t & char32_t overloads for ensure_z

* added string_span tests for char16_T & char32_t

* added zstring type aliases for char16_t & char32_t

* Added tests for char16_t & char31_t zstring and string_span types

* applies clang format to <gsl/string_span>

* Clang format tests/string_span_tests.cpp

* Removed ensure_z() overloads as they don't add functionality.
2017-09-18 15:20:51 -07:00
Neil MacIntosh
b2ee484334 Move from unittest-cpp to catch for unit testing. (#533)
Many thanks to @rianquinn. This should fix #495, #494 and #529.
2017-07-13 13:53:56 -07:00
Tiago
ebe7ebfd85 Reformat files to follow clang-format style (#492)
Project files were not following the clang-format style. For people
using IDEs were clang-format is always run after a save this would
cause unwanted changes.

This commit only applies "clang-format -i" to files.
2017-04-20 07:51:37 -07:00
MikeGitb
ade86caa92 Fix some corechecker warnings (#470)
* Improve const correctness in string_span

* Improve const correctness in bounds_tests.cpp and byte_tests.cpp

* Improve const correctness in span_tests.cpp

* Improve const correctness in utils_tests.cpp

* Use gsl::owner for dynamically allocated memory in string_span_tests.cpp

* Improve const correctness in string_span_tests.cpp

* Improve const correctness for strided_span_tests.cpp
2017-04-02 12:30:49 -07:00
Casey Carter
4e8f95b418 Cleanup include structure, constexpr and noexcept compiler workarounds.
* Nest "gsl" directory inside a new "include" directory.

* Cleanup the _MSC_VER conditionals a bit; use constexpr on VS2017+.

* Don't #define noexcept on non-Microsoft implementations.

* Workaround VS2017 bug in multi_span. (Also implement == and != for static_bounds_dynamic_range_t because I'm an EoP semantic soundness snob.)

Fixes #441.
2017-02-07 15:59:37 -08:00
Gary Furnish
ec109d2374 Add to_basic_string 2016-09-04 00:29:10 -06:00
Galik
222c2d85fd Removed .h extension from header files. 2016-08-10 17:24:00 +01:00
Neil MacIntosh
5ebfc16f14 Merge branch 'master' into dev/neilmac/spans_in_maps 2016-08-09 18:14:11 -07:00
Neil MacIntosh
f9f08a56fa Added test for Issue #305. 2016-08-09 18:07:17 -07:00
galik
f6cc5798a1 Renamed include/ folder to gsl/ to make including the library consistent
whether using it from the development folder, from the installation
folder or from being copied into a project. 

    #include <gsl/gsl.h>

Updated headers/tests/instructions/cmake build accordingly

This PR should address https://github.com/Microsoft/GSL/issues/277 (less
the renaming of gsl itself)
2016-08-09 15:04:58 +01:00
Neil MacIntosh
c366f4415d Fixed compilation issues for GCC on Linux. 2016-07-26 18:34:27 -07:00
Neil MacIntosh
267472449c Renamed byte header and tidied up string_span dependencies. 2016-06-26 17:00:56 +03:00
Neil MacIntosh
c40094a532 Added from-container constructors. 2016-03-01 12:11:41 -08:00
Neil MacIntosh
49e80625c6 Renamed existing span to multi_span. 2016-02-24 10:29:29 -08:00
Anna Gringauze
45f2bdb486 Fixed compilation issues with gcc and clang 2016-02-06 21:37:17 +00:00
Anna Gringauze
b4ff206c24 Added zstring_span and removed zstring_builder to support legacy strings 2016-02-03 19:30:34 -08:00
Anna Gringauze
eb05256ffe Fixed compilation issues in MSVC 2013 2015-12-14 20:43:58 -08:00
Anna Gringauze
87c5daa6c4 Fixed operators and constructors for string_span 2015-12-07 00:14:25 -08:00
Anna Gringauze
4efa9e8f07 Run clang format 2015-12-02 12:43:45 -08:00
Anna Gringauze
7077105b9d Added operator== 2015-12-01 13:41:28 -08:00
Anna Gringauze
8c5d06dc79 fixed GCC and clang compilation issues 2015-12-01 13:41:23 -08:00
Anna Gringauze
e3878a6556 merging with master 2015-12-01 13:41:18 -08:00
Neil MacIntosh
0cf947db77 Reworked span to match GSL design. 2015-11-29 19:19:37 -08:00
Neil MacIntosh
fa056f67e8 Enabled -Wall for gcc and clang. 2015-11-13 03:27:53 +00:00
Neil MacIntosh
a998a9b33b Turned on Level 3 warnings for MSVC. 2015-11-12 18:57:23 -08:00
Neil MacIntosh
4e4882bda8 Added workaround for MSVC 2013 compiler bug. 2015-11-05 09:29:30 -08:00
Neil MacIntosh
b63ec949e9 Renaming array_view and string_view, as per WG21 discussions. 2015-11-04 12:42:27 -08:00