Thread View: vmsnet.alpha
3 messages
3 total messages
Started by George J. Carrette
Mon, 14 Dec 1992 15:02
Should /standard=xxxx affect link behavior?
Author: George J. Carrette
Date: Mon, 14 Dec 1992 15:02
Date: Mon, 14 Dec 1992 15:02
20 lines
998 bytes
998 bytes
Here is an interesting one, compiling a file with
the setting /STANDARD=RELAXED_ANSI89 vs /STANDARD=portable
has an effect on how the linker sees external references
the the DECC$SHR.EXE
eg. using SIOD 2.9 as available from various servers around the internet:
$ cc /STANDARD=portable slib
$ link/exe=siod.exe siod.obj,slib.obj,sliba.obj,trace.obj
$ cc /STANDARD=RELAXED_ANSI89 slib
$ link/exe=siod.exe siod.obj,slib.obj,sliba.obj,trace.obj
%LINK-W-NUDFSYMS, 1 undefined symbol:
%LINK-I-UDFSYM, TIMES
%LINK-W-USEUNDEF, undefined symbol TIMES referenced
in psect $LINK$ offset %X00000040
in module SLIB file USER$DISK:[GJC.SIOD]SLIB.OBJ;4
This is with DECC 1.3-002.
Re: Should /standard=xxxx affect link behavior?
Author: Pat Rankin
Date: Tue, 15 Dec 1992 01:53
Date: Tue, 15 Dec 1992 01:53
21 lines
1534 bytes
1534 bytes
In article <4052@mitech.com>, gjc@mitech.com (George J. Carrette) writes...
> Here is an interesting one, compiling a file with
> the setting /STANDARD=RELAXED_ANSI89 vs /STANDARD=portable
> has an effect on how the linker sees external references
> the the DECC$SHR.EXE
No, not really. It has an effect on whether or not the compiler
automatically attaches the "decc$" prefix to the external name. Of course
that does indirectly affect linker behavior.
> %LINK-I-UDFSYM, TIMES
times() is not an ANSI standard function, so the compiler can not
usurp external identifier `times' from the user's namespace when it's
operating in ANSI mode. DEC C is doing exactly the right thing here.
If you look through <time.h>, you'll see a comment telling you to use
/undefine="__HIDE_FORBIDDEN_NAMES" when compiling. In the one I'm looking
at it says that that's needed for strict ANSI mode rather than relaxed.
It should apply to any mode which purports to be standard conforming.
Pat Rankin, rankin@eql.caltech.edu
Re: Should /standard=xxxx affect link behavior?
Author: George J. Carrette
Date: Tue, 15 Dec 1992 13:14
Date: Tue, 15 Dec 1992 13:14
27 lines
1587 bytes
1587 bytes
In article <14DEC199218530277@eql.caltech.edu>, rankin@eql.caltech.edu (Pat Rankin) writes: > times() is not an ANSI standard function, so the compiler can not > usurp external identifier `times' from the user's namespace when it's > operating in ANSI mode. DEC C is doing exactly the right thing here. > If you look through <time.h>, you'll see a comment telling you to use > /undefine="__HIDE_FORBIDDEN_NAMES" when compiling. In the one I'm looking > at it says that that's needed for strict ANSI mode rather than relaxed. > It should apply to any mode which purports to be standard conforming. > > Pat Rankin, rankin@eql.caltech.edu Mine says that too. But it turned out I also needed /PREFIX_LIBRARY_ENTRIES=ALL_ENTRIES Sorting out all these compiler switches. Argh! Really, my problem is that I didn't sit down and study this stuff. I just let some guy at the DEC porting center "do it for me." Obviously disadvantages to that. For example, all of a sudden with the new C compiler (X1.3) lots of things work that I was having trouble with before. I'm stilling trying to track down how some of my files seem to have NOMEMBER_ALIGNMENT turned on without my knowing it. -gjc
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads