On Aug 26 2012, Jeremiah Willcock wrote:
Does "linker names" come under any of the categories so far? I know that some of the C compiler extensions to set linker names explicitly do not treat them as identifiers in the source code. Are those worth adding explicitly (to all languages, probably)?
The technical term in both C and Fortran is "external names", and Fortran 2003 BIND(C,NAME=...) sets ones that are not identifiers. So the current wording is fine. Just to be really nasty, many systems did/do have the concept of "linker names" that are beyond any name concept in any of the languages they support and, despite that, they can clash. But there is no reasonable way to say "An MPI implementation must avoid provoking its linker into creating artificial names beginning MPI_". This has arisen in various language standards, and the universal decision was to keep the standard's wording simple - even C never got into this one, though it was raised! Regards, Nick Maclaren.