Hello!
At present, `clang` throws these warnings on master: ``` highlighting.c:1011:3: warning: 'sizeof (((HLKeyword *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] init_styleset_case(CONF); ^~~~~~~~~~~~~~~~~~~~~~~~ highlighting.c:966:5: note: expanded from macro 'init_styleset_case' HL_N_ENTRIES(highlighting_keywords_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1014:3: warning: 'sizeof (((HLKeyword *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] init_styleset_case(DIFF); ^~~~~~~~~~~~~~~~~~~~~~~~ highlighting.c:966:5: note: expanded from macro 'init_styleset_case' HL_N_ENTRIES(highlighting_keywords_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1032:3: warning: 'sizeof (((HLKeyword *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] init_styleset_case(MAKE); ^~~~~~~~~~~~~~~~~~~~~~~~ highlighting.c:966:5: note: expanded from macro 'init_styleset_case' HL_N_ENTRIES(highlighting_keywords_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1034:3: warning: 'sizeof (((HLKeyword *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] init_styleset_case(MARKDOWN); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ highlighting.c:966:5: note: expanded from macro 'init_styleset_case' HL_N_ENTRIES(highlighting_keywords_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1040:3: warning: 'sizeof (((HLKeyword *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] init_styleset_case(PO); ^~~~~~~~~~~~~~~~~~~~~~ highlighting.c:966:5: note: expanded from macro 'init_styleset_case' HL_N_ENTRIES(highlighting_keywords_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1050:3: warning: 'sizeof (((HLKeyword *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] init_styleset_case(TXT2TAGS); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ highlighting.c:966:5: note: expanded from macro 'init_styleset_case' HL_N_ENTRIES(highlighting_keywords_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1091:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(ABAQUS); ^~~~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1092:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(ADA); ^~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1093:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(ASM); ^~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1094:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(BASIC); ^~~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1095:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(BATCH); ^~~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1097:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(CAML); ^~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1098:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(CMAKE); ^~~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1100:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(COFFEESCRIPT); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1101:3: warning: 'sizeof (((HLKeyword *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(CONF); ^~~~~~~~~~~~~~~~~~~ highlighting.c:1074:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_keywords_##LANG_NAME), \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1101:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(CONF); ^~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1102:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(CSS); ^~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1103:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(D); ^~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1104:3: warning: 'sizeof (((HLKeyword *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(DIFF); ^~~~~~~~~~~~~~~~~~~ highlighting.c:1074:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_keywords_##LANG_NAME), \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1104:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(DIFF); ^~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1105:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(LISP); ^~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1106:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(ERLANG); ^~~~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1107:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(DOCBOOK); ^~~~~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1109:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(F77); ^~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1110:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(FORTH); ^~~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1111:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(FORTRAN); ^~~~~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1113:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(HASKELL); ^~~~~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1119:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(JULIA); ^~~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1120:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(LATEX); ^~~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1121:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(LUA); ^~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1122:3: warning: 'sizeof (((HLKeyword *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(MAKE); ^~~~~~~~~~~~~~~~~~~ highlighting.c:1074:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_keywords_##LANG_NAME), \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1122:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(MAKE); ^~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1123:3: warning: 'sizeof (((HLKeyword *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(MARKDOWN); ^~~~~~~~~~~~~~~~~~~~~~~ highlighting.c:1074:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_keywords_##LANG_NAME), \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1123:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(MARKDOWN); ^~~~~~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1124:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(MATLAB); ^~~~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1125:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(NSIS); ^~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1127:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(PASCAL); ^~~~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1128:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(PERL); ^~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1130:3: warning: 'sizeof (((HLKeyword *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(PO); ^~~~~~~~~~~~~~~~~ highlighting.c:1074:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_keywords_##LANG_NAME), \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1130:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(PO); ^~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1131:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(POWERSHELL); ^~~~~~~~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1132:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(PYTHON); ^~~~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1133:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(R); ^~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1134:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(RUBY); ^~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1135:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(RUST); ^~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1136:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(SH); ^~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1137:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(SMALLTALK); ^~~~~~~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1138:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(SQL); ^~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1139:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(TCL); ^~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1140:3: warning: 'sizeof (((HLKeyword *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(TXT2TAGS); ^~~~~~~~~~~~~~~~~~~~~~~ highlighting.c:1074:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_keywords_##LANG_NAME), \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1140:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(TXT2TAGS); ^~~~~~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1141:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(VHDL); ^~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1142:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(VERILOG); ^~~~~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ highlighting.c:1144:3: warning: 'sizeof (((HLProperty *)((void *)0)))' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div] styleset_case(YAML); ^~~~~~~~~~~~~~~~~~~ highlighting.c:1076:5: note: expanded from macro 'styleset_case' HL_N_ENTRIES(highlighting_properties_##LANG_NAME)); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./highlightingmappings.h:72:48: note: expanded from macro 'HL_N_ENTRIES' #define HL_N_ENTRIES(array) ((array != NULL) ? G_N_ELEMENTS(array) : 0) ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:820:42: note: expanded from macro 'G_N_ELEMENTS' #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) ~~~~~~~~~~~~ ^ ```
This PR fixes these warnings.
Thanks! You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/2889
-- Commit Summary --
* Use empty array instead of NULL pointer
-- File Changes --
M src/highlightingmappings.h (99)
-- Patch Links --
https://github.com/geany/geany/pull/2889.patch https://github.com/geany/geany/pull/2889.diff
@b4n requested changes on this pull request.
The C standard forbids zero-size arrays. Yes, [GCC](https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html) and Clang do allow them as an extension (yet it's not *truly* 0-sized, but basically a VLA), GCC even discourages usage in your use case:
Declaring zero-length arrays [anywhere but as the last member of a structure], including as interior members of structure objects or as non-member objects, is discouraged
At any rate, it's not valid ISO C, so any compiler would be right to forbid it. And both GCC and Clang are unhappy about them when passed `-pedantic` (GCC: *error: zero or negative size array ‘foo’*, CLang: *warning: zero size arrays are an extension [-Wzero-length-array]*).
--- It's sad Clang doesn't see that the `NULL` check makes its warning moot, but the fix you propose is not OK as it's not valid C -- and thus likely rejected (rightly) by some compilers (I would guess MSVC might not like it, and maybe some other less common ones).
@rootkea If you are using the same options as [here](https://github.com/geany/geany/issues/2891#issuecomment-913481562), especially -O0 that might explain why the compiler does not notice the protection of the null check. IIUC compilers need something like -O2 to do the data flow analysis that such checks depend on. Maybe you could check if you get the warnings with -O2?
@elextr I still see these warnings with `clang version 10.0.0-4ubuntu1` CFLAGS set to `-Wall -g -O2`.
@b4n I'll look into this tomorrow. :)
Unfortunately, I couldn't figure out the way to fix these warnings so closing this PR. I just opened #2906 to track these warnings.
Closed #2889.
github-comments@lists.geany.org