10-220 To: J3 From: Nick Maclaren Subject: Interop TR: Naming conventions (5.2.1 Summary of Contents) Date: 2010 October 07 Reference: 10-165r2.pdf The term 'global namespace' corresponds to C++ and not C. Even worse, C uses the term 'namespace' with a very different meaning! Fortran should not go there. Also, reserving names for future use is a good idea, though WG5 cannot constrain WG14. The following proposes a fairly hard line - less harsh restrictions are possible, but I doubt that this will inconvenience anyone sane. Yes, I know that the specification is revolting, but there are C-ish reasons for it! Edits to 10-165r2: [9:19-20] The paragraph "No names other than those specified ...." should be replace by a new paragraph and a NOTE: "A C source file that includes the header ISO_Fortran_binding.h shall not use any names starting CFI_ that are not defined in the header. All names defined in the header begin with CFI_ or an underscore character, or are defined by a standard C header that it includes." "NOTE 5.0+ The header should avoid defining any names by including standard C headers other than ones that are reserved by the C standard. If this header is included into a C++ program, no names other than those specified should be placed in the global namespace."