void addSourceFile(const char* filename) { const char* filenamearr[1] = {filename}; addSourceFiles(1, filenamearr); }
int main(int argc, char* argv[]) { PhaseTracker tracker; startCatchingSignals(); { astlocMarker markAstLoc(0, "<internal>"); tracker.StartPhase("init"); init_args(&sArgState, argv[0]); fDocs = (strcmp(sArgState.program_name, "chpldoc") == 0) ? true : false; fUseIPE = (strcmp(sArgState.program_name, "chpl-ipe") == 0) ? true : false; // Initialize the arguments for argument state. If chpldoc, use the docs // specific arguments. Otherwise, use the regular arguments. if (fDocs) { init_arg_desc(&sArgState, docs_arg_desc); } else { init_arg_desc(&sArgState, arg_desc); } initFlags(); initRootModule(); initPrimitive(); initPrimitiveTypes(); DefExpr* objectClass = defineObjectClass(); initChplProgram(objectClass); initStringLiteralModule(); process_args(&sArgState, argc, argv); setupChplGlobals(argv[0]); postprocess_args(); initCompilerGlobals(); // must follow argument parsing setupModulePaths(); recordCodeGenStrings(argc, argv); } // astlocMarker scope if (fUseIPE == false) printStuff(argv[0]); if (fRungdb) runCompilerInGDB(argc, argv); if (fRunlldb) runCompilerInLLDB(argc, argv); addSourceFiles(sArgState.nfile_arguments, sArgState.file_argument); if (fUseIPE == false) { runPasses(tracker, fDocs); } else { ipeRun(); } tracker.StartPhase("driverCleanup"); free_args(&sArgState); tracker.Stop(); if (printPasses == true || printPassesFile != NULL) { tracker.ReportPass(); tracker.ReportTotal(); tracker.ReportRollup(); } if (printPassesFile != NULL) { fclose(printPassesFile); } clean_exit(0); return 0; }
void addSourceFile(const char* filename, const char* modFilename) { const char* filenamearr[1] = { addCurrentDirToSourceFile(filename, modFilename)}; addSourceFiles(1, filenamearr); }