diff options
author | Piotr Trojanek <trojanek@adacore.com> | 2021-04-15 23:22:32 +0200 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2021-10-25 15:07:20 +0000 |
commit | 1be75e7451b00aca32ed96be43223ee67d163429 (patch) | |
tree | 8a3d49610b9e2da40058198a75643f2e570e8c22 /gcc | |
parent | c9d2cc2ac82593bd6a8eceb08d3cbf17ab1bea2c (diff) | |
download | gcc-1be75e7451b00aca32ed96be43223ee67d163429.zip gcc-1be75e7451b00aca32ed96be43223ee67d163429.tar.gz gcc-1be75e7451b00aca32ed96be43223ee67d163429.tar.bz2 |
[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.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/adaint.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c index 60cfa93..6781728 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; |