diff options
author | Stephen Kelly <steveire@gmail.com> | 2015-01-11 17:44:49 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2015-01-15 21:13:22 (GMT) |
commit | 1f19ac4da5af812891be305721f3e3b7eed62cc3 (patch) | |
tree | 25a369b1ca931b0fe7755214289dc3b3d1fc6747 /Tests/CompileFeatures | |
parent | 0798d1e5b0a09564b127ae7d26d8c1ea1bc9adad (diff) | |
download | CMake-1f19ac4da5af812891be305721f3e3b7eed62cc3.zip CMake-1f19ac4da5af812891be305721f3e3b7eed62cc3.tar.gz CMake-1f19ac4da5af812891be305721f3e3b7eed62cc3.tar.bz2 |
Features: Adjust cxx_variadic_templates unit test for GNU < 4.7.
The unit test for this fails with GNU 4.6:
Building CXX object CMakeFiles/test_cxx_variadic_templates.dir/cxx_variadic_templates.cpp.o
CompileFeatures/cxx_variadic_templates.cpp: In static member function ‘static int Interface<I, Is>::accumulate()’:
CompileFeatures/cxx_variadic_templates.cpp:18:31: sorry, unimplemented: cannot expand ‘Is ...’ into a fixed-length argument list
CMakeFiles/test_cxx_variadic_templates.dir/build.make:54: recipe for target 'CMakeFiles/test_cxx_variadic_templates.dir/cxx_variadic_templates.cpp.o' failed
The workaround is to use a specialization:
http://stackoverflow.com/questions/1989552
http://stackoverflow.com/questions/11297376
Diffstat (limited to 'Tests/CompileFeatures')
-rw-r--r-- | Tests/CompileFeatures/cxx_variadic_templates.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Tests/CompileFeatures/cxx_variadic_templates.cpp b/Tests/CompileFeatures/cxx_variadic_templates.cpp index 1d5a706..a80e157 100644 --- a/Tests/CompileFeatures/cxx_variadic_templates.cpp +++ b/Tests/CompileFeatures/cxx_variadic_templates.cpp @@ -1,4 +1,4 @@ -template<int I, int... Is> +template<int... Is> struct Interface; template<int I> @@ -11,7 +11,7 @@ struct Interface<I> }; template<int I, int... Is> -struct Interface +struct Interface<I, Is...> { static int accumulate() { |