@techee commented on this pull request.
EXTRA_DIST = \
gnu_regex/README.txt
libctags_la_LIBADD += libgnu_regex.la -AM_CPPFLAGS += -I$(srcdir)/gnu_regex +AM_CPPFLAGS += -I$(srcdir)/gnu_regex -D__USE_GNU
What is the problem if only defining when building the gnu_regex library exactly?
I was trying to eliminate the warnings below - these warnings come from the `regex.h` header which is included by other ctags sources (not the gnu_regex ones).
But we could also define `__USE_GNU` within `regex.h` itself if you are worried it could do something unexpected elsewhere.
``` CC dsl/optscript.lo CC dsl/es.lo CC main/args.lo CC libreadtags/readtags.lo CC main/colprint.lo CC main/CommonPrelude.lo CC main/debug.lo CC main/dependency.lo CC main/entry.lo In file included from dsl/es.c:35: ./gnu_regex/regex.h:367:3: warning: declaration does not declare anything [-Wmissing-declarations] 367 | unsigned long int __REPB_PREFIX(used); | ^~~~~~~~~~~~~~~~~ In file included from main/dependency.c:18: In file included from main/parse_p.h:17: In file included from main/lregex_p.h:27: ./gnu_regex/regex.h:367:3: warning: declaration does not declare anything [-Wmissing-declarations] 367 | unsigned long int __REPB_PREFIX(used); | ^~~~~~~~~~~~~~~~~ In file included from main/debug.c:24: In file included from main/parse_p.h:17: In file included from main/lregex_p.h:27: ./gnu_regex/regex.h:367:3: warning: declaration does not declare anything [-Wmissing-declarations] 367 | unsigned long int __REPB_PREFIX(used); | ^~~~~~~~~~~~~~~~~ In file included from main/entry.c:56: In file included from main/parse_p.h:17: In file included from main/lregex_p.h:27: ./gnu_regex/regex.h:367:3: warning: declaration does not declare anything [-Wmissing-declarations] 367 | unsigned long int __REPB_PREFIX(used); | ^~~~~~~~~~~~~~~~~ CC main/entry_private.lo 1 warning generated. CC main/error.lo 1 warning generated. CC main/field.lo CC main/flags.lo CC main/fmt.lo In file included from main/entry_private.c:13: In file included from main/parse_p.h:17: In file included from main/lregex_p.h:27: ./gnu_regex/regex.h:367:3: warning: declaration does not declare anything [-Wmissing-declarations] 367 | unsigned long int __REPB_PREFIX(used); | ^~~~~~~~~~~~~~~~~ 1 warning generated. CC main/htable.lo In file included from main/field.c:27: In file included from main/parse_p.h:17: In file included from main/lregex_p.h:27: ./gnu_regex/regex.h:367:3: warning: declaration does not declare anything [-Wmissing-declarations] 367 | unsigned long int __REPB_PREFIX(used); | ^~~~~~~~~~~~~~~~~ CC main/keyword.lo CC main/kind.lo CC main/lregex.lo 1 warning generated. 1 warning generated. CC main/lregex-default.lo CC main/lxpath.lo 1 warning generated. CC main/main.lo CC main/mbcs.lo In file included from main/kind.c:24: In file included from main/parse_p.h:17: In file included from main/lregex_p.h:27: ./gnu_regex/regex.h:367:3: warning: declaration does not declare anything [-Wmissing-declarations] 367 | unsigned long int __REPB_PREFIX(used); | ^~~~~~~~~~~~~~~~~ In file included from main/lregex.c:38: In file included from main/parse_p.h:17: In file included from main/lregex_p.h:27: ./gnu_regex/regex.h:367:3: warning: declaration does not declare anything [-Wmissing-declarations] 367 | unsigned long int __REPB_PREFIX(used); | ^~~~~~~~~~~~~~~~~ CC main/mio.lo CC main/nestlevel.lo In file included from main/lregex-default.c:19: ./gnu_regex/regex.h:367:3: warning: declaration does not declare anything [-Wmissing-declarations] 367 | unsigned long int __REPB_PREFIX(used); | ^~~~~~~~~~~~~~~~~ 1 warning generated. In file included from main/lxpath.c:16: In file included from main/parse_p.h:17: In file included from main/lregex_p.h:27: ./gnu_regex/regex.h:367:3: warning: declaration does not declare anything [-Wmissing-declarations] 367 | unsigned long int __REPB_PREFIX(used); | ^~~~~~~~~~~~~~~~~ In file included from main/main.c:61: In file included from main/parse_p.h:17: In file included from main/lregex_p.h:27: ./gnu_regex/regex.h:367:3: warning: declaration does not declare anything [-Wmissing-declarations] 367 | unsigned long int __REPB_PREFIX(used); | ^~~~~~~~~~~~~~~~~ 1 warning generated. 1 warning generated. CC main/numarray.lo CC main/objpool.lo CC main/options.lo 1 warning generated. CC main/param.lo CC main/parse.lo CC main/portable-scandir.lo CC main/promise.lo CC main/ptag.lo CC main/ptrarray.lo In file included from main/options.c:32: In file included from main/parse_p.h:17: In file included from main/lregex_p.h:27: ./gnu_regex/regex.h:367:3: warning: declaration does not declare anything [-Wmissing-declarations] 367 | unsigned long int __REPB_PREFIX(used); | ^~~~~~~~~~~~~~~~~ In file included from main/parse.c:32: In file included from main/parse_p.h:17: In file included from main/lregex_p.h:27: ./gnu_regex/regex.h:367:3: warning: declaration does not declare anything [-Wmissing-declarations] 367 | unsigned long int __REPB_PREFIX(used); | ^~~~~~~~~~~~~~~~~ main/options.c:2818:15: warning: cast to smaller integer type 'xtagType' (aka 'enum eXtagType') from 'bool *' [-Wpointer-to-enum-cast] 2818 | xtagType t = (xtagType)option->pValue; | ^~~~~~~~~~~~~~~~~~~~~~~~ CC main/rbtree.lo CC main/read.lo CC main/repoinfo.lo In file included from main/promise.c:14: In file included from main/parse_p.h:17: In file included from main/lregex_p.h:27: ./gnu_regex/regex.h:367:3: warning: declaration does not declare anything [-Wmissing-declarations] 367 | unsigned long int __REPB_PREFIX(used); | ^~~~~~~~~~~~~~~~~ In file included from main/ptag.c:21: In file included from main/parse_p.h:17: In file included from main/lregex_p.h:27: ./gnu_regex/regex.h:367:3: warning: declaration does not declare anything [-Wmissing-declarations] 367 | unsigned long int __REPB_PREFIX(used); | ^~~~~~~~~~~~~~~~~ 1 warning generated. 1 warning generated. CC main/routines.lo CC main/seccomp.lo CC main/script.lo 1 warning generated. In file included from main/read.c:28: In file included from main/parse_p.h:17: In file included from main/lregex_p.h:27: ./gnu_regex/regex.h:367:3: warning: declaration does not declare anything [-Wmissing-declarations] 367 | unsigned long int __REPB_PREFIX(used); | ^~~~~~~~~~~~~~~~~ CC main/selectors.lo CC main/sort.lo 2 warnings generated. CC main/stats.lo CC main/strlist.lo 1 warning generated. CC main/tokeninfo.lo CC main/trace.lo In file included from main/selectors.c:17: In file included from main/parse_p.h:17: In file included from main/lregex_p.h:27: ./gnu_regex/regex.h:367:3: warning: declaration does not declare anything [-Wmissing-declarations] 367 | unsigned long int __REPB_PREFIX(used); | ^~~~~~~~~~~~~~~~~ CC main/trashbox.lo CC main/unwindi.lo CC main/utf8_str.lo CC main/vstring.lo 1 warning generated. CC main/writer-ctags.lo CC main/writer-etags.lo CC main/writer-json.lo CC main/writer-xref.lo CC main/writer.lo CC main/xtag.lo CC optlib/forth.lo In file included from main/writer-ctags.c:17: In file included from main/parse_p.h:17: In file included from main/lregex_p.h:27: ./gnu_regex/regex.h:367:3: warning: declaration does not declare anything [-Wmissing-declarations] 367 | unsigned long int __REPB_PREFIX(used); | ^~~~~~~~~~~~~~~~~ In file included from main/writer-etags.c:19: In file included from main/parse_p.h:17: In file included from main/lregex_p.h:27: ./gnu_regex/regex.h:367:3: warning: declaration does not declare anything [-Wmissing-declarations] 367 | unsigned long int __REPB_PREFIX(used); | ^~~~~~~~~~~~~~~~~ CC optlib/meson.lo 1 warning generated. 1 warning generated. CC optlib/scss.lo CC parsers/cxx/cxx.lo CC parsers/cxx/cxx_debug.lo CC parsers/cxx/cxx_debug_type.lo In file included from main/xtag.c:18: In file included from main/parse_p.h:17: In file included from main/lregex_p.h:27: ./gnu_regex/regex.h:367:3: warning: declaration does not declare anything [-Wmissing-declarations] 367 | unsigned long int __REPB_PREFIX(used); | ^~~~~~~~~~~~~~~~~ ```