void runPasses(PhaseTracker& tracker, bool isChpldoc) { size_t passListSize = sizeof(sPassList) / sizeof(sPassList[0]); setupLogfiles(); if (printPasses == true || printPassesFile != 0) { tracker.ReportPass(); } for (size_t i = 0; i < passListSize; i++) { runPass(tracker, i); USR_STOP(); // quit if fatal errors were encountered in pass currentPassNo++; // Break early if this is a chpl doc run if (isChpldoc == true && strcmp(sPassList[i].name, "docs") == 0) { break; } } destroyAst(); teardownLogfiles(); }
void runPasses(void) { setupLogfiles(); PassInfo* pass = passlist+1; // skip over FIRST bool chpldoc = strcmp(chplBinaryName, "chpldoc") == 0; if (chpldoc) fDocs = true; while (pass->name != NULL) { advanceCurrentPass(pass->name); runPass(pass->name, pass->pass_fn, pass->check_fn, pass->log_tag); USR_STOP(); // quit if fatal errors were encountered in pass if (chpldoc && (strcmp(pass->name, "docs") == 0)) { break; } pass++; } advanceCurrentPass("finishing up"); destroyAst(); teardownLogfiles(); }