add main function detection

This commit is contained in:
Patrick Lipka 2025-08-18 17:32:24 +02:00
parent 6b98718848
commit 24a26d8683
1 changed files with 19 additions and 0 deletions

View File

@ -67,3 +67,22 @@ char* rvprof_utils_generate_output_filename(void){
return "rvprof_output.log";
}
// main function detection
int rvprof_utils_is_main_function(const char* func_name) {
if (!func_name) return 0;
// C main function
if (strcmp(func_name, "main") == 0) return 1;
// variety of possible names for Fortran
if (strstr(func_name, "MAIN__") != NULL) return 1;
if (strstr(func_name, "main_program") != NULL) return 1;
if (strstr(func_name, "_main_program") != NULL) return 1;
if (strstr(func_name, "_QQmain") != NULL) return 1;
if (strncmp(func_name, "MAIN_", 5) == 0) return 1;
if (strncmp(func_name, "_MAIN_", 6) == 0) return 1;
if (strstr(func_name, "__main_program_MOD_") != NULL) return 1;
if (strcmp(func_name, "_gfortran_main") == 0) return 1;
return 0;
}