After I managed to get Visual Studio integrated with DPC++ and started browsing the official examples provided, I encountered some unexpected syntax errors raised by Visual Studio. What is wierd is that these errors does not produce problems in compling and running, meaning that the source code can be run successfully.
For example, in the matrix multiplication instance, There are 2 errors numbered E0283: Qualified name is not allowed, located in matrix-jit.hpp and static-query.hpp.
Also, in the source code written in this project naming matrix_nul_dpcpp.cpp, which uses cl::sycl::buffer and cl::sycl::range:
buffer<float, 2> a_buf(range(M, N));
buffer<float, 2> b_buf(range(N, P));
buffer c_buf(reinterpret_cast<float *>(c_back), range(M, P));
where M, N, P are constant integers inferring matrix size, Visual Studio raised E0441: Argument list for class template cl::sycl::buffer (or cl::sycl::range) is missing.
I have been informed that disabling these errors are viable. However, when these errors truly causes the problem, I could not figure them out with this solution. Therefore, I'm here to seek for help. Is there any solutions to this 'fake error reporting' problem in Visual Studio?
Thank you for posting in Intel Communities.
>>After I managed to get Visual Studio integrated with DPC++ and started browsing the official examples provided, I encountered some unexpected syntax errors raised by Visual Studio.
I tried compiling and running the matrix multiplication sample code present under Intel oneAPI samples by following this path in VS (2019):
Extensions --> Intel --> Browse Intel oneAPI Samples.
However, I am unable to reproduce your issue using DPC++ compiler (2022.0.2).
Could you please let us know your Intel oneAPI version and also, could you please confirm if these are the steps that you have followed while compiling the sample code?
Thanks & Regards,