ron@brl-tgr.ARPA (Ron Natalie <ron>) (10/11/84)
Another approach is to declare C-externs as C-specific. Then make them eight characters significant like non-externals are now. To use things that are really external to "C" you could add a construct such as: symdef foo "FOO$BAR" Where the external symbol name foo would actually use the symbol FOO$BAR in the machine code. Generally, one doesn't care about what external C symbols look like (they all have _ in front of them on all machines, right? wrong.). It only comes when we try to use C with some language outside of the C environment (typically assembler). Frequently, there are symbols that you wish to use that you can't make using normal C symbols. This increases portability. First, any external symbol that is only-C and contstrained to whatever other standards that are made for C names in general will be portable to all macines. Second, if you need to introduce a REAL external symbol, you can now do so in a portable way my mapping it to a C symbol name that obeys the rules for all the rest of the C symbols. -Ron