Commit Graph

4 Commits

Author SHA1 Message Date
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
Neil MacIntosh
b03b04bfcd Applied clang-format to the source. 2016-07-20 13:17:47 -07:00
Seth Cantrell
dd923eee5f Add column limit to .clang-format 2015-10-01 20:53:37 -04:00
Seth Cantrell
96e5757181 Add .clang-format file
To have any hope of achieving consistent formatting there needs to be
a standard and a mechanism for enforcing it. This is a first step in
that direction.

This format specification is intended to mimic the existing style
insofar as the current source has any consistent style. For example
the determination as to whether ref qualifiers should bind to the
type or variable name was made by trying both and seeing which
produced fewer changes. One exception is the use of tabs vs. spaces,
which was decided based on a comment by neilmacintosh [here][1].

To use clang-format with Visual Studio [download][2] and install the
clang-format plugin. In VS ctrl-r, ctrl-f formats the current line or
text selection.

[1]: https://github.com/Microsoft/GSL/issues/55
[2]: http:llvm.org/builds/
2015-09-26 18:00:54 -04:00