Hi, The standardization of our #ifndef wrappers came up in bug 881579. Here are some examples:
- jsapi.h: jsapi_h___ - gc/Barrier.h: jsgc_barrier_h___ - vm/Stack.h: Stack_h__ - ion/Ion.h: jsion_ion_h__ Observations: - Omitting the directory is dangerous if we ever have two files with different directories but the same name. - Decapitalizing filenames seems odd. - Adding the |js| prefix for files that don't have a |js| prefix seems odd. - The first two end with three underscores, and the last two end with two underscores. (We have 149 headers that use 2, and 99 that use 3.) I propose that we do the following: take the full path within js/src, replace '/' and '.' with '_', and add two underscores to the end. For example: - jsapi.h: jsapi_h__ - gc/Barrier.h: gc_Barrier_h__ - vm/Stack.h: vm_Stack_h__ - ion/Ion.h: ion_Ion_h__ Thoughts? ---- Relatedly, we sometimes omit header directories. E.g. instead of #include "ion/Ion.h", we do #include "Ion.h". This only works for headers that are in the same directory, e.g. in ion/AsmJSLink.h we have #include "AsmJSModule.h" // |ion/| omitted because AsmJSLink.h is in ion/ #include "frontend/BytecodeCompiler.h" // |frontend/| present (Also, we add -I($srcdir)/yarr and -I($srcdir)/assembler for some reason. which allows those prefixes to be omitted.) I propose that we require the directories, and get rid of the yarr and assembler -I options. This increases consistency of the #include lines, and makes putting them in sorted order easier. Thoughts? ---- I figure Luke has final say on these matters. I'll update the style guide with whatever we decide. Thanks. Nick ps: if you're worried about enforcement of the style, I'm working towards a #include-checking script in https://bugzilla.mozilla.org/show_bug.cgi?id=880088. _______________________________________________ dev-tech-js-engine-internals mailing list dev-tech-js-engine-internals@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals