TCON suggests placing _tcon members last in structs. Placing variable
sized structs anywhere but last is apparently a gcc extension that
gives warnings under clang.
This applies to tlists because they use TCON internally. Update the
docs and examples to place tlists last and so compile without clang
warnings.
There are other places where this occurs; they will be dealt with
separately.
Signed-off-by: Jon Griffiths <jon_p_griffiths@yahoo.com>
* };
* struct parent {
* const char *name;
* };
* struct parent {
* const char *name;
- * struct tlist_children children;
* unsigned int num_children;
* unsigned int num_children;
+ * struct tlist_children children;
struct parent {
const char *name;
struct parent {
const char *name;
- struct tlist_children children;
unsigned int num_children;
unsigned int num_children;
+ struct tlist_children children;
*
* This declares a structure "struct tlist_@suffix" to use for
* lists containing this type. The actual list can be accessed using
*
* This declares a structure "struct tlist_@suffix" to use for
* lists containing this type. The actual list can be accessed using
- * ".raw" or tlist_raw().
+ * ".raw" or tlist_raw(). For maximum portability, place tlists
+ * embedded in structures as the last member.
*
* Example:
* // Defines struct tlist_children
* TLIST_TYPE(children, struct child);
* struct parent {
* const char *name;
*
* Example:
* // Defines struct tlist_children
* TLIST_TYPE(children, struct child);
* struct parent {
* const char *name;
- * struct tlist_children children;
* unsigned int num_children;
* unsigned int num_children;
+ * struct tlist_children children;