void __gcov_dump (void) { gcov_exit (); /* Prevent profile from being dumped a second time on application exit. */ set_gcov_dump_complete (); }
void __gcov_flush (void) { const struct gcov_info *gi_ptr; gcov_exit (); for (gi_ptr = gcov_list; gi_ptr; gi_ptr = gi_ptr->next) { unsigned f_ix; for (f_ix = 0; f_ix < gi_ptr->n_functions; f_ix++) { unsigned t_ix; const struct gcov_fn_info *gfi_ptr = gi_ptr->functions[f_ix]; if (!gfi_ptr || gfi_ptr->key != gi_ptr) continue; const struct gcov_ctr_info *ci_ptr = gfi_ptr->ctrs; for (t_ix = 0; t_ix != GCOV_COUNTERS; t_ix++) { if (!gi_ptr->merge[t_ix]) continue; memset (ci_ptr->values, 0, sizeof (gcov_type) * ci_ptr->num); ci_ptr++; } } } }
void __gcov_flush (void) { init_mx_once (); __gthread_mutex_lock (&__gcov_flush_mx); gcov_exit (); gcov_clear (); __gthread_mutex_unlock (&__gcov_flush_mx); }
void notify_completion(bool success) { printf("{{%s}}" NL, success ? TEST_ENV_SUCCESS : TEST_ENV_FAILURE); #ifdef YOTTA_CFG_DEBUG_OPTIONS_COVERAGE coverage_report = true; gcov_exit(); coverage_report = false; #endif printf("{{%s}}" NL, TEST_ENV_END); led_blink(LED1, success ? 1.0 : 0.1); }
void _exit(int status) { (void) status; gcov_exit(); for(;;){} /* does not return */ }