> >This last patch (4/4) contains DJGPP related changes to adaint.c
> >(except one which belongs to patch 1/4).
This patch is quite intrusive. Are all these changes really needed?
> char
> __gnat_get_default_identifier_character_set (void)
> {
> +#if defined (__DJGPP__)
> + return 'p';
> +#else
> return '1';
> +#endif
> }
Why is this needed?
> -#elif defined (_WIN32)
> +#elif defined (__DJGPP__) || defined (_WIN32)
> /* args[0] must be quotes as it could contain a full pathname with spaces
> */
> char *args_0 = args[0];
> args[0] = (char *)xmalloc (strlen (args_0) + 3);
> @@ -2606,6 +2630,12 @@ __gnat_portable_no_block_spawn (char *args[]
> ATTRIBUTE_UNUSED)
> /* Not supported. */
> return -1;
>
> +#elif defined(__DJGPP__)
> + if (spawnvp (P_WAIT, args[0], args) != 0)
> + return -1;
> + else
> + return 0;
> +
> #elif defined (_WIN32)
>
> HANDLE h = NULL;
> @@ -2649,6 +2679,7 @@ __gnat_portable_wait (int *process_status)
>
> pid = win32_wait (&status);
>
> +#elif defined (__DJGPP__)
> #else
You can't add an empty #elif without explaining it with a proper
comment.
Arno