Add rsForEachInternal

Bug: 23535985

Added a compiler intrinsic rsParallelFor to the runtime API, which
is translated into an internal API (rsForEachInternal) by slang.

Added a test to RsTest (for native) and RSTest_CompatLib
(for support).

Enhanced the auto api generator to handle ellipsis argument,
intrinsics, internal-only APIs, and special level for API under
development.

Change-Id: I6e2cf3db868f426aa8e0b9a77732b66c1e6b9f03
diff --git a/api/GenerateTestFiles.cpp b/api/GenerateTestFiles.cpp
index ddb7c78..45cf1f3 100644
--- a/api/GenerateTestFiles.cpp
+++ b/api/GenerateTestFiles.cpp
@@ -46,7 +46,7 @@
 }
 
 // Returns true if any permutation of the function have tests to b
-static bool needTestFiles(const Function& function, int versionOfTestFiles) {
+static bool needTestFiles(const Function& function, unsigned int versionOfTestFiles) {
     for (auto spec : function.getSpecifications()) {
         if (spec->hasTests(versionOfTestFiles)) {
             return true;
@@ -974,7 +974,7 @@
  * to test.
  */
 static bool writeTestFilesForFunction(const Function& function, const string& directory,
-                                      int versionOfTestFiles) {
+                                      unsigned int versionOfTestFiles) {
     // Avoid creating empty files if we're not testing this function.
     if (!needTestFiles(function, versionOfTestFiles)) {
         return true;
@@ -1026,7 +1026,7 @@
     return true;
 }
 
-bool generateTestFiles(const string& directory, int versionOfTestFiles) {
+bool generateTestFiles(const string& directory, unsigned int versionOfTestFiles) {
     bool success = true;
     for (auto f : systemSpecification.getFunctions()) {
         if (!writeTestFilesForFunction(*f.second, directory, versionOfTestFiles)) {