Micah Cowan wrote: > Several years ago, I began work on explaining the differences between > C90, C99, and common vendor extensions; I never finished, but the > section on inline functions may be helpful: > http://micah.cowan.name/tech/c-changes.html#N0.238
Well, neither your writeup nor mine <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00055.html> makes the issue really clear. The only clear thing is what "static inline" means. > Perhaps the best practice going forward, would be to allow feature > testing that could produce macros corresponding to each desired > behavior. Additionally to such macros, one also needs a code style/convention that makes it possible to write such code easily, that - looks maintainable, - works also in C++ mode, - avoids bloating object files and executables on any platform (the famous C++ problem, where excessive use of inline functions and templates leads to huge executable - example: 'boost'). We have tried different approaches (see e.g. xalloc.h or gl_list.h), and I don't think they fulfill the three requirements above. Bruno
