aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2021-04-15 23:22:32 +0200
committerPierre-Marie de Rodat <derodat@adacore.com>2021-10-25 15:07:20 +0000
commit1be75e7451b00aca32ed96be43223ee67d163429 (patch)
tree8a3d49610b9e2da40058198a75643f2e570e8c22 /gcc
parentc9d2cc2ac82593bd6a8eceb08d3cbf17ab1bea2c (diff)
downloadgcc-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.c12
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;