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.