Commit Graph

31 Commits

Author SHA1 Message Date
Tiago Macarios
691fd1cd0c Make CMakeLists.txt current to CMake 3.8 features
This commit updates the CMake files to use newer CMake features.

GSL is now a INTERFACE and one only need to link against that interface
(include paths and natvis files will be taken care automatically).

Whene generating a VS project test will be properly nested into a test
subfolder.

if(compiler) expression were modified to generator expressions.
2017-04-17 21:04:43 -07:00
Casey Carter
c5851a8161 Turn warnings into errors (#488) 2017-04-17 12:26:38 -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
MikeGitb
d2dafe2ddf Add a copy() function for span. 2016-11-17 10:45:06 -08:00
Neil MacIntosh
0d31109d41 Fixed compile flags for tests when using MSVC. 2016-11-04 14:48:22 -07:00
Rian Quinn
d641796b21 Cleanup additional GCC warnings
When turning on the following flags, several additional warnings
were generated, which have been cleaned up in this patch. The
flags included:

-Wextra
-Wpedantic
-Wconversion
-Wsign-conversion
-Wctor-dtor-privacy
-Wshadow
-Wnon-virtual-dtor
-Wold-style-cast
-Wcast-align
-Woverloaded-virtual
2016-11-03 18:38:32 -07:00
Marc Mutz
1e95421889 [#392] Don't install tests
'make install' should install the GSL library (ie. the headers),
not the tests.

It still installs the UnitTest++ headers, but that will be more
complex to fix, as GSL just imports UnitTest++ as a git submodule,
and the install command propagates down to UnitTest++'s
CMakeLists.txt.
2016-10-17 12:42:58 -07:00
MikeGitb
1287e624cd Address #313: try to guard against strict-aliasing bugs with gsl::byte
* Add test to demonstrate byte aliasing problem on g++ and clang++

* Add note about no-strict-aliasing flag in README

* Activate aliasing unit test and use -fno-strict-aliasing flag
2016-10-17 12:36:11 -07:00
Galik
222c2d85fd Removed .h extension from header files. 2016-08-10 17:24:00 +01: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
eed99d8599 Merge branch 'master' into dev/neilmac/spec 2016-07-20 09:30:05 -07:00
Neil MacIntosh
b72d7abfb0 Added definition of gsl::byte to match proposed std::byte. 2016-06-24 04:54:09 -07:00
Sergiy Oryekhov
79030c5586 Moving submodule init before subdirectory. 2016-03-23 16:53:00 -07:00
Sergiy Oryekhov
32d00796ad Adding unittest-cpp as a submodule. 2016-03-23 16:42:35 -07:00
Neil MacIntosh
cec26a23b9 Added new span-related files. 2016-02-24 11:26:28 -08:00
Neil MacIntosh
d2f12a8fa3 File renames to reflect new multi_span name. 2016-02-24 11:03:33 -08:00
Neil MacIntosh
0cf947db77 Reworked span to match GSL design. 2015-11-29 19:19:37 -08:00
Neil MacIntosh
38eaf9fc95 Refactored headers so span can use narrow_cast etc. 2015-11-23 16:22:31 -08:00
Neil MacIntosh
d13f6daa75 Refactored to use Expects/Ensures everywhere. 2015-11-20 17:06:23 -08:00
Neil MacIntosh
b9565e50ce Update CMakeLists.txt 2015-11-12 19:36:34 -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
b63ec949e9 Renaming array_view and string_view, as per WG21 discussions. 2015-11-04 12:42:27 -08:00
Treb Connell
fda8e12310 Fix #124 remove maybe_null 2015-10-05 13:34:50 -07:00
Neil MacIntosh
ef626fd33a Renamed namespace to 'gsl'. Renamed macro to configure testing. 2015-09-29 16:41:37 -07:00
Tamas Kenez
9b454b7a9b add travis testing (gcc5, clang36)
- also relaxed CMake version to 2.8.7, the version default in travis
2015-09-23 17:43:36 +02:00
David Capello
5d9aae7430 Add add_gsl_test() function in tests/CMakeLists.txt
With this function we can avoid duplicated code to add a new test.
2015-09-21 16:04:06 -03:00
Neil MacIntosh
05e6b6dd4b Added missing owner<T>, corrected array_view::sub(). 2015-09-20 19:18:12 -07:00
Neil MacIntosh
75f31dabe9 Removed Debug build warnings from MSVC STL. 2015-08-27 22:15:44 -07:00
Anna Gringauze
5e945461c9 Fixed unittest directory check to look in the source directory 2015-08-25 11:50:58 -07:00
Neil MacIntosh
a9dcbe04ff Initial commit of library files. 2015-08-20 18:09:14 -07:00