ISPC v1.7

ISPC ( Intel SPDM Program Compiler )のv1.7がリリースされました。
ispc 1.7.0 is Released
A major new version of ISPC with several language and library extensions and fixes in debug info support. 
Binaries for all platforms are based on patched version on LLVM 3.4. 
There also performance improvements beyond switchover to LLVM 3.4.

Updating ISPC Programs For Changes In ISPC 1.7.0

This release contains several changes that may affect compatibility with older versions:

The algorithm for selecting overloaded functions was extended to cover more types of overloading, and handling of reference types was fixed. At the same time the old scheme, which blindly used the function with "the best score" summed for all arguments, was switched to the C++ approach, which requires "the best score" for each argument. If the best function doesn't exist, a warning is issued in this version. It will be turned into an error in the next version. A simple example: Suppose we have two functions: max(int, int) and max(unsigned int, unsigned int). The new rules lead to an error when calling max(int, unsigned int), as the best choice is ambiguous.

Implicit cast of pointer to const type to void* was disallowed. Use explicit cast if needed.

A bug which prevented "const" qualifiers from appearing in emitted .h files was fixed. Consequently, "const" qualifiers now properly appearing in emitted .h files may cause compile errors in pre-existing codes.

get_ProgramCount() was moved from stdlib to examples/util/util.isph file. You need to include this file to be able to use this function.