viennacl/viennacl-dev — pull request #56 by aokomoriuta (2014-01-19 07:41:55+00:00)
Title: Fix OpenMP compile error when OpenMP 2.5 for Microsoft Visual Studio

C3016 error [1] occurs when compiling ViennaCL with Microsoft Visual Studio.

This is because MSVS supports OpenMP *2.0* [2] and unsigned index are not allowed for loop index in OpenMP 2.0 [3].

Same problem is not MSVS's problem.
This problem should be occurs when
* the compiler support less than OpenMP 3.0
* and std::size_t is defined as unsigned.

My pull-request is an example to show how to fix this, doesn't fix all problem but only some cases on MSVS.

Or does ViennaCL support only OpenMP 3.0 or later?

* [1] http://msdn.microsoft.com/library/vstudio/ee306688.aspx
* [2] http://msdn.microsoft.com/library/fw509c3b.aspx
* [3] http://stackoverflow.com/questions/2820621