angel@FLIPPER.MIAMI.EDU (angel li) (01/16/90)
On VMS, using g++ 1.36.3-, the following code does not compile:
#define stdin $$PsectAttributes_NOSHR$$stdin
#define stdout $$PsectAttributes_NOSHR$$stdout
#define stderr $$PsectAttributes_NOSHR$$stderr
extern int *stdin;
extern int *stdout;
extern int *stderr;
extern void frob(int *, int *);
void
sub()
{
frob(stdin, stdout);
}
The compiler complains on lines 5,6,7:
type name expected before `*'
If the leading "$$" characters are replaced by "_$" in lines 1, 2, and 3 ,
the file compiles cleanly. Dollars are legal identifier characters on VMS.
tiemann@AI.MIT.EDU (Micheal Tiemann) (01/16/90)
Date: Mon, 15 Jan 90 14:25:27 EST
From: angel@flipper.miami.edu (angel li)
On VMS, using g++ 1.36.3-, the following code does not compile:
#define stdin $$PsectAttributes_NOSHR$$stdin
#define stdout $$PsectAttributes_NOSHR$$stdout
#define stderr $$PsectAttributes_NOSHR$$stderr
extern int *stdin;
extern int *stdout;
extern int *stderr;
extern void frob(int *, int *);
void
sub()
{
frob(stdin, stdout);
}
The compiler complains on lines 5,6,7:
type name expected before `*'
If the leading "$$" characters are replaced by "_$" in lines 1, 2, and 3 ,
the file compiles cleanly. Dollars are legal identifier characters on VMS.
If you want to use $, then give the compiler another token to do
internal naming. #define NO_DOLLAR_IN_LABEL and recompile those files
which reference that #ifdef.
Michael