> >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