@@ -148,6 +148,7 @@ static void terminate_internal (int stat_code, int exit_code)
148148 __attribute__ ((noreturn ));
149149static void sync_images_internal (int count , int images [], int * stat ,
150150 char * errmsg , size_t errmsg_len , bool internal );
151+ static void error_stop_str (const char * string , size_t len , bool quiet ) __attribute__((noreturn ));
151152
152153/* Global variables. */
153154static int caf_this_image ;
@@ -2699,7 +2700,7 @@ PREFIX (sendget) (caf_token_t token_s, size_t offset_s, int image_index_s,
26992700 char error_str [error_len ];
27002701 strcpy (error_str , "MPI-error: " );
27012702 MPI_Error_string (mpi_error , & error_str [11 ], & error_len );
2702- PREFIX ( error_stop_str ) (error_str , error_len + 11 );
2703+ error_stop_str (error_str , error_len + 11 , false );
27032704 }
27042705 }
27052706}
@@ -3269,7 +3270,7 @@ PREFIX (send) (caf_token_t token, size_t offset, int image_index,
32693270 char error_str [error_len ];
32703271 strcpy (error_str , "MPI-error: " );
32713272 MPI_Error_string (mpi_error , & error_str [11 ], & error_len );
3272- PREFIX ( error_stop_str ) (error_str , error_len + 11 );
3273+ error_stop_str (error_str , error_len + 11 , false );
32733274 }
32743275 }
32753276}
@@ -3779,7 +3780,7 @@ PREFIX (get) (caf_token_t token, size_t offset, int image_index,
37793780 char error_str [error_len + 11 ];
37803781 strcpy (error_str , "MPI-error: " );
37813782 MPI_Error_string (mpi_error , & error_str [11 ], & error_len );
3782- PREFIX ( error_stop_str ) (error_str , error_len + 11 );
3783+ error_stop_str (error_str , error_len + 11 , false );
37833784 }
37843785 }
37853786}
@@ -7411,12 +7412,21 @@ terminate_internal (int stat_code, int exit_code)
74117412}
74127413
74137414
7415+ #ifdef GCC_GE_8
7416+ #undef QUIETARG
7417+ #define QUIETARG , bool quiet
7418+ #endif
7419+
74147420/* STOP function for integer arguments. */
74157421
74167422void
7417- PREFIX (stop_numeric ) (int stop_code )
7423+ PREFIX (stop_numeric ) (int stop_code QUIETARG )
74187424{
7419- fprintf (stderr , "STOP %d\n" , stop_code );
7425+ #ifndef GCC_GE_8
7426+ bool quiet = false;
7427+ #endif
7428+ if (!quiet )
7429+ fprintf (stderr , "STOP %d\n" , stop_code );
74207430
74217431 /* Stopping includes taking down the runtime regularly and returning the
74227432 * stop_code. */
@@ -7427,38 +7437,59 @@ PREFIX (stop_numeric) (int stop_code)
74277437/* STOP function for string arguments. */
74287438
74297439void
7430- PREFIX (stop_str ) (const char * string , charlen_t len )
7440+ PREFIX (stop_str ) (const char * string , charlen_t len QUIETARG )
74317441{
7432- fputs ("STOP " , stderr );
7433- while (len -- )
7434- fputc (* (string ++ ), stderr );
7435- fputs ("\n" , stderr );
7436-
7442+ #ifndef GCC_GE_8
7443+ bool quiet = false;
7444+ #endif
7445+ if (!quiet )
7446+ {
7447+ fputs ("STOP " , stderr );
7448+ while (len -- )
7449+ fputc (* (string ++ ), stderr );
7450+ fputs ("\n" , stderr );
7451+ }
74377452 /* Stopping includes taking down the runtime regularly. */
74387453 terminate_internal (STAT_STOPPED_IMAGE , 0 );
74397454}
74407455
74417456
74427457/* ERROR STOP function for string arguments. */
74437458
7444- void
7445- PREFIX ( error_stop_str ) (const char * string , charlen_t len )
7459+ static void
7460+ error_stop_str (const char * string , size_t len , bool quiet )
74467461{
7447- fputs ("ERROR STOP " , stderr );
7448- while (len -- )
7449- fputc (* (string ++ ), stderr );
7450- fputs ("\n" , stderr );
7451-
7462+ if (!quiet )
7463+ {
7464+ fputs ("ERROR STOP " , stderr );
7465+ while (len -- )
7466+ fputc (* (string ++ ), stderr );
7467+ fputs ("\n" , stderr );
7468+ }
74527469 terminate_internal (STAT_STOPPED_IMAGE , 1 );
74537470}
74547471
74557472
7473+ void
7474+ PREFIX (error_stop_str ) (const char * string , charlen_t len QUIETARG )
7475+ {
7476+ #ifndef GCC_GE_8
7477+ bool quiet = false;
7478+ #endif
7479+ error_stop_str (string , len , quiet );
7480+ }
7481+
7482+
74567483/* ERROR STOP function for numerical arguments. */
74577484
74587485void
7459- PREFIX (error_stop ) (int error )
7486+ PREFIX (error_stop ) (int error QUIETARG )
74607487{
7461- fprintf (stderr , "ERROR STOP %d\n" , error );
7488+ #ifndef GCC_GE_8
7489+ bool quiet = false;
7490+ #endif
7491+ if (!quiet )
7492+ fprintf (stderr , "ERROR STOP %d\n" , error );
74627493
74637494 terminate_internal (STAT_STOPPED_IMAGE , error );
74647495}
0 commit comments