From: Piotr Trojanek Date: Thu, 15 Apr 2021 21:22:32 +0000 (+0200) Subject: [Ada] Do not expect execv to return 0 X-Git-Tag: basepoints/gcc-13~3637 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1be75e7451b00aca32ed96be43223ee67d163429;p=thirdparty%2Fgcc.git [Ada] Do not expect execv to return 0 gcc/ada/ * adaint.c (__gnat_portable_spawn): Do not expect execv to return 0. (__gnat_portable_no_block_spawn): Likewise. --- diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c index 60cfa932990a..6781728f45e2 100644 --- a/gcc/ada/adaint.c +++ b/gcc/ada/adaint.c @@ -2424,8 +2424,10 @@ __gnat_portable_spawn (char *args[] ATTRIBUTE_UNUSED) if (pid == 0) { /* The child. */ - if (execv (args[0], MAYBE_TO_PTR32 (args)) != 0) - _exit (1); + execv (args[0], MAYBE_TO_PTR32 (args)); + + /* execv() returns only on error */ + _exit (1); } /* The parent. */ @@ -2822,8 +2824,10 @@ __gnat_portable_no_block_spawn (char *args[] ATTRIBUTE_UNUSED) if (pid == 0) { /* The child. */ - if (execv (args[0], MAYBE_TO_PTR32 (args)) != 0) - _exit (1); + execv (args[0], MAYBE_TO_PTR32 (args)); + + /* execv() returns only on error */ + _exit (1); } return pid;