GCC relies on the libiberty "pex" family of routines, which are
much more narrow in scope, and have in fact been ported to several
non-UNIX systems, including even MS-DOS.  Providing a port of "pex"
to MVS should be much easier that porting a full Unix "system" or
"fork" feature.

Ok.  But I don't even have much of system() yet.

B.t.w. if you cannot execute sub-tasks at all, how does the
MVS GCC invoke the preprocessor (I think this was still a
separate process in 3.2) and the core compiler (cc1) from
the compiler driver?   Do you even have a separate compiler
driver?

Sleight of hand.  :-)

#ifdef SINGLE_EXECUTABLE
  int ret_code = 0;
#endif
2836a2853,2872
#ifdef SINGLE_EXECUTABLE
     {
         int cnt = 0;

         while (commands[i].argv[cnt] != NULL)
         {
             cnt++;
         }
         if (strcmp(string, "cpp0") == 0)
         {
             ret_code = cpp(cnt, commands[i].argv);
             if (ret_code != 0) break;
         }
         else if (strcmp(string, "cc1") == 0)
         {
             ret_code = toplev_main(cnt, commands[i].argv);
             if (ret_code != 0) break;
         }
      }
#else
2850c2886
<
---
#endif
2853a2890,2892
#ifdef SINGLE_EXECUTABLE
    return (ret_code);


BTW, here's what I am going with:

C:\devel\gcc\gcc>cvs diff -r release-3_2_3 debug.c
Index: debug.c
===================================================================
RCS file: c:\cvsroot/gcc/gcc/debug.c,v
retrieving revision 1.1.1.1
diff -r1.1.1.1 debug.c
20a21,35
#include "output.h"
#include "flags.h"

static void
debug_source_line (line, text)
     unsigned int line ATTRIBUTE_UNUSED;
     const char *text ATTRIBUTE_UNUSED;
{
   if (flag_debug_asm)
   {
       app_enable();
       fprintf(asm_out_file, "%s %d %s\n", ASM_COMMENT_START, line, text);
       app_disable();
   }
}
34c49
<   debug_nothing_int_charstar, /* source_line */
---
  debug_source_line,  /* source_line */


Thanks again for everyone's assistance.

Just need to find out who's emitting this warning:

C:\devel\gcc\gcc>gccmvs -DUSE_MEMMGR -Os -S -ansi -pedantic-errors -DHAVE_CONFIG
_H -DIN_GCC -DPUREISO -I ../../pdos/pdpclib -I . -I config/i370 -I ../include -d
A world.c       -g
world.c:0: warning: `-g': unknown or unsupported -g option

and it'll be a wrap.  :-)

There will be some very happy people who are currently manually
putting in __asm__ lines to get insight.  :-)

BFN.  Paul.

Reply via email to